首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IPython中用Pandas绘制股票图

在IPython中用Pandas绘制股票图
EN

Stack Overflow用户
提问于 2012-02-15 03:42:20
回答 2查看 11.7K关注 0票数 3

我刚刚开始使用Python/Pandas,并将以下代码组合在一起来绘制标准普尔500指数。

代码语言:javascript
复制
from pandas.io.data import DataReader
# returns a DataFrame
sp500 = DataReader("^GSPC", "yahoo", start=datetime.datetime(1990, 1, 1))
sp500.plot(figsize = (12,8))

它看起来像是在一个图上绘制了高、低、开、收、收和成交量。有没有一种简单的方法可以在一张图中画出adj close和它下面的体积,like they do on Yahoo和大多数其他金融网站?我还对绘制OHLC烛台图的一个例子很感兴趣。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-15 04:10:20

类似问题的答案请参见here,有关mathplotlib的金融烛台图的更多信息,请参阅here

要从sp500中仅获取adj close,可以使用类似sp500["Adj Close"]的命令,然后将其传递给相关的matplotlib plot命令plt.plot(datelist, sp500["Adj Close"] ),其中datelist是x轴上的日期列表。

我相信你可以通过参考sp500.index获得日期列表,更多信息请参见here

至于将其传递给plot命令的问题,如下所示

函数date2num来自matplotlib.dates包的datelist = [date2num(x) for x in sp500.index]

在设置了相关的子图之后,然后调用适当的fill_between_alpha命令来填充线下的区域,就像您链接到的Yahoo图一样。

请参阅Alpha Fill Between和标题下的here,了解另一个显示已填充折线图的代码片段,其中包含正确的日期打印。

初始链接有一个样例matplotlib片段,其中还详细介绍了日期格式和格式。

票数 3
EN

Stack Overflow用户

发布于 2013-12-14 02:42:08

这将为您提供调整关闭列与您的日期索引( DataFrame )之间的关系图。

代码语言:javascript
复制
from pandas.io.data import DataReader
sp500 = DataReader("^GSPC", "yahoo", start=datetime.datetime(1990, 1, 1)) 
close = sp500['Adj Close']
close.plot()
plt.show()

同样,您可以使用相同的方法绘制体积:

代码语言:javascript
复制
vol = sp500['Volume']
vol.plot()
plt.show()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9283166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档