我刚刚开始使用Python / Pandas,并将以下代码放在一起绘制S& P 500。
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烛台图的例子。
答案 0 :(得分:3)
有关类似问题的答案,请参阅here,有关mathplotlib的财务烛台图表的详细信息,请参见here。
要从sp500获得接近,你可以使用类似sp500["Adj Close"]
的东西,然后将其传递给相关的matplotlib plot命令plt.plot(datelist, sp500["Adj Close"] )
,其中datelist是x轴上的日期列表。
我相信您可以通过引用sp500.index
获取日期列表,有关详细信息,请参阅here。
关于将它传递给plot命令的问题,比如
datelist = [date2num(x) for x in sp500.index]
其中函数date2num来自matplotlib.dates包。
设置相关子图后,然后调用相应的填充命令到fill_between_alpha
线下的区域,如您链接的Yahoo图。
请参阅填充与Alpha 标题下的here,以获取显示填充折线图的正确日期打印的另一个代码段。
初始链接有一个样本matplotlib片段,它还详细介绍了日期格式和格式。
答案 1 :(得分:0)
这将为您提供仅调整关闭列与您的DataFrame索引(日期)的关系图。
from pandas.io.data import DataReader
sp500 = DataReader("^GSPC", "yahoo", start=datetime.datetime(1990, 1, 1))
close = sp500['Adj Close']
close.plot()
plt.show()
同样,你可以用同样的方式绘制音量:
vol = sp500['Volume']
vol.plot()
plt.show()