0

我试图从谷歌获取某些其他地方没有的财务指标的财务数据。数据提取失败,让我想知道是否无法使用 Pandas DataReader 提取某些类别的谷歌财务数据。我用谷歌搜索了这个问题,找不到任何关于这个问题的讨论。从谷歌金融获取数据有限制吗?

这是问题所在。当我尝试使用 Pandas 的 DataReader 从 Google Finance 获取数据时收到以下错误:

OSError:3 次尝试后,Google 没有为 url ' http://www.google.com/finance/historical?enddate=Dec+25%2C+2015&q=VFINX&startdate=Jun+02%2C+2003&output=csv返回 200 '

导致错误消息的 Pandas 声明是:

data.DataReader("VFINX", 'google', start=datetime.datetime(2003, 6, 2), end=datetime.date.today())

我导入了以下库:

from pandas_datareader import data, wb

import datetime

当我尝试获取共同基金(例如 VFINX(Vanguard S&P 500)或指数(例如 DWCPF(道琼斯完成指数))的数据时,也会出现该错误。共同基金的明显解决方法是使用雅虎。但是,当我获取股票(例如 C(花旗银行))的数据时,上述语句可以正常工作。这让我相信,无法通过 pandas 数据阅读器获得共同基金和指数的谷歌财务数据。

不幸的是,雅虎没有提供索引 DWCPF 的历史数据。为了从谷歌获取数据,我通过修改 url 抓取了谷歌, https://www.google.com/finance/historical?cid= 12645460&startdate=Dec+26%2C+2014&enddate=Dec+25%2C+2015&num=200&ei =TVV9VoHSOMWSmGAx7ewCg 显然,网络抓取比简单地使用数据阅读器更费力。

我正在使用 python 3.4(和另一台计算机上的 3.5)、pandas 版本 0.17.1,最近升级到 Pandas DataReader。

4

1 回答 1

1

谷歌列出了各种证券和交易所的数据提供者,雅虎也是如此。虽然股票数据来自交易所的延迟,但共同基金数据分别来自MorningStar和。vickers-stock.com

后者是商业数据提供者(道琼斯也是)而不是证券交易所,它们可能会对数据使用限制更多,超出谷歌/雅虎网站的显示范围,并且可能会在合同中规定防止大规模下载的条款通过 API。

因此,从本质上讲,您很可能会遇到 google 金融 api 的商业限制,而不是pandas DataReader.

于 2015-12-29T15:49:10.880 回答