SF30 | 双均线交易模型的震荡过滤

 致力于分享量化策略,培训视频,Python,算法研究等相关内容。

 

大家好,我是乌克兰剑圣。

均线指标实际上是移动平均线指标的简称,移动平均线(Moving Average,简称MA)由美国投资专家葛兰威尔(jogepsb ganvle)所创立,由道氏理论的“三种趋势说”演变而来,将道氏理论具体的加以数字化,从数字的变动中去预测股价未来短期、中期、长期的变动方向,为投资决策提供依据。

时至今日,均线的计算方法有很多种变形,MA,EMA,SMA,AMA等计算方式。无论哪一种变形,都无法避免粘合缠绕,如下图:

俗称震荡,从趋势交易的角度来看,这种没有趋势行情的就是回撤期。基于均线的交易模型在这种行情下会亏损,也就是失效。

衍生品市场(不含期权)宏观上分为这三种走势,均线指标已经做的很好,只要有趋势,绝对可以捕捉到。但是它的缺点太致命,趋势赚的钱会在震荡里赔光。

进入正题,我们如何在不增加优化参数的前提下,实现震荡过滤。

步骤一:平滑均线

MA1=SMA((H+L+C)/3,M/S,S);//计算SMA指数加权均线Slow_MA1=XAverage(MA1,M/S); //取MA1的均值MA2=SMA((H+L+C)/3,M,S);//计算长周期SMA指数加权均线Slow_MA2=XAverage(MA2,M);//取MA2的均值

这一步很常用,就是均线的均线。

步骤二:计算波动差

DLH=Slow_MA1-Slow_MA2;//计算加权指数波动差

步骤三:组合过滤规则(部分代码)

  DK=(DLH>MADLH and DLH>0) and (MA1>Slow_MA1)  KK=(DLH<MADLH and DLH<0) and (MA1<Slow_MA1)

OK,就这么简单,然后我们来看看效果

图中篮圈就是过滤的震荡部分,有朋友会问是不是增加了阈值参数,前面我们说过在不增加参数的前提下过滤震荡。也考虑过增加一个阀值参数来参与优化,后来发觉这样做太容易过度拟合就放弃了。

我们也发现了一些问题就是,如果波动幅度特别小,角度较小也会出现多次亏损,如下图:

但是相比原版均线系统的缠绕已经过滤很多了。小伙伴有兴趣可以拿源码后继续迭代,SF30的核心参数只有三个参数,分别2个是均线参数,1个移动出场参数。模型普适性较强,迭代空间大,如果你有好的思路可以试试。

模型绩效(15分钟周期,2015年至今,1.5%%,双向各1跳)

动力煤

焦炭

螺纹钢

PP

本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。

猜你喜欢

转载自blog.csdn.net/m0_56236921/article/details/123471101
sf