EMA(X,N)求X的N日指數平滑移動平均。演算法是:
若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=3/6*X3+2/6*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)=4/10*X4+3/10*X3+2/10*X2+1/10*X1
=2/5*X4+3/10*X3+3/15*X2+3/30*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=5/15*X5+4/15*X4+3/15*X3+2/15*X2+1/15*X1
…………迴圈下去吧:)
EMA(X,N)求X的N日指數平滑移動平均。演算法是:
若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=3/6*X3+2/6*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)=4/10*X4+3/10*X3+2/10*X2+1/10*X1
=2/5*X4+3/10*X3+3/15*X2+3/30*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=5/15*X5+4/15*X4+3/15*X3+2/15*X2+1/15*X1
…………迴圈下去吧:)