2014-04-01 58 views
3

这工作:国内库存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') 

即使两个,您可以转到“历史价格”链接并查看历史数据。

有什么建议吗?

+4

人列出0 https://www.google.com/finance/historical?q=NYSE%3AHSEA

汇丰银行的股票,不知道为什么这是封闭的,问题是非常具体的用正确的示例代码。 – citynorman

回答

2

谷歌的DataReader希望下载一个csv文件。因此,对于“goog”它需要以下网址获取该CSV文件:

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

这是所有国内股票(如IBM)真。但对于“HKG: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文件。

你看它是什么做的熊猫/ 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"})) 
+0

感谢您的解释。但我想我正在问如何使用熊猫获得谷歌的国际股票。 – jason

3

看来谷歌财​​经仅支持CSV下载美国和英国市场为纽带“下载到电子表格”下的‘历史图表’只出现在下面的示例中这两个市场上市的股票:

在英国上市

汇丰股票 https://www.google.com/finance/historical?q=LON%3AHSBA

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

+1

除了在英国工作(例如LSE:ULVR),它也适用于德国(例如ETR:HEN)和瑞士(例如VTX:NESN)。它似乎对法国(例如EPA:BN)和西班牙(例如BME:ITX)无效。 –