繁体   English   中英

使用matplotlib绘制财务数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM