在哪里以及如何获得股权历史数据(至少涵盖2008年)?

时间:2017-09-19 12:53:20

标签: python python-3.x finance pandas-datareader

我可以使用以下代码从Google财经获取历史数据。但最古老的是2016-09-20。这对于回测来说太短了。我需要涵盖2008年的历史数据。

import pandas_datareader.data as web

start = datetime.datetime(2002, 1, 1)
end = datetime.datetime(2017, 1, 27)

aapl = DataReader("AAPL", "google", start, end)
print(len(aapl))
print(aapl.head())

输出如下:

             Open   High    Low  Close    Volume
Date                                            
2016-09-20  35.02  35.06  33.91  34.44  21192908
2016-09-21  34.93  37.27  34.47  37.01  37582384
2016-09-22  38.22  38.52  37.73  38.47  22289829
2016-09-23  38.24  38.58  37.90  38.12  18705969
2016-09-26  36.69  36.94  35.63  35.97  23382130

1 个答案:

答案 0 :(得分:2)

使用fix-yahoo-finance,然后使用yahoo而不是Google作为您的来源。看起来谷歌最近一直在锁定大量数据。

首先,您需要pip-install fix-yahoo-finance

然后:

from pandas_datareader import data
import fix_yahoo_finance

aapl = data.get_data_yahoo('AAPL', start='2000-01-01')

print(aapl.head())
               Open     High      Low    Close  Adj Close     Volume
Date                                                                
2000-01-03  3.74554  4.01786  3.63170  3.99777    3.59662  133949200
2000-01-04  3.86607  3.95089  3.61384  3.66071    3.29338  128094400
2000-01-05  3.70536  3.94866  3.67857  3.71429    3.34158  194580400
2000-01-06  3.79018  3.82143  3.39286  3.39286    3.05240  191993200
2000-01-07  3.44643  3.60714  3.41071  3.55357    3.19699  115183600