从哪里以及如何获得股票历史数据(至少涵盖 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
我可以使用以下代码从 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