阿良の小屋

MA、EMA、SMA、DMA、TMA、WMA 6种均值算法含义

2026-03-11

这些移动平均指标的主要区别在于对近期价格的敏感度(权重)和计算方法不同。MA/SMA最基础且平滑;EMA和WMA更重近期数据,响应更快;DMA结合了成交量;TMA为双重平滑。EMA适用于趋势追踪,SMA适用于长期趋势观察。

具体区别如下:

  • MA (Moving Average,简单算数平均):
    • 通称,通常指简单算术平均(MA)。

MA(X,N) 简单算术平均
求X的N日移动平均值,不分轻重,平均算。
算法是: (X1+X2+X3+...+Xn)/N
例如:MA(C,20) 表示 20 日的平均收盘价。C 表示 CLOSE。

  • EMA (Exponential Moving Average,指数移动平均):
    • 特点:权重随时间间隔指数递减,越近的数据权重越大。
    • 优缺点:对价格变化反应敏感,能快速跟进趋势,但也容易产生假信号。

EMA(X,N) 指数平滑移动平均
求X的N日指数平滑移动平均,它真正的公式表达是:
当日指数平均值 = 平滑系数 * (当日指数值 - 昨日指数平均值) + 昨日指数平均值
平滑系数 = 2 / (周期单位 + 1)
由以上公式推导开,得到:
EMA(C,N)=2*C/(N+1)+(N-1)/(N+1)*昨天的指数收盘平均值
算法是:若 Y=EMA(X,N),则 Y=[2*X+(N-1)*Y’]/(N+1),其中 Y’ 表示上一周期的Y值。
EMA 引用函数在计算机上使用递归算法很容易实现,但不容易理解。例举分析说明EMA函数。

X是变量,每天的X值都不同,从远到近地标记,它们分别记为X1,X2,X3,….,Xn
如果N=1,则EMA(X,1)=[2*X1+(1-1)*Y’]/(1+1)=X1
如果N=2,则EMA(X,2)=[2*X2+(2-1)*Y’]/(2+1)=(2/3)*X2+(1/3)X1
如果N=3,则EMA(X,3)=[2*X3+(3-1)*Y’]/(3+1)=[2*X3+2*((2/3)*X2+(1/3)*X1)]/4=(1/2)*X3+(1/3)*X2+(1/6)*X1
如果N=4,则EMA(X,4)=[2*X4+(4-1)*Y’]/(4+1)=2/5*X4+3/5*((1/2)*X3+(1/3)*X2+(1/6)*X1)
=2/5*X4+3/10*X3+1/5*X2+1/10*X1
如果N=5,则EMA(X,5)=2/(5+1)*X5+(5-1)/(5+1)(2/5*X4+3/10*X3+3/15*X2+3/30*X1)
=(1/3)*X5+(4/15)*X4+(3/15)*X3+(2/15)*X2+(1/15)*X1
…………循环

X1
(2/3)*X2+(1/3)X1
(3/6)*X3+(2/6)*X2+(1/6)*X1
(4/10)*X4+(3/10)*X3+(2/10)*X2+(1/10)*X1
(5/15)*X5+(4/15)*X4+(3/15)*X3+(2/15)*X2+(1/15)*X1

任何时候系数之和恒为1。如果 X 是常量,每天的 X 值都不变,则 EMA(X,N)=MA(X,N)

从以上的例举分析中,我们可以看到时间周期越近的 X 值它的权重越大,说明 EMA 函数对近期的 X 值加强了权重比,更能及时反映近期 X 值的波动情况。 所以 EMA 比 Ma 更具参考价值,而 EMA 也不容易出现死叉和金叉,所以一旦出现要立即作出反映!对周线处理,EMA 就更加稳定了。

理解了 MA, EMA 的含义后,就可以理解其用途了,简单的说,当要比较数值与均价的关系时,用 MA 就可以了,而要比较均价的趋势快慢时,用 EMA 更稳定;有时,在均价值不重要时,也用 EMA 来平滑和美观曲线。

  • SMA (Simple Moving Average,简单移动平均):
    • 特点:所有K线权重相等。
    • 优缺点:平滑性好,信号滞后,能反映长期趋势。

SMA(C,N,M) 简单移动平均
理解了 MA 和 EMA 的含义和用途后,后面几个函数就好理解了;因为 EMA 的 平滑系数=2/(周期+1),是固定的;如果要改变平滑系数咋办?这就用到了 SMA,与 EMA 的区别就是增加了权重参数 M,也就是用 M 代替 EMA 平滑系数中的 2, 这样我们可以根据需要调整当日数值在均价中的权重=M/N。(要求N>M)

  • WMA (Weighted Moving Average,加权移动平均):
    • 特点:权重随时间线性递减。
    • 应用:相比SMA更重视近期价格,但相比EMA对远期数据权重更高。

WMA(X,A) 加权移动平均
用法:WMA(X, A),求 X 的加权移动平均。算法:
若 Y=WMA(X, A),则Y=(N*X0+(N-1)*X1+(N-2)*X2)+...+1*Xn)/(N+(N-1)+(N-2)+...+1)
X0表示本周期值,X1表示上一周期值。

  • DMA (Dynamic Moving Average,动态移动平均):
    • 特点:利用另一个指标(通常是成交量或换手率)作为权重系数来计算。
    • 应用:量能越大,收盘价对均价影响越大,更直观反映成交量趋势。

DMA(C,A) 动态移动平均
注意,权重系数在 EMA 与 SMA 中都是用数值与周期计算出来的小数,假设有一个小数可以直接代表权重,如何办?这就有了 DMA,DMA(C, A) 中 A 为权重值,公式如下:X=DMA(C,A)=A*X+(1-A)*X' (A小于1),可以发现,DMA 与 SMA 原理是一样的,只是用一个小数直接代替了 M/N,而在实用中,这个小数最有价值的就是换手率=V/CAPITAL; DMA(C, V/CAPITAL) 的直接含义是用换手率作为权重系数,利用当日收盘价在均价中的比重计算均价,直观理解就是换手率越大,当日收盘价在均价中的作用越大!

  • TMA (Triangular Moving Average,三角/递归移动平均):
    • 特点:对均线值进行再次平均的算法(递归移动平均),即均线的均线。
    • 应用:比EMA或WMA更平滑,能更有效地过滤价格波动噪音。

TMA(X,N,M) 递归移动平均
用法:TMA(X, N, M),求 X 的递归移动平均,N、M 为权重。算法:若 Y=TMA(X, N, M)Y=(N*Y’+M*X), 其中 Y’ 表示上一周期 Y 值。初值为 M*X。
例如:TMA(CLOSE, 0.9, 0.1) 表示求 CLOSE 的递归移动平均

总结建议:

  • 趋势平滑:SMA > TMA > WMA > EMA
  • 响应速度:EMA > WMA > TMA > SMA
  • 考虑成交量:用DMA。
  • 短线操作:常用EMA。
  • 长线趋势:常用SMA。

扫描二维码,分享此文章