我发现雅虎财经图表API有纽约证券交易所证券的每分钟数据。
以下是一个例子:
http://chartapi.finance.yahoo.com/instrument/1.0/GOOG/chartdata;type=quote;range=1d/csv
我正在尝试将这些数据放入Python的回测平台中。我不太确定如何使用这个API并且没有真正找到太多的文档。
将数据导入程序的最佳方法是什么?我已经考虑过使用BeautifulSoup和Mechanize进行抓取,但我也不太确定如何做到这一点。
我希望至少在过去的5年中对战略进行回溯测试。
答案 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。如果您有自己的资源,请随时调整代码以适合其需求,或者可以查看熊猫来提取数据。