查询以检索一天的股票报价变化
Query to retrieve stock quotes variation from a single day
我是 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"
我想不通的是:我们如何从一整天的交易中检索报价?
我目前正在使用 Yahoo 财经应用程序并注意到它们提供了关于价格变化的良好图形,所以我认为有一种方法可以实现它。
我也尝试阅读 yql tables 存储库,但在我使用的两个 table 上,没有(至少是明确的)关于如何通过小时范围的线索。
您可以通过直接查询 Yahoo Finance API 端点(而不是通过 YQL)并接收 JSON 格式的列表来检索一天的完整报价。
终点是http://chartapi.finance.yahoo.com/instrument/1.0/$symbol/chartdata;type=$type;range=$range/json/
,其中:
$symbol
是股票代码,例如AAPL
苹果或 BAS.DE
巴斯夫在 Xetra 交易
$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 以过滤结果。
作为对我之前回答的 update/extension,我找到了一个新的 API 端点来下载每日报价。
雅虎在 2017 年初更改了他们的 API 端点。
新端点是:
https://query1.finance.yahoo.com/v8/finance/chart/{$symbol}?range={$range}&interval={$interval}
,其中:
- $symbol 是股票代码,例如Apple 的 AAPL
- $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 个交易日 AAPL 股票的 OHLCV 报价,间隔为 1 分钟。全部采用 JSON 格式。
并非所有 $range 参数都会 return 指定 $interval 的结果,但会 return 最接近的可能组合。例如,"max" 范围将 return 所有具有“1mo”间隔的报价。
我是 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"
我想不通的是:我们如何从一整天的交易中检索报价?
我目前正在使用 Yahoo 财经应用程序并注意到它们提供了关于价格变化的良好图形,所以我认为有一种方法可以实现它。
我也尝试阅读 yql tables 存储库,但在我使用的两个 table 上,没有(至少是明确的)关于如何通过小时范围的线索。
您可以通过直接查询 Yahoo Finance API 端点(而不是通过 YQL)并接收 JSON 格式的列表来检索一天的完整报价。
终点是http://chartapi.finance.yahoo.com/instrument/1.0/$symbol/chartdata;type=$type;range=$range/json/
,其中:
$symbol
是股票代码,例如AAPL
苹果或BAS.DE
巴斯夫在 Xetra 交易$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 以过滤结果。
作为对我之前回答的 update/extension,我找到了一个新的 API 端点来下载每日报价。 雅虎在 2017 年初更改了他们的 API 端点。
新端点是:
https://query1.finance.yahoo.com/v8/finance/chart/{$symbol}?range={$range}&interval={$interval}
,其中:
- $symbol 是股票代码,例如Apple 的 AAPL
- $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 个交易日 AAPL 股票的 OHLCV 报价,间隔为 1 分钟。全部采用 JSON 格式。
并非所有 $range 参数都会 return 指定 $interval 的结果,但会 return 最接近的可能组合。例如,"max" 范围将 return 所有具有“1mo”间隔的报价。