我知道如何获得个股。我如何获得整个索引的数据,比如DJI? https://www.google.com/finance?q=INDEXDJX%3A.DJI&ei=zsVZU4iADYKI6AGoXA
我想尽可能远远地分析整个股市
start, end = dt.datetime(1950, 1, 1), dt.datetime(2013, 12, 31)
data = web.DataReader('.DJI', 'yahoo', start, end)
答案 0 :(得分:6)
Google财经和雅虎财经以不同方式处理指数的符号。谷歌将道指称为“.DJI”,而在雅虎,它将是“^ DJI”。
由于某种原因,当我运行代码时,Pandas无法从雅虎找到道琼斯指数的数据,但它可以为S& P和纳斯达克找到它。
# this works
web.DataReader('^GSPC','yahoo') # S&P 500
web.DataReader('^IXIC','yahoo') # NASDAQ
# this doesn't
web.DataReader('^DJI','yahoo') # Dow
如果您特别想要陶氏数据,Pandas还允许您使用FRED数据,因此您可以选择采取该路线,但不包括所有价格数据,只包括收盘价。
web.DataReader('DJIA','fred')
另一种可能性是使用Quandl。他们拥有大量可能对市场分析有用的数据集(财务,经济,人口统计等)。虽然它仍然只能得到接近的价格,并且需要知道它们有时含糊不清的“代码”,但这里有一个样本:
import Quandl
dow_code = 'BCB/UDJIAD1'
Quandl.get(dow_code)
您可能需要创建一个Quandl帐户(它是免费的)来获取允许外部挖掘到其数据库的授权令牌,但这是另一种可能的解决方法:)
希望这有帮助。