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

Where and how to get the equity historical data (at least covers 2008)?

我可以使用以下代码从 Google Finance 获取历史数据。但最老的是 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

使用 fix-yahoo-finance 然后使用 yahoo 而不是 Google 作为您的来源。看起来 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