我想定期创建包含我感兴趣的股票的pdf以及每只股票的相关图表。
目前,我为每个技术指标(价格,移动平均线,指数移动平均线等)设置了一个数据框,并希望为每个时间序列绘制每个数据帧的相关信息。
到现在为止,我已经使用了散景,我可以绘制我想要的内容,但每个自动收报机都可以... ...
我的代码是:
# Import dataframes from import_data.py
prices = pd.read_pickle('prices.pkl')
date = prices.index
# price 20, 50, 80 MA
ma20 = pd.rolling_mean(prices, window=20)
ma50 = pd.rolling_mean(prices, window=50)
ma80 = pd.rolling_mean(prices, window=80)
# price with 20EMA+Bollinger Bands - 20MA
ema20 = pd.ewma(prices, span=20)
bbandsup = pd.ewma(prices, span=20) + 2 * pd.ewmstd(prices, span=20)
bbandslo = pd.ewma(prices, span=20) - 2 * pd.ewmstd(prices, span=20)
plot = figure(title="Price Chart and Technical Indicators", x_axis_label='Date', y_axis_label='Price')
plot.line(date, prices['SPY'], legend='Price', line_width=2)
plot.line(date, ema20['SPY'], legend='EMA-20', line_width=2, line_color="red")
plot.line(date, ma20['SPY'], legend='EA-20', line_width=2, line_color="green")
plot.line(date, bbandsup['SPY'], legend='Bollinger', line_width=2, line_color="black", line_dash="4 4")
plot.line(date, bbandslo['SPY'], legend='Bollinger', line_width=2, line_color="black", line_dash="4 4")
show(plot)
价格数据框的日期结构为索引,列标题为自动收报机字符串。例如,第一列标题是SPY,第二列是AAPL等......
我希望能够在攻击多个情节兽之前将它们全部打印成pdf。
提前致谢!
答案 0 :(得分:0)
多个绘图并不比您现有的更复杂 - 您只需为每个绘图调用figure
并使用Bokeh layouts合并生成的绘图。
bokeh.io.export_png
获取灵感,并使用Selenium和PhantomJS实现直接导出为PDF。