交易系统的"止盈",作者认为是一个非常重要的模块。我常说,好的开仓仅仅决定你的策略浮盈大小,而最终的交易结果却只有止盈决定。
作者之前就曾写过,比较经典的跟踪止盈方法之一,那就是"AF加速算法跟踪止盈"!已经有了Python和TB两个版本。
"AF加速算法跟踪止盈",最明显的特征是能够快速守住利润。因为,它受价格和持仓时间的影响。
如下图所示:
每一根k线无论上涨还是下跌,它都会按照一定的速度调整跟踪止盈线。这是,它能够快速保住利润的原因之一。
而作者今天,就同样给大家分享另外一个跟踪止盈方法,"k线波幅加速算法跟踪止盈"。
顾名思义,这个方法仅仅与价格的波动幅度有关系,并且以这个幅度来决定止盈线上调或下调的尺寸。
借助天勤量化交易平台,以Python为开发语言编写双均线多头策略,并加入"k线波幅加速算法跟踪止盈"线作为退出机制!
如果系统中采用跟踪止盈方法,尽可能的采用具有"自适应"功能的止盈方法。因为它可以根据当前市场的波动,动态的去调整自己的出场位置。
有助于策略的出场更加合理!
算法逻辑: 多头为例,并假设当前持有多单。
如下图所示:
小结。
其实,k线波幅加速算法跟踪止盈基本思想就是,价格如果朝预期方向走,那么我就移动止盈线,如果未动则保持不变。
它与我们以前提到过的Af加速算法跟踪止盈最大的区别就是,AF算法无论价格是否朝预期方向,跟踪止盈线都会调整。
作者借助天勤量化平台,以双均线交易系统多头为例,实现k线波幅加速算法跟踪止盈。
并且,作者已经将该方法封装到DJ_Finance.py模块中,直接调用Stop_Range方法就可以实现该止盈。
1. 首先导入对应的模块及参数设置。
其中,vars字典的设置是跟踪止盈的函数的参数以及变量,在跟踪止盈代码函数中需要传入此字典方能正常调用。
跟踪止盈所需的参数、变量。
2. 计算双均线技术指标和平均真实波幅ATR。并且判断出多空趋势,并用trend进行标记多空信号。
3. 策略开平仓代码,开仓条件非常的简单,金叉开仓,跟踪止盈平仓。
1)策略开仓部分。
Run:
2) 策略平仓部分。
其中最主要的是,当策略开仓后我们需要调用点及财经py模块中的StopATR_range()方法。我们需要传入k线数据以及含有跟踪止盈所需的参数和变量。
如下图所示:
Run:
3) 执行策略回测。直接调用main方法,就可以执行策略回测了。
Run:
资金曲线:
从图片上看,比之前的AF加速算法跟踪止盈更容易抓住大的波段,但是会大多数情况下会触及初始止损。
小结。
跟踪止盈函数内部代码量并不多,但是它所发挥的作用是不可小觑的。在使用过程中传入的字典参数名及数据类型一定要与函数内一致。
“k线波幅加速算法”跟踪止盈,是作者分享的第二个非常好的跟踪止盈方法。当然了,它的内部算法是可以进行微调的。
例如:跟踪止盈线上调的尺寸,按ATR波动率的百分比来决定等等,都值得我们去研究它!
文章及策略仅供学习交流,切勿直接实盘!