我是新的YQL,我发现查询从股票
中检索单个报价 select * from yahoo.finance.quote symbol = "YHOO"
和另一个查询,以获取相同的信息,但在日期范围
select * from yahoo.finance.historicaldata symbol = "YHOO" and startDate = "2016-09-01" and endDate = "2016-09-22"
我无法弄清楚的是:我们如何从一整天的交易中检索报价?
我目前正在使用雅虎财务应用程序,并注意到它们提供了关于价格变化的良好图形,所以我认为有一种方法可以实现它。
我也尝试阅读yql tables存储库,但在我使用的两个表上都没有(至少是明确的)线索,告知如何传递小时范围。
答案 0 :(得分:2)
您可以通过直接(不是通过YQL)查询Yahoo Finance API端点并接收JSON格式的列表来检索一天的完整报价。
结束点为http://chartapi.finance.yahoo.com/instrument/1.0/$symbol/chartdata;type=$type;range=$range/json/
,其中:
$symbol
是股票代码,例如Apple的AAPL
或者Xetra的BASF的BAS.DE
$type
是查询的类型,您可以查询quote
,sma
,close
,volume
$range
是1d
,5d
,10d
,15d
示例查询将是
http://chartapi.finance.yahoo.com/instrument/1.0/aapl/chartdata;type=quote;range=1d/json/
它会在最后一天为您提供AAPL
的所有报价。
据我所知,您只能查询过去15天内的报价。我还没有找到一种方法来查询过去的其他日子。
只是我的以自我为中心的提示:查看我的PHP包YahooFinanceQuery on Github,它使用上述查询的实现并处理返回的JSON以过滤结果。
答案 1 :(得分:1)
作为我之前回答的更新/扩展,我找到了一个新的API端点来下载每日报价。 雅虎在2017年初改变了他们的API终端。
新端点是:
https://query1.finance.yahoo.com/v8/finance/chart/{$symbol}?range={$range}&interval={$interval}
,其中:
一个例子是:https://query1.finance.yahoo.com/v8/finance/chart/AAPL?range=10d&interval=1m
您从过去10个交易日收到ALCL股票的OHLCV报价,间隔为1分钟。全部采用JSON格式。
并非所有$ range参数都将返回具有指定$ interval的结果,但会返回最接近的可能组合。例如," max"范围将使用" 1mo"返回所有报价。间隔。