分享

点及兵器库 | Python量化工具之“k线波幅加速”算法跟踪止盈,仅需一行代码!

 复利60年 2020-07-05

如果你还想在这个市场上走下去,请你记住,管好你的仓位。如果你还想在这个市场斗争,麻烦你不要和市场做敌人。如果你想以交易为生,那么你得敬畏这个市场。



前言

交易系统的'止盈',作者认为是一个非常重要的模块。我常说,好的开仓仅仅决定你的策略浮盈大小,而最终的交易结果却只有止盈决定。

作者之前就曾写过,比较经典的跟踪止盈方法之一,那就是'AF加速算法跟踪止盈'!已经有了Python和TB两个版本。

'AF加速算法跟踪止盈',最明显的特征是能够快速守住利润。因为,它受价格和持仓时间的影响。

如下图所示:

每一根k线无论上涨还是下跌,它都会按照一定的速度调整跟踪止盈线。这是,它能够快速保住利润的原因之一。

而作者今天,就同样给大家分享另外一个跟踪止盈方法,'k线波幅加速算法跟踪止盈'。

顾名思义,这个方法仅仅与价格的波动幅度有关系,并且以这个幅度来决定止盈线上调或下调的尺寸。

借助天勤量化交易平台,以Python为开发语言编写双均线多头策略,并加入'k线波幅加速算法跟踪止盈'线作为退出机制!



'k线波幅加速'算法跟踪止盈的逻辑

如果系统中采用跟踪止盈方法,尽可能的采用具有'自适应'功能的止盈方法。因为它可以根据当前市场的波动,动态的去调整自己的出场位置。

有助于策略的出场更加合理!

算法逻辑: 多头为例,并假设当前持有多单。

  • 开仓bar的最低价-n*ATR,得到初始止损。

  • 开仓后,如果收盘价创新高,则以初始止损为起点,增加今日与昨日收盘价价差的n倍(本文选取 n = 0.7)。

  • 如果收盘价没有新高,跟踪止盈线就不调整。

如下图所示:

小结。

其实,k线波幅加速算法跟踪止盈基本思想就是,价格如果朝预期方向走,那么我就移动止盈线,如果未动则保持不变。

它与我们以前提到过的Af加速算法跟踪止盈最大的区别就是,AF算法无论价格是否朝预期方向,跟踪止盈线都会调整。



Python实现'k线波幅加速算法跟踪止盈

作者借助天勤量化平台,以双均线交易系统多头为例,实现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波动率的百分比来决定等等,都值得我们去研究它!

文章及策略仅供学习交流,切勿直接实盘!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多