520量化编程

标题: EMA计算公式及原理 [打印本页]

作者: 俊熙交易沙龙    时间: 2020-7-2 11:11
标题: EMA计算公式及原理
在通达信引用函数中,有个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[attach]183[/attach]



EMA(c,5)=(72.97*3+72.07*2+70.48*1)/6=72.255
[attach]182[/attach]

EMA有所误差,但都是小数位后几位产生的误差,是可以接受的范围








欢迎光临 520量化编程 (https://520lhjy.com/) Powered by Discuz! X3.4