536 / 736EMA

Exponential moving average

指数移动平均线

EMA 让新价格发挥更大作用,同时逐渐减弱旧数据的影响。下面从上一次计算结果出发,解释新点如何产生,以及为什么两条计算正确的曲线仍可能不同。

Exponential moving average,简称 EMA,是一种赋予较新价格更大权重的平均值。它在图表上形成较平滑的曲线,方便观察价格变化。每个新值都把当前价格与上一次结果结合起来。因此,它通常比 Simple moving average(SMA)反应更快,但依据的仍然是已经获得的价格。

每个时间区间在图上对应一根蜡烛线。区间结束后,Petr 记下最后的价格。他不必重新把所有数值加起来,而是可以让上一次 EMA 向新价格靠近一部分距离。Fidelity 就是这样解释这一方法的。TradingView 将同一计算写成加权的新价格与加权的上一次 EMA 之和。这称为递归计算:下一步使用上一步的结果。 [1] [2]

靠近的比例由系数决定,也就是用一个数来规定新价格的权重。TradingView 给出的常用关系是 2 / (N + 1),其中 N 是所选长度。N 越大,新数据的权重越小,调整越慢。因此,Petr 不仅需要知道 EMA 这个名字,还要知道长度设置和系数的计算约定。长度决定权重分配;下方例子会展示一次具体计算。 [3]

刚开始时,Petr 还没有上一次 EMA。Fidelity 介绍的方法是先用 SMA,也就是最初一组价格的普通平均值。确定这个起始值叫作初始化。如果另一种工具采用不同起点,或读取的历史数据长度不同,即使后续价格完全相同,两条曲线也可能不一致。随着继续计算,差异会逐渐减小。因此,名称同为 EMA 并不保证所有数值相等。 [1]

上一次 EMA 已经包含旧价格的影响。TradingView 解释,每进行一步计算,这些影响就会再次减弱。这也是“指数”的含义:当系数固定时,原始值的影响会反复乘以同一个因子而逐渐衰减。因此,所选长度并不像 SMA 那样,划出一个固定窗口,将窗口以外的数据全部剔除。在数学描述中,非常小的影响也不等于精确的零。 按照上述系数约定,长度为 1 时有一个简单的例外:EMA 就等于新价格,上一次结果的权重为零。 [3]

Petr 从 SMA 换成 EMA,在周期相同的情况下,曲线通常会更贴近新价格。Fidelity 指出,这种敏感性有两个方面:反应更早,也更容易发生短暂变化。市场没有明确方向时,Petr 可能看到一连串快速反转。若据此制定交易规则,还需要考虑这些交易产生的成本。曲线离价格近,并不能单独说明决策质量更好。 [1]

Petr 将自己的图表与朋友的比较。在 TradingView 中,Source 选择用于计算的数据,例如 Close,即蜡烛线的最后价格。Timeframe 决定指标数据的时间区间,可以与当前显示图表的区间不同。在认定差异是错误之前,他们应比较市场、数据提供方、选用的价格、区间以及缺失值的处理方法。只有输入一致,比较计算本身才有意义。 [2] [4]

在实时图表中,最新 EMA 会跟随价格变化。TradingView 解释,尚未结束的蜡烛线,其 Close 是持续更新的值,并非最终收盘价。如果 EMA 使用这个值,结果以及可能出现的交叉也会变化。因此,Petr 需要区分在区间内判断的规则和等待区间结束的规则。历史测试不能把最终价格当成更早时就已知的信息。 [5]

Petr 会计算 EMA,却还没有规定何时、如何交易。TradingView 的策略文档区分信号、创建订单与实际成交。他还需要明确退出持仓的规则、操作时点和成本。也要注意 overfitting,即把规则过度调整到过去图表中的偶然现象。用独立数据检验,并且不再据此反复调整,有助于发现这种问题。计算准确也不能承诺未来结果。 [6]

示例 · EMA

价格相同,起点不同

用一个虚构的教学例子说明:选择系数 0.5,按照 2 / (N + 1) 对应长度 3。上一次 EMA 为 100000 USD/BTC,新价格为 100040 USD/BTC。结果是 0.5 × 100040 + 0.5 × 100000 = 100020 USD/BTC。另一组计算采用相同的新价格,但上一次 EMA 为 100010 USD/BTC:0.5 × 100040 + 0.5 × 100010 = 100025 USD/BTC。原先 10 USD/BTC 的差异缩小为 5 USD/BTC,却没有消失。初始值的差异就是这样逐渐减弱的。这些数字用于解释方法,不代表当前市场,也不是交易指令。

要获得更完整的理解,请将本词条与以下词条结合阅读: Moving average, Simple moving average, Moving average crossover, Timeframe, MACD, Backtesting. 反向关联还来自: Moving average, Simple moving average, Moving average crossover, Relative Strength Index.

01EMA 只使用所选数量的最新价格吗?

它不像 SMA 那样使用一个有限窗口。上一次 EMA 还会传递更早历史数据的影响,只是这种影响不断减弱。所选长度通常决定系数,而不是划出一条让过去数据突然消失的边界。要精确复现结果,还需要知道初始化方式。

02反应更快的 EMA 一定比 SMA 好吗?

取决于你想观察什么。更敏感的曲线可能更早显示变化,也可能因短暂波动而更频繁地转向。因此,应评估完整的交易规则,包括成交和成本,并使用未参与规则调整的数据检验。速度本身并不能证明有优势。

DOC · 001Fidelity — EMA文档 DOC · 002TradingView — EMA文档 DOC · 003TradingView — Moving averages文档 DOC · 004TradingView — MTF文档 DOC · 005TradingView — Repainting文档 DOC · 006TradingView — Strategies文档
修订日期: 来源优先 · 非投资建议