加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

EMA指标中Y初值研究

(2014-09-29 15:17:59)
标签:

股票

ema

公式

   本文写作参考了网上很多资料,在此不一一致谢。

  EMA指标,即指数指数平滑移动平均,飞狐交易师中给出的算法是:
   若Y=EMA(X,N) 则Y=[2*X+(N-1)*Y']/(N+1), 其中Y'表示上一周期Y值。假定要手工计算EMA值,那么初始的Y'值是多少?为方便描述,下文所有指初始的Y'值均使用Y1,不知道Y1,则Y值无法计算。因此,最关键的就是确定Y1的值'值。
   假定手工计算EMA(CLOSE,5),Y1值,是否正如网上某些教程所说,等于REF(CLOSE,4)?比如下面所引用的某篇网文中示例:

------------------------------------------------------------------------------------------------------

 取N=5,计算300286安科瑞(2012年1月13日上市)上市第五天的的EMA值(通达信系统算出来的值是32.75),安科瑞上市第一天到第五天收盘价如下
第一天收盘价(20120113):X1=REF(CLOSE,4)=35.12;
第二天收盘价(20120116):X2=REF(CLOSE,3)=31.61;
第三天收盘价(20120117):X3=REF(CLOSE,2)=34.10;
第四天收盘价(20120118):X4=REF(CLOSE,1)=31.12;
第五天收盘价(20120119):X5=CLOSE=32.16;

引用的网文中给出的手工计算EMA(N,X)的公式:
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+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,
     据此计算, EMA(X,5)=(5*32.16+4*31.12+3*34.10+2*31.61+35.12)/15=32.395,与通达信计算出来的值32.75有较大差别.
这证明网文中给出的公式错误。
-----------------------------------------------------------------------------------------------------------

按飞狐交易师给出的算法计算安科瑞的EMA(CLOSE,5)
第一天数值:Y1=X1=35.120;
第二天数值:Y2=[2*X2+(N-1)*E1]/(N+1)=(2×31.61+4×35.120)÷6=33.950
第三天数值:Y3=[2*X3+(N-1)*E2]/(N+1)=(2×34.10+4×33.950)÷6=34.000
第四天数值:Y4=[2*X4+(N-1)*E3]/(N+1)=(2×31.12+4×34.000)÷6=33.040
第五天数值:Y5=[2*X5+(N-1)*E4]/(N+1)=(2×32.16+4×33.040)÷6=32.747
与通达信计算出来的值相近。

     但是若你在20120125这一天手工计算安科瑞的EMA(CLOSE,5),Y1这一天是20120119,故Y1取值32.16,于是你发现手工按飞狐算法计算出的数值与系统计算出来的数值存在较大差别,到底错在哪里?

       原因:Y1取值错误,在20120125这一天,Y1不是32.16。     

      问题:Y1值如何取才是正确的?
      答案:飞狐交易师明确指明了Y'表示上一周期Y值,而Y=EMA(X,N),这就说明了Y'其实是一个计算结果,其值由[2*X+(N-1)*Y']/(N+1)公式计算得出。
      故初始的Y'值,即Y1=REF(CLOSE,2*(N-1)),
      例如N=5,则Y1=REF(CLOSE,8),
      Y=EMA(CLOSE,5)计算公式如下:

      Y1:=REF(CLOSE,8);
      Y2:=(2*REF(CLOSE,7)+4*Y1)/6;
      Y3:=(2*REF(CLOSE,6)+4*Y2)/6;
      Y4:=(2*REF(CLOSE,5)+4*Y3)/6;
      Y5:=(2*REF(CLOSE,4)+4*Y4)/6;
      Y6:=(2*REF(CLOSE,3)+4*Y5)/6;
      Y7:=(2*REF(CLOSE,2)+4*Y6)/6;
      Y8:=(2*REF(CLOSE,1)+4*Y7)/6;
      Y:(2*CLOSE+4*Y8)/6;

         

  

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有