自适应均线模型-捕捉价格启动机会
Part1:问题
传统均线模型是有一些问题的,主要是在震荡行情阶段价格反复向上、向下触碰均线,所以造成单均线交易反复发出信号,亏损较为严重。现在问题是想找到一种尽可能识别震荡行情,并且能够屏蔽无效交易,又能在趋势来临之时迅速追上交易趋势的策略。
Part2:自适应均线模型
常规的有:等权移动平均线、指数加权移动平均线、线性加权移动平均线、EWMA均线和自适应移动平均线等。
自适应移动平均线,通过思路非常清晰的构造,计算方向性和波动性,完成了类似调节均线参数的效果。
- 方向性 direction = price - price[n]
- 波动性 volatility = Summation( Abs ( price - price[1] ) , n )
- ER效率系数 Efficiency_Ratio = direction / volatility
方向性 direction 表示整个时间段中的净价格变化,构造了一个基本的价格动量情况。波动性 volatility 是市场噪声的在n周期内的总数量。ER效率系数是整个模型的核心,ER值域【0,1】,市场呈现方向性不明确的态势,在ER系数显著大于0.5时,市场出现价格突破趋势。在ER值过大时,市场处于过热状态。大部分情况,ER系数是在0.5以下波动的。
ER效率系数可以帮助选择市场和品种,对于ER强的,主要做趋势;对于ER弱的,主要做均值回复。
Part3:核心逻辑
均线设计者考夫曼针对美国股票市场,设定了两个周期参数2日和30日,他希望均线值在这里两个值直接变化。或者是让交易者通过参数设置更加容易地规定自己的系统在什么区间内进行参数调节。
给出ER的计算公式:
fastest系数 = 2/(N+1) = 2/(2+1) = 0.667slowest系数 = 2/(N+1) = 2/(30+1) = 0.0645smooth系数 = ER * (fastest - slowest) + slowest = ER * 0.6022 + 0.0645c = smooth * smooth
通过ER的计算得到:如果最近走势更趋近于单边趋势,则ER系数会趋势于1;如果最近行情没有明显的趋势,且震荡,则ER系数会趋势于0。
所以,在趋势明显时,smooth系数会放大,smooth的平方做为c系数会更大。
自适应移动平均线AMA = AMA[1] + c * (price - AMA[1])
c作为一个权重因子调节部分权重,在趋势明显时,AMA起到了调节均线周期值更快的效果,让你的均线保持敏锐。同理价格波动缓慢且缺失趋势方向时,price - AMA[1]部分影响变小,如同均线的length被调节放大,此时不要轻易做出任何交易。
从图上可以看出,AMA的优点是具有自适应的,当趋势明显时,AMA紧随价格而变动,类似于短周期均线;当价格横向摆动时,AMA走平,类似于长周期均线。因此,AMA可以更好地根据价格走势降低噪声,相对于常规均线,AMA往往能够提高交易胜率,避免错误信号的发出,且能够降低交易次数。