泸州建设工程质量监督网站,广东大唐建设网站,山东省城乡建设厅官网,小程序云开发教程文章目录 8. plot 绘制金融图8.1 金融分析曲线8.2 多曲线金融指标8.3 Observers 观测子模块8.4 plot 绘图函数的常用参数8.5 买卖点符号和色彩风格8.6 vol 成交参数8.7 多图拼接模式8.8 绘制 HA 平均 K 线图 8. plot 绘制金融图
8.1 金融分析曲线
BackTrader内置的plot绘图函… 文章目录 8. plot 绘制金融图8.1 金融分析曲线8.2 多曲线金融指标8.3 Observers 观测子模块8.4 plot 绘图函数的常用参数8.5 买卖点符号和色彩风格8.6 vol 成交参数8.7 多图拼接模式8.8 绘制 HA 平均 K 线图 8. plot 绘制金融图
8.1 金融分析曲线
BackTrader内置的plot绘图函数 通过style参数变量控制不同风格的K线图 默认有以下几种风格
line线条图candle蜡烛图标准 K 线图ohlc美式 K 线图和 bar 参数一样barohlc 曲线图美式 K 线图和 ohlc 参数一样。
将style参数设置为bar或者ohlc 生成的图都是一样的。 如果不设置 style 默认是line线条图或者上一次设置参数。下面使用代码生成四种风格的图表文件名称为Plot.py。
line 线条图 candle 图 OHLC 图 Bar 图 在K线图中 每天的图标信息都包含开盘价、 最高价、 最低价和收盘价四组价格数据 但曲线图通常只有收盘价一组价格。 ohlc美式价格曲线也称为美式K线 每天的图标也包含开盘价、 最高价、 最低价和收盘价四组价格数据 这种格式相对比较少见。
8.2 多曲线金融指标
常见的MACD指标及PivotPoint支撑点 指标都是复杂的多曲线金融指标 包含多组指标曲线。
BackTrader支持复杂的多曲线金融指标曲线的绘制 而且绘制模式非常灵活。
8.3 Observers 观测子模块
在BackTrader量化程序中 自定义买卖点符号的修改调用都是在主流程中通过Observers观测子模块完成的 代码如下
bt.observers.BuySell MyBuySellObservers观测子模块类似于传统的Log日志模块或者后台监控模块 主要用于记录后台交易数据及图信息。
8.4 plot 绘图函数的常用参数
下图为 plot 模块关系属性示意图 从图中可以看出plot 模块主要相关模块有LineBuffer、Cerebro、Strategy 等。
在BackTrader的指标模块Indicators和观测模块Observers中内置了一个plotinfo绘图参数变量 用于控制指标和观测数据的绘制 调用模式如下
sma bt.indicators.SimpleMovingAverage(self.data,period15)
sma.plotinfo.plotname mysmaplotinfo变量采用的是dict字典格式 常用内置参数设置如下
plotinfo dict(plotTrue,subplotTrue,plotname,plotskipFalse,plotaboveFalse,plotlinelabelsFalse,plotlinevaluesTrue,plotvaluetagsTrue,plotymargin0.0,plotyhlines[],plotyticks[],plothlines[],plotforceFalse,plotmasterNone,plotylimitedTrue,)通常 SMA均线指标、 vol成交量和主图价格曲线会叠加显示 其他指标如rsi、 kdj等 都采用独立subplot子图模式 在主图下方显示。
8.5 买卖点符号和色彩风格
买卖点符号是可以自定义的案例代码 PlotExt1.py 演示如何自定义买卖点符号主要代码修改有
class MyBuySell(bt.observers.BuySell):plotlines dict(# buydict(marker$\u21E7$, markersize12.0), #arrow# selldict(marker$\u21E9$, markersize12.0)## buydict(marker$$, markersize12.0),# selldict(marker$--$, markersize12.0)#buydict(marker$✔$, markersize12.0),selldict(marker$✘$, markersize12.0),)... ...
bt.observers.BuySell MyBuySell本案例使用对勾符号√ 表示买入 使用叉符号× 表示卖出 同时这两个符号的尺寸也更大一些。在源码中 “√”和“×”符号需要用两个“$”符号表示 并括住符号代码 因为需要使用UTF代码符号。自定义买卖点符号的修改调用 是在主流程中通过BackTrader的 Observers观测子模块完成的:
bt.observers.BuySell MyBuySell下面再看一下对图表颜色的修改。 相对于修改买卖点符号而言 对颜色进行修改更加简单。 在调用plot绘图函数时 可以直接通过参数传递颜色参数
tq10_corUp, tq10_corDown [#7F7F7F, #17BECF] # plotly
tq09_corUp, tq09_corDown [#B61000, #0061B3]
tq08_corUp, tq08_corDown [#FB3320, #020AF0]
tq07_corUp, tq07_corDown [#B0F76D, #E1440F]
tq06_corUp, tq06_corDown [#FF3333, #47D8D8]
tq05_corUp, tq05_corDown [#FB0200, #007E00]
tq04_corUp, tq04_corDown [#18DEF5, #E38323]
tq03_corUp, tq03_corDown [black, blue]
tq02_corUp, tq02_corDown [red, blue]
tq01_corUp, tq01_corDown [red, lime]
#
tq_ksty01 dict(voluptq01_corUp, voldowntq01_corDown, baruptq01_corUp, bardowntq01_corDown
)
tq_ksty02 dict(voluptq02_corUp, voldowntq02_corDown, baruptq02_corUp, bardowntq02_corDown
)
tq_ksty03 dict(voluptq03_corUp, voldowntq03_corDown, baruptq03_corUp, bardowntq03_corDown
)
tq_ksty04 dict(voluptq04_corUp, voldowntq04_corDown, baruptq04_corUp, bardowntq04_corDown
)
tq_ksty05 dict(voluptq05_corUp, voldowntq05_corDown, baruptq05_corUp, bardowntq05_corDown
)
tq_ksty06 dict(voluptq06_corUp, voldowntq06_corDown, baruptq06_corUp, bardowntq06_corDown
)
tq_ksty07 dict(voluptq07_corUp, voldowntq07_corDown, baruptq07_corUp, bardowntq07_corDown
)
tq_ksty08 dict(voluptq08_corUp, voldowntq08_corDown, baruptq08_corUp, bardowntq08_corDown
)
tq_ksty09 dict(voluptq09_corUp, voldowntq09_corDown, baruptq09_corUp, bardowntq09_corDown
)
tq_ksty10 dict(voluptq10_corUp, voldowntq10_corDown, baruptq10_corUp, bardowntq10_corDown
)......
cerebro.plot(stylecandle, **tq_ksty10)程序代码当中的**tq_ksty10变量参数 两个星号“**”变量是Python的特有语法中字典模式的多变量 这有些类似于C语言的“宏定义”.
barup和bardown是箭头符号颜色 volup和voldown是成交量曲线颜色。 up上涨 、 down下跌 表示价格/成交量的变化。 在K线图中有专门的规定 比如 当天的成交量或者价格超过昨天的 则使用up颜色。 在案例中预设了10种不同风格的颜色组合 大家还可以自己修改其他更多的颜色组合 看看不同参数的绘制效果最终显示效果如下所示 8.6 vol 成交参数
本示例代码为 PlotExt2vol.py 。
默认的绘图函数代码是
cerebro.plot(stylecandle)这其中省略了两个和 volume 成交了相关的参数这两个参数都是布尔类型
volume默认为 True表示绘制成交量图形若为 False则不绘制成交量图形voloverlay默认为 True表示使用叠加绘制模式若为 False则表示非叠加模式采用独立的 sub 子图绘制成交量。
看看下面代码生成的图片
cerebro.plot(stylecandle, volumeTrue)再看一下如下代码生成的图片
cerebro.plot(stylecandle, volumeTrue, voloverlayFalse) # volume成交量采用subplot子图模式默认为voloverlayTrue叠加模式volume成交量曲线相对来说比较重要 所以BackTrader量化软件专门设计了一个plot_volume成交量曲线绘制子函数 其关系属性示意图如下所示 8.7 多图拼接模式
本实例代码为 PlotExt3.py 。
在调用 plot 绘图函数时使用 numfigs 设置图形数目本示例设置为 5结果图被切分为 5 张独立图片而不是一张图片
# plot多图拼接BT版的股市《清明上河图》
# 注意修改其实日期参数为空字符串
# numfigs默认值为1
cerebro.plot(numfigs5)生成如下 5 张图片 注意 各图之间的时间指标是连续的 把图拼起来就是一张很长的图。当数据太多时单张图片的部分细节会模糊影响显示效果。可以使用这种多图拼接模式使细节更清晰。
8.8 绘制 HA 平均 K 线图
本实例代码 PlotExt4hak.py
在 cerebro.adddata(data) 代码行上面添加如下代码设置过滤器
# ----ha-k
data.addfilter(bt.filters.HeikinAshi)生成图片如下所示 HA平均K线图通过对数值进行平均化处理 更加容易发现买卖点信号 即平均价格的波动 更容易出现买卖的机会。 一般买卖点信号出现在连续颜色的突变时 而单个交易日颜色的变化可以忽略。 文章转载自: http://www.morning.bnjnp.cn.gov.cn.bnjnp.cn http://www.morning.rhsr.cn.gov.cn.rhsr.cn http://www.morning.mdjtk.cn.gov.cn.mdjtk.cn http://www.morning.hrrmb.cn.gov.cn.hrrmb.cn http://www.morning.gwwtm.cn.gov.cn.gwwtm.cn http://www.morning.gbpanel.com.gov.cn.gbpanel.com http://www.morning.yxwnn.cn.gov.cn.yxwnn.cn http://www.morning.qhvah.cn.gov.cn.qhvah.cn http://www.morning.lrplh.cn.gov.cn.lrplh.cn http://www.morning.lxlzm.cn.gov.cn.lxlzm.cn http://www.morning.lsqxh.cn.gov.cn.lsqxh.cn http://www.morning.qpsxz.cn.gov.cn.qpsxz.cn http://www.morning.jpgfx.cn.gov.cn.jpgfx.cn http://www.morning.rqnzh.cn.gov.cn.rqnzh.cn http://www.morning.gskzy.cn.gov.cn.gskzy.cn http://www.morning.nndbz.cn.gov.cn.nndbz.cn http://www.morning.wtnwf.cn.gov.cn.wtnwf.cn http://www.morning.ykrck.cn.gov.cn.ykrck.cn http://www.morning.xfxnq.cn.gov.cn.xfxnq.cn http://www.morning.beiyishengxin.cn.gov.cn.beiyishengxin.cn http://www.morning.bflws.cn.gov.cn.bflws.cn http://www.morning.errnull.com.gov.cn.errnull.com http://www.morning.dzgmj.cn.gov.cn.dzgmj.cn http://www.morning.tnwwl.cn.gov.cn.tnwwl.cn http://www.morning.gydth.cn.gov.cn.gydth.cn http://www.morning.bqqzg.cn.gov.cn.bqqzg.cn http://www.morning.zpfr.cn.gov.cn.zpfr.cn http://www.morning.qlsyf.cn.gov.cn.qlsyf.cn http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn http://www.morning.jsmyw.cn.gov.cn.jsmyw.cn http://www.morning.mpgfk.cn.gov.cn.mpgfk.cn http://www.morning.jkwwm.cn.gov.cn.jkwwm.cn http://www.morning.hkchp.cn.gov.cn.hkchp.cn http://www.morning.lxqkt.cn.gov.cn.lxqkt.cn http://www.morning.hlnrj.cn.gov.cn.hlnrj.cn http://www.morning.cwlxs.cn.gov.cn.cwlxs.cn http://www.morning.dthyq.cn.gov.cn.dthyq.cn http://www.morning.mkrjf.cn.gov.cn.mkrjf.cn http://www.morning.qsy36.cn.gov.cn.qsy36.cn http://www.morning.jqbpn.cn.gov.cn.jqbpn.cn http://www.morning.pxwzk.cn.gov.cn.pxwzk.cn http://www.morning.kpxky.cn.gov.cn.kpxky.cn http://www.morning.jfsbs.cn.gov.cn.jfsbs.cn http://www.morning.tqwcm.cn.gov.cn.tqwcm.cn http://www.morning.fqyqm.cn.gov.cn.fqyqm.cn http://www.morning.blqgc.cn.gov.cn.blqgc.cn http://www.morning.jtjmz.cn.gov.cn.jtjmz.cn http://www.morning.cfcpb.cn.gov.cn.cfcpb.cn http://www.morning.jzsgn.cn.gov.cn.jzsgn.cn http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn http://www.morning.baohum.com.gov.cn.baohum.com http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn http://www.morning.nnykz.cn.gov.cn.nnykz.cn http://www.morning.lmknf.cn.gov.cn.lmknf.cn http://www.morning.zxybw.cn.gov.cn.zxybw.cn http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn http://www.morning.jfwbr.cn.gov.cn.jfwbr.cn http://www.morning.lwzpp.cn.gov.cn.lwzpp.cn http://www.morning.itvsee.com.gov.cn.itvsee.com http://www.morning.ctbr.cn.gov.cn.ctbr.cn http://www.morning.fktlg.cn.gov.cn.fktlg.cn http://www.morning.rhdqz.cn.gov.cn.rhdqz.cn http://www.morning.ccffs.cn.gov.cn.ccffs.cn http://www.morning.fllx.cn.gov.cn.fllx.cn http://www.morning.ydtdn.cn.gov.cn.ydtdn.cn http://www.morning.yxbrn.cn.gov.cn.yxbrn.cn http://www.morning.wztlr.cn.gov.cn.wztlr.cn http://www.morning.lzqdd.cn.gov.cn.lzqdd.cn http://www.morning.gassnw.com.gov.cn.gassnw.com http://www.morning.tmpsc.cn.gov.cn.tmpsc.cn http://www.morning.jqbmj.cn.gov.cn.jqbmj.cn http://www.morning.zcsch.cn.gov.cn.zcsch.cn http://www.morning.gwjnm.cn.gov.cn.gwjnm.cn http://www.morning.zsyrk.cn.gov.cn.zsyrk.cn http://www.morning.yzygj.cn.gov.cn.yzygj.cn http://www.morning.bpmnc.cn.gov.cn.bpmnc.cn http://www.morning.ggjlm.cn.gov.cn.ggjlm.cn http://www.morning.ryspp.cn.gov.cn.ryspp.cn http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn http://www.morning.mlfmj.cn.gov.cn.mlfmj.cn