[英]Plotting financial data with matplotlib
我看到了这个matplotlib示例 。
我想将其用于印度股票。 现在matplotib.finance定义:
def fetch_historical_yahoo(ticker, date1, date2, cachename=None,dividends=False):
.....
urlFmt = 'http://table.finance.yahoo.com/table.csv?a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&s=%s& y=0&g=%s&ignore=.csv'
url = urlFmt % (d1[0], d1[1], d1[2],d2[0], d2[1], d2[2], ticker, g)
.....
然后做
urlopen(url)
但是从雅虎印度获取数据的格式略有不同。 因此,我访问了in.finance.yahoo.com,并获得了Reliance Industries的历史价格链接:
http://ichart.finance.yahoo.com/table.csv?s=RELIANCE.NS&a=03&b=1&c=2012&d=02&e=31&f=2013&g=d&ignore=.csv
但是现在我将其弹出到函数indian.py
如下所示:
urlFmt='http://ichart.finance.yahoo.com/table.csv?s=%s&d=%d&e=%d&f=%d&g=d&a=%d&b=%d&c=%d&ignore=.csv'
运行此命令时,出现HTTP 404 error
。 我究竟做错了什么?
我怀疑您的字符串格式中的变量顺序不再匹配。 将以下urlFmt
与原始字符串格式表达式结合使用是urlFmt
的:
urlFmt = 'http://ichart.finance.yahoo.com/table.csv?a=%d&b=%d&c=%d&d=%d&e=%d&f=%d&s=%s&g=%s&ignore=.csv'
url = urlFmt % (d1[0], d1[1], d1[2], d2[0], d2[1], d2[2], ticker, g)
当变量设置如下时,这将生成url
http://ichart.finance.yahoo.com/table.csv?s=RELIANCE.NS&a=3&b=1&c=2012&d=2&e=31&f=2013&g=d&ignore=.csv :
d1 = [3, 1, 2012]
d2 = [2, 31, 2013]
ticker = 'RELIANCE.NS'
g = 'd'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.