查询从一天检索股票报价变化

时间:2016-09-24 12:08:09

标签: rest yql yahoo-finance stockquotes

我是新的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存储库,但在我使用的两个表上都没有(至少是明确的)线索,告知如何传递小时范围。

2 个答案:

答案 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是查询的类型,您可以查询quotesmaclosevolume
  • $range1d5d10d15d
  • 所需的最新日期

示例查询将是 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},其中:

  • $ symbol是股票代码,例如AAPL for Apple
  • $ range是查询的理想范围,允许的参数为[1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max]
  • $ interval是报价的期望间隔,例如每5分钟,允许参数为[1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo]

一个例子是:https://query1.finance.yahoo.com/v8/finance/chart/AAPL?range=10d&interval=1m您从过去10个交易日收到ALCL股票的OHLCV报价,间隔为1分钟。全部采用JSON格式。

并非所有$ range参数都将返回具有指定$ interval的结果,但会返回最接近的可能组合。例如," max"范围将使用" 1mo"返回所有报价。间隔。