------------------------------------------------------------
1、MA(X,N), -- move average
求X的N日移动平均值。
算法是:(X1+X2+X3+…..+Xn)/N
------------------------------------------------------------
2、EMA(X,N) -- exponent move average
求X的N日指数平滑移动平均。
算法是:若Y=EMA(X,N),
则Y=〔2*X+(N-1)*Y’〕/(N+1),
其中Y’表示上一周期的Y值。
2 是平滑系数,表示今天的权重是2.
公式含义为。今天值乘以权重2,加上历史积累值 除以 天数加1, 因为当天权重加了1.
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*X2+X1)/3
如果N=3,则EMA(X,3)=〔2*X3+(3-1)*Y’〕/(3+1)= (2*X3+2/3*(2*X2+*X1))/4=(3*X3+2*X2+X1)/6
如果N=4,则EMA(X,4)=〔2*X4+(4-1)*Y’〕/(4+1)= (4*X4+3*X3+2*X2+X1)/10
这么神奇,找到规律了吗?
EMA(x,5) = (2*x5 + 4*y')/6 = (5*x5+4*x4+3*x3+2*x2+x1)/15;
任何时候, 分子的系数之后等于分母。 越靠近当前,系数越大。
它考虑的是当前的值要有较大的优先权,越远的值,贡献越小。
举例:
有一组数据(收盘价为):1,2,3,4,5,6,7,求其ma(c,5), EMA(c,5)
解答:对应上面数据,X1,X2,X3,X4,X5分别对应3、4、5、6、7
MA(c,5)=(3+4+5+6+7)/5=5
EMA(c,5)=(5*X5+4*X4+3*X3+2*X2+1*X1)/15=5.67
理解了前面2概念,后面也好理解了。
------------------------------------------------------------
3. SMA(X,N,M) X的M日加权移动平均,
M为权重,如Y=(X*M+Y'*(N-M))/N
英文含义不知道,中文有的说是算术平均值。 我看还是加权平均值比较好。
SMA 就是把EMA(X,N) 中的权重2, 变成了一个可自己定义的变数。要求 M < N;
还是加权平均的意思。
------------------------------------------------------------
M/N, (N-M)/N 就是一个加起来等于1的小数,于是定义动态平均值。
4. DMA(X,A) -- dynamic move average
求X的动态移动平均。A 为动态因子
算法: 若Y=DMA(X,A)则 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1。
例如: DMA(CLOSE,VOL/CAPITAL) 表示求以换手率作平滑因子的平均价。
直观理解, 换手率越大,该收盘价对均价影响越大。 这个很好。