我使用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'
答案 0 :(得分:0)
尝试搜索%5EDJCI
。这相当于^DJCI
。 ^DJCI
无效的原因可能是因为^
不是普通字符而您需要 1 来逃避它。
1:我不知道将^转换为%5E的正确术语。
答案 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)