无法从Yahoo finance API获取所有数据

时间:2016-01-09 21:31:33

标签: python api pandas yahoo-finance

我使用python pandas从yahoo finance获得股票/指数价格。我用 web.DataReader([list of stocks], 'yahoo', start, end)

其中许多股票都运作良好。但是,一个人没有。我的问题是:我如何成功收集所有这些?

名为^ DJCI的那个是不起作用的。它可以在雅虎的网站上获得,它有数据。我甚至无法通过以下方式获得它:

web.DataReader('^DJCI', 'yahoo', start, end)

我收到以下错误:

IOError: after 3 tries, Yahoo! did not return a 200 for url 'http://ichart.finance.yahoo.com/table.csv?s=^DJCI&a=0&b=1&c=2015&d=0&e=9&f=2016&g=d&ignore=.csv'

2 个答案:

答案 0 :(得分:0)

尝试搜索%5EDJCI。这相当于^DJCI^DJCI无效的原因可能是因为^不是普通字符而您需要 1 来逃避它。



1:我不知道将^转换为%5E的正确术语。

编辑1

请参阅Yahoo! Finance CSV file will not return Dow Jones (^DJI)

答案 1 :(得分:0)

问题不在于^DJCI中的特殊字符,问题是该索引的历史数据的可用性,如果您选中Historical Prices此消息显示:

Historical quote data is unavailable for the specified date range.

我搜索Quandl等其他来源,没有运气。但是根据this article,你可以与“iShares S& P GSCI Commodity-Indexed Trust(GSG)”有很好的关联,如果你找到^DJCI的免费资源,请告诉我。 到这个时候,一个好的选择是使用GSG

web.DataReader('GSG', 'yahoo', start, end)