Search code examples
restyqlyahoo-financestockquotes

Query to retrieve stock quotes variation from a single day


I'm quite new YQL and i've found the query to retrieve a single quote from a stock

select * from yahoo.finance.quote symbol = "YHOO"

and another query to get this same information but on date range

select * from yahoo.finance.historicaldata symbol = "YHOO" and startDate = "2016-09-01" and endDate = "2016-09-22"

What i could not figure out was: how could we retrieve quotes from a full day of trading?

I'm currently using the Yahoo finance app and notice they provide a good graphic about the price variation, so i presume there is a way to achieve it.

I also tried to read yql tables repository but on both table that i am using there is no (at least explicit) clue of how to pass hour range.


Solution

  • You can retrieve the complete quotes of a day by querying the Yahoo Finance API endpoint directly (not via YQL) and receiving a list in JSON format.

    The end point is http://chartapi.finance.yahoo.com/instrument/1.0/$symbol/chartdata;type=$type;range=$range/json/, where:

    • $symbol is the stock ticker symbol, e.g. AAPL for Apple or BAS.DE for BASF traded at Xetra
    • $type is the type of the query, you can query for quote, sma, close, volume
    • $range is the desired latest days with 1d, 5d, 10d, 15d

    An example query would be http://chartapi.finance.yahoo.com/instrument/1.0/aapl/chartdata;type=quote;range=1d/json/ which gives you all quotes from AAPL from the last day.

    As far as I know, you can only query for the quotes up to the last 15 days. I have not yet found a way to query for some other day further in the past.

    Just my self-centric hint: check out my PHP package YahooFinanceQuery on Github, which uses an implementation of the above query and handles the returning JSON to filter the results.