EMA(指数平均数指标)到底是什么?

在网上看了很多答案,还有百度百科,根本让人看不懂呀,越说越让人头晕,什么公式一大吨,然而并没有什么用呀,能不能来个大神给个通俗的解释,谢谢啦!!! 我…
关注者
109
被浏览
398,058

23 个回答

最近在看吴恩达的《DeepLearning课程》, 涉及梯度下降算法优化的时候,介绍过指数加权平均。课程中是以伦敦的温度为例子,为了方便使用数据,我就直接使用温度的例子了。

问题

假如我们现在有365天的温度,要求最近N天的平均温度值,其中 N \in [0, 365]

加权平均数

当N=365,加权平均数为:

V_{aver} = (\theta_1 + \theta_2 + \theta_{3} + ... + \theta_{365}) \div 365

指数加权平均是一种近似求平均的方法。

指数加权平均

v_{t} = \beta v_{t-1} + (1-\beta) \theta_{t}

  • v_{t} : 约等于最近的 \frac{1}{1-\beta} 天的平均温度值;(为啥是 \frac{1}{1-\beta} 后面再讲)。
  • \theta_{t} :代表的是第t天的温度值;
  • \beta : 可调节的超参.

例如: \beta=0.9 ,t=100, v_{100} \approx 90到100这十天的平均温度。

举例迭代的过程如下:

v_{0} = 0

v_{1} = \beta v_{0} + (1 - \beta) \theta_{1}

v_{2} = \beta v_{1} + (1 - \beta) \theta_{2}

v_{3} = \beta v_{2} + (1 - \beta) \theta_{3}

设置不同的 \beta 会是什么样子呢?

\beta = 0.9 ,代表的是最近10天的平均温度值,对应下图中的红线.

\beta = 0.98 ,代表的是最近50天的平均温度值,对应下图中的绿线.

\beta = 0.5 ,代表的是最近2天的平均温度值,对应下图中的黄线,可以看到这时候和每天的温度值基本就是吻合的.

我们把公式展开一下,看看这个算法是怎么作用于 \theta_{t} 的,以 v_{100} 为例。

v_{100}= 0.1\theta_{100} + 0.9v_{99} \\ = 0.1\theta_{100} + 0.9( 0.1\theta_{99} + 0.9v_{98}) \\ =... \\ = 0.1\theta_{100} + 0.1 * 0.9 \theta_{99} + 0.1 * 0.9 ^{2}\theta_{98} + ... + 0.1 * 0.9 ^{99}\theta_{1}


到这里我们就很清楚 v_{t} 实际上是对每天温度的加权平均,时间越近,权重越大,而且是指数式的,所以叫做指数加权平均。 假如我们以1/e为一个分界点,认为权重小于1/e对整个结果影响很小,权重指数衰减到这个值之后的项就可以忽略不计了,那当 \beta 取值的时候,多久才可以衰减到1/e呢?

考虑以下函数:

f(\beta) = \beta^{1 / (1 - \beta)}

f(0.9) = 0.98^{10}\approx 1/e

这个时候需要10天可以衰减到1/e

f(0.98) = 0.98^{50}\approx 1/e

这个时候需要50天可以衰减到1/e

所以最开始说:

v_{t} :代表的是第 \frac{1}{1-\beta} 天的温度值;

应用

  • 深度学习优化算法中应用。解决梯度下降算法中收敛过慢的问题。
  • CTR预估。如果最开始上线一个位置,数据量很小,LR、FTRL训练模型很不好搞得时候可以用MA算法;
  • 异常点平滑。美团外卖的收入监控报警系统中的hot-winter就是指数移动平均算法的升级。

公众号:胡慢慢滚雪球。更新软件工程、个人思考、投资相关的东西。

其实你之所以看不懂很可能是迷惑于EMA的计算方法!其实更重要的是应用!在交易中EMA不用自己算的,系统计算好的!

但我还是简单介绍下EMA吧!

简单移动平均线计算的方法对于一段时间内的市场价格平等对待,比较难排除异常价格的干扰。指数移动平均线更看重最新价格的权重,可以排除“噪音”影响,给出的信号更准。


EMA计算方法:


EMA(t)=平滑常数*当前价格+(1-平滑常数)*EMA(t-1)

t表示EMA的周期和下文中的n一样。


所以EMA的计算需要用前一个EMA的值和平滑常数,一般用第一天的SMA为EMA的初始值。平滑常数=2/(n+1),平滑常数的大小取决于EMA的周期,周期越小,平滑常数越大,当前价格的权重更高。


如下图所示,蓝色线是20EMA、紫色线是20SMA,明显蓝色线比紫色线更贴近市场价格。



EMA更关注现在的市场价格变化,这也是我们在交易中追求的。但相对来说EMA还是一个滞后指标,在判断趋势中有一定作用,但对于交易信号上比较迟缓。