我正试图从Google财经中提取指数的历史数据,但它无效。虽然我能够轻松地提取单个股票的历史数据。我是否对指数做错了什么?
我的股票代码
from pandas_datareader import data
from dateutil.relativedelta import relativedelta
import datetime as dt
enddate = dt.datetime.today()
begdate = enddate + relativedelta(years=-1)
x= data.get_data_google("GOOGL",begdate,enddate)
print(x.head())
输出
Open High Low Close Volume
Date
2016-05-24 719.85 734.20 719.64 733.03 1890195
2016-05-25 735.00 739.89 732.60 738.10 1610773
2016-05-26 736.00 741.10 733.00 736.93 1298295
2016-05-27 737.51 747.91 737.01 747.60 1738913
2016-05-31 748.76 753.48 745.57 748.85 2124248
我的索引代码
x= data.get_data_google(".DJI",begdate,enddate)
错误
RemoteDataError: Unable to read URL: http://www.google.com/finance/historical
答案 0 :(得分:2)
我不确定问题出在哪里,但GOOGLE Finance网站上存在差异。
当您尝试查看GOOGL的历史数据时:
https://finance.google.com/finance/historical?q=NASDAQ:GOOGL
在网站的右侧(图表下方),您会看到导出部分,其中包含指向CSV的链接。
然而对于DJI:
https://finance.google.com/finance/historical?q=INDEXDJX:.DJI
没有这样的链接。
可能是pandas_datareader的实现使用该链接来获取数据。我更改了INDEXDJX的csv下载链接:.DJI并返回错误。
<强>更新强>
我看到该功能正试图达到
http://www.google.com/finance/historical?q=INDEXDJX%3A.DJI&startdate=Oct+20%2C+2016&enddate=Oct+20%2C+2017&output=csv
这不存在。当我在上面替换google ticker时,会下载该文件。
与此同时,我发现this comment似乎证实了上述情况,即所有交易所see google doc都不支持导出到csv以获取更多信息。