欢迎光临
专业期货策略平台

“布林强盗”量化交易系统,它真正厉害的地方是在这里

期客网 | 期货程序化交易专业分享网站 www.a-qike.com

期客网 | 期货程序化交易专业分享网站  www.a-qike.com

前言

“布林强盗”,作者不是很理解为啥会用“强盗”来形容这个策略,难道这个策略是偷偷摸摸的搞了见不得人的事?O(∩_∩)O哈哈~,后面会给大家分享作者对这个“强盗”一词的理解。

布林强盗系统借助布林线,与过滤器和跟踪止盈组合而成,其中我个人认为该策略的核心是过滤器和止盈模块。

说到止盈,我还再强调一遍,止盈是一个非常重要的模块,好的开仓决定你浮盈大小,好的止盈决定你最终平仓收益的大小,并会跟你的交易次数、胜率和盈亏比直接挂钩。

“布林强盗”量化交易系统交易逻辑。

上面说到,布林强盗系统中含有布林线、过滤器、及跟踪止盈(动态移动平均线)。并且,过滤器和跟踪止盈是整个策略的核心。

策略交易逻辑:(空头)。

1.开仓逻辑。

  • 收盘价<前N-1日收盘价(过滤器)。
  • 最低价<布林线下轨。

2.平仓逻辑。

  • 最高价>动态移动平均线(跟踪止盈).

策略信号:(空头)。

解析:

1.过滤器,收盘价<前n-1日收盘价。

其实就是,用当前价格与过去的价格做对比,看当前价格在过去n-1日价格的哪个位置,如果真小于了,那么说明是一个空头趋势。反之则多头趋势。

2.动态移动平均线(跟踪止盈)。

常规均线的周期参数都是固定的,但是在此策略中,这个周期参数是动态变化的,并且当持仓越久周期参数就越小。

小结。

布林强盗策略中的“强盗”,我想就是说的这个动态移动平均线。因为,移动平均线如果在未开仓时,周期参数会恢复到布林线中轨,一旦开了仓,周期参数立刻开始随k线更新而减小。这是我的理解!

“布林强盗”交易系统Python代码实现。

作者借助天勤量化平台实现该策略,在策略实现过程中需要着重注意的是“动态移动平均线”的周期参数变化过程,其他的我觉得都比较容易理解。

1.设置参数和变量。其中,flag变量用于识别k线更新状态,并控制动态移动平均线的周期参数计算机跟踪止盈线的计算。后面会详细讲解!

2.计算布林线上下轨与中轨,以及过滤器rocCalc。

其中:

self.rocCalc = self.kline.close.iloc[-2] – self.kline.close.iloc[self.vars[‘rocCalcLength’] – 1]

就是过滤器的计算,与过去第N-1根k线相比,是否下跌或上涨,以判断当前趋势。

3.策略开平仓,以及平仓时将动态移动平均线的参数设置为初始值(布林线中轨)。

其中:

self.vars[‘liqDays’] = self.vars[‘liqLength’] ,平仓后将动态移动平均线参数设置成中轨参数。

self.flag = False,设置为false意味着平仓后,如果新开仓了就必须要等动态参数和止盈线计算出后变为true,才可以开启平仓功能。

动态参数及动态移动平均线的计算:

4.启动交易策略。

如下图所示:

策略信号:

小结。

以上就是关于python如何实现“布林强盗”策略。阅读时一定要着重看动态参数及动态移动平均线的计算部分,因为这一部分是整篇文章的重点。

最后

整篇文章,唯一有价值的是策略的止盈部分。

动态参数和动态止盈线的计算,当然这个止盈方法放在之前作者介绍的2种对比的话,我觉得没有可比性。不过这种方法还是值得读者们收藏,赶快应用到你的策略中去试试吧!

文章及策略代码仅供学习参考,切勿直接实盘。

0 0 vote
Article Rating
Click to rate this post!
[Total: 0 Average: 0]
赞(0) 打赏
未经允许不得转载:A期客 » “布林强盗”量化交易系统,它真正厉害的地方是在这里
订阅
提醒
guest
1 评论
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

1
0
Would love your thoughts, please comment.x
()
x