Python pandas Google finance international stocks寻找用Google获取国际股票价格历史的方法

2024-09-22 14:30:57 发布

您现在位置:Python中文网/ 问答频道 /正文

作品:国内股票

gticker='NYSE:IBM'
import pandas.io.data as web
dfg = web.DataReader(gticker, 'google', '2013/1/1', '2014/3/1')

这不是:国际股票

gticker='HKG:0700'
import pandas.io.data as web
dfg = web.DataReader(gticker, 'google', '2013/1/1', '2014/3/1')

尽管两者都有,但您可以转到“历史价格”链接并查看历史数据。

有什么建议吗?


Tags: ioimportwebpandasdataasgoogleibm
2条回答

谷歌的数据阅读器想要下载一个csv文件。因此,对于“goog”,它请求以下获取csv文件的URL:

http://www.google.com/finance/historical?q=GOOG&startdate=Jan+1%2C+2013&enddate=Mar+1%2C+2014&output=csv

所有的国内股票(如IBM)都是如此。但对于“香港:0700”,它要求:

http://www.google.com/finance/historical?q=HKG%3A0700&startdate=Jan+01%2C+2014&enddate=Mar+01%2C+2014&output=csv

这会产生“在该服务器上找不到请求的URL”错误。您可以查看以下历史数据:

http://www.google.com/finance/historical?q=HKG%3A0700&startdate=Jan+01%2C+2014&enddate=Mar+01%2C+2014

但看起来你不能得到一个csv文件。

当创建URL时,您可以看到它正在执行pandas/io/data.py:

# www.google.com/finance/historical?q=GOOG&startdate=Jun+9%2C+2011&enddate=Jun+8%2C+2013&output=csv
url = "%s%s" % (_HISTORICAL_GOOGLE_URL,
                urlencode({"q": sym,
                           "startdate": start.strftime('%b %d, ' '%Y'),
                           "enddate": end.strftime('%b %d, %Y'),
                           "output": "csv"}))

谷歌金融似乎只支持美国和英国市场的CSV下载,因为“历史图表”下的“下载到电子表格”链接仅出现在以下示例中的这两个市场中的股票:

汇丰在英国上市的股票 https://www.google.com/finance/historical?q=LON%3AHSBA

汇丰在美国上市的股票 https://www.google.com/finance/historical?q=NYSE%3AHSEA

汇丰银行股票在香港上市 https://www.google.com/finance/historical?q=HKG%3A0005

相关问题 更多 >