移动平均的本质是一种低通滤波。它的目的是过滤掉时间序列中的高频扰动,保留有用的低频趋势。如何从时间序列中抽取出真正的低频趋势呢?无论采取哪种移动平均算法,理论上的计算方法都相同,下面我们简要说明。同时,我们也会清晰地阐述该计算方法仅在理论上有效,而在实际应用中是无法实现的,并由此揭示产生滞后性的原因。
对于简单移动平均来说,在窗口T内,过滤函数在每个时点的取值都是1/T。利用上述公式计算得到的实际上是t-(T-1)/2时刻(而非t时刻)的低频趋势,而我们把它当作t时刻的低频趋势使用,这便产生了(T-1)/2的滞后。换句话说,当我们使用简单移动平均时,在当前时刻t,对于给定的时间窗口T,我们仅能求出t-(T-1)/2时刻之前的低频趋势,而无法求出t-(T-1)/2之后的低频趋势。这也解释了为什么时间窗口T越大,滞后(T-1)/2越多。这就是为什么看股票数据里面MA20、MA30、MA50等日均线这种,计算均线的窗口T越大,得到的移动平滑曲线越滞后。
既然无论如何都没有未来数据,那么是否意味着我们就只能接受移动平均的滞后性呢?答案是否定的。换个角度来考虑这个问题,滞后性说明由简单移动平均计算得到的低频趋势对近期的最新数据不够敏感。这是由于它在计算低频趋势时,对窗口内所有的数据点都给予相同的权重。按着这个思路延伸,自然的想法就是在计算移动平均时,给近期的数据更高的权重,而给窗口内较远的数据更低的权重,以更快的捕捉近期的变化。由此便得到了加权移动平均和指数移动平均。