股票ema如何计算?

夏文籍夏文籍最佳答案最佳答案

公式(以12个周期为例): 先算出12个周期的移动平均线,再求其标准差,最后确定EMA的值。

例子: 现在要计算60日EMA,先算12个周期之内的60日的移动平均线 MA_{60}=\frac{(\sum^{n}_{i=1}{ma_i})}{n} (其中,n为周期数;各周期的移动平均线 ma_i 如下表1) 将以上数据带入到公式中即可计算得出需要计算的EMA数值。 EMA_{60}=exp(\frac{ln(1+\sum^n_{i=1}{(ma_i/m)} ) $n$. 但是这里存在一个问题。如果某几个周期里的收盘价波动较大,那么该周期的ma和sigma就会很大,进而导致EXP(INF)会爆炸,程序无法运行。因此我们需要对数据做处理。

首先对数据和公式进行赋值: 然后利用函数计算出各期的E、D、S 接下来需要解决一个问题,就是当D大于临界直时,用更小的值代替较大的奇异值,使得其满足条件,继续接下来的运算。我采用的是如果D>5就认为出现奇异值,并返回(-1)^((D-1)/2)作为替代值。

这里之所以采用(-1)^((D-1)/ 2)是考虑到如果D为奇数时,(-1)^((D-1)/4)已经是最小值了,而(-1)^((D-1)/3)显然比它大,这样就保证了当D为奇数时,其值为最小值,而当D为偶数时,其值最大不超过1。这样计算出来的EMD序列既保证了连续性又避免了突变。(注:我对EXL函数不熟,所以直接用VBA编程解决了问题)。

仰哲瑶仰哲瑶优质答主

emm=(收盘价+前一日收盘价)/2,这是最基本的公式; 然后,将这个结果加100倍就是EMA了。 这其实就是移动平均的一种算法而已,比如3日移动平均,就是把三天以来的价格加起来除以3得出的平均值做为下一周期移动均线的价格,再下一个周期把三天的值加起来除3得出第三周期的均价...以此类推。。。 所以,实际上移动均线就是一个等差数列求和的序列来拟合一条直线。 至于为什么用收盘价的平均值来做为下一均线的起点,是因为收盘价是每天交易的最后价格,更能代表当天的涨跌情况且更贴近真实的市场价格而不是假开盘或收盘价。而以开盘价做均线和收盘价做均线在原理上是一样的,只是意义不大,因为一天内的大部分时间股价都是在这两者之间波动的。当然,如果只设定一个参数的话,那肯定选择以开盘价作均线比较合适一些啦~

我来回答
请发表正能量的言论,文明评论!