是否可以在 python 中使用 pandas.io.data.yahoo 以小时或 10 分钟而不是每天 1 点的分辨率从雅虎(或谷歌)金融中检索历史价格数据?如果不可能,是熊猫模块或雅虎(谷歌)金融API的限制吗?
3 回答
我不知道 pandas.io.data.yahoo ,但你可能需要这个:
彭博的 Jsons:
我会说不,使用他们的免费 API 可以获得的最深层次是每天 1 点。
这是雅虎的限制而不是熊猫。如果你浏览pandas.io.data的代码,你会看到他们在 URL http://ichart.finance.yahoo.com/table.csv中获取了设置参数的数据?对于雅虎和http://www.google.com/finance/historical?对于谷歌。
如果你直接去yahoo.finance,你也只能得到一天1点的数据:General Electrics历史价格的例子你也可以通过yql控制台
访问yahoo的API,对他们的API运行SQL查询:
select * from yahoo.finance.stocks where symbol="ge"
如果您去那里查看树形视图,然后查看结果,您会再次看到每天 1 点是历史价格的最高分辨率。
但是,您可以获得实时价格,因为 yahoo 的 API 中有一些选项。如果您编写脚本来查询雅虎 API 每 10 分钟的价格,一段时间后您将获得更高分辨率的价格历史记录。例如,获取 Google 和 Apple 实际价格的 URL:
finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG&f=nb2t1
AAPL 和 GOOG 分别是 Google 和 Apple 的股票代码。b2 是实时卖价,n 是公司名称,t1 是最后一次交易的时间。
您可以在 python 中使用 ystockquote 包。它从 yahoo Finance rest api 中以干净的格式提取数据。
请参阅此处的实现示例。 https://github.com/cgoldberg/ystockquote