在通达信引用函数中,有个EMA函数,那么EMA函数的计算原理到底是怎样的呢?接下来我们一起来看看 
 
EMA(X,N) :求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 
 
任何时候, 分子的系数之和等于分母。 越靠近当前,系数越大。当前的值要有较大的优先权,越远的值,贡献越小。 
 
举例: 
有一组数据(收盘价为):70.48   72.07   72.97,求其ma(c,5), EMA(c,5) 
解答: 
MA(c,3)=(70.48+72.07+72.97)/3=71.84 
 
 
 
EMA(c,5)=(72.97*3+72.07*2+70.48*1)/6=72.255 
 
 
EMA有所误差,但都是小数位后几位产生的误差,是可以接受的范围 
 
 
 
 |