使用Yahoo Finance API获取分钟数据?

时间:2015-10-20 02:48:25

标签: python api yahoo-finance

我发现雅虎财经图表API有纽约证券交易所证券的每分钟数据。

以下是一个例子:

http://chartapi.finance.yahoo.com/instrument/1.0/GOOG/chartdata;type=quote;range=1d/csv

我正在尝试将这些数据放入Python的回测平台中。我不太确定如何使用这个API并且没有真正找到太多的文档。

将数据导入程序的最佳方法是什么?我已经考虑过使用BeautifulSoup和Mechanize进行抓取,但我也不太确定如何做到这一点。

我希望至少在过去的5年中对战略进行回溯测试。

2 个答案:

答案 0 :(得分:0)

您想使用库来处理http交换。我更喜欢requests

import requests

url='http://chartapi.finance.yahoo.com/instrument/1.0/GOOG/chartdata;type=quote;range=1d/csv'
response = requests.get(url)
response_body = response.content
data = response_body.split('\n')
# Timestamp, close, high, low, open, volume in data[11]
summary = data[12:17]
interval_data = data[17:]

您可以使用interval_data_fields = interval_data.split(',')分隔逗号处的行,但最好还是学会使用python csv库来实现这一目标;否则,当您想要的某些数据出现在包含引用逗号的CSV文件中时会发生什么?

对于API的历史股票价格,以及一般的API,请尝试ProgrammableWeb

答案 1 :(得分:0)

很遗憾,雅虎决定删除其API。为此,您可以在代码中将stock_price_url更改为以下内容:

stock_price_url ='https://pythonprogramming.net/yahoo_finance_replacement'

仅支持AAPL。如果您有自己的资源,请随时调整代码以适合其需求,或者可以查看熊猫来提取数据。