移动平均

维基百科,自由的百科全书
跳到导航 跳到搜索
两条移动平均线的例子

统计学中,移动平均(英语:moving average)、滚动平均值,又称滑动平均是一种通过创建整个数据集中不同子集的一系列平均数来分析数据点的计算方法。它也是有限脉冲响应滤波器的一种。变化包括: 简单移动平均、指数移动平均、加权移动平均,以及累积移动平均(描述如下)。

给定一个数列和一个固定子集大小,移动平均数的第一个元素是由数列的初始固定子集的平均值得到的。然后通过“向前移位”修改子集,即排除序列的第一个数,并在子集中包含下一个值。

移动平均通常与时间序列数据一起使用,以消除短期波动,突出长期趋势或周期。短期和长期之间的阈值取决于应用,移动平均的参数将相应地设置。例如,它通常用于对财务数据进行技术分析,如股票价格、收益率或交易量。它也用于经济学中研究国内生产总值、就业或其他宏观经济时间序列。数学上,移动平均是卷积的一种类型,因此它可以被看作是用于信号处理低通滤波器的一个例子。当与非时间序列数据一起使用时,移动平均滤波器的频率分量更高,但与时间没有任何特定的联系,尽管通常暗含某种排序。简单地看,它可以看作是把数据变得更平滑。

台股加权指数技术线图:
上图为K线和其简单移动平均线(SMA,周期:5,10,20,60,120,240);
下图为成交量和其均量(周期:5,20)。

简单移动平均[编辑]

Moving Average Types comparison - Simple and Exponential.png

在金融应用中,一个简单移动平均SMA)是以前 n 个数据的未加权平均数。然而,在科学和工程中,平均值通常取自中心值两边相等数量的数据。这样可以确保平均值的变化与数据的变化一致,而不是随时间变化。 例如,对于 n 天的收盘价样本,简单等权重移动平均是前 n 天收盘价的平均值。如果收盘价为 ,则公式为

当计算下一天的移动平均的时候,就会在求和中加入一个新值,剔除一个旧值,无需把所有数值重新加一遍:

所选择的时间段取决于利率变动的类型,如短期、中期或长期。从金融角度来看,移动平均线水平可以解释为市场下跌时的支撑,或者市场上涨时的阻力。

如果使用的数据不以平均值为中心,那么简单移动平均就会落后于最新的数据点一半的采样宽度。旧数据点的丢掉和新数据点的加入也会对SMA造成较大影响。SMA的一个特点是,如果数据存在周期性波动,那么应用该周期的SMA将消除这种波动(平均值总是包含一个完整的周期)。但是完全规律的循环是几乎不会遇到的。[1]

对于许多应用来说,这有利于避免仅使用“过去”数据而引起的移位。因此,可以使用在计算平均值的系列中点的任一侧等距分布的数据来计算中心移动平均[2] 这需要在样本窗口中使用奇数个数据点。

SMA的主要缺点是,它使比窗口长度短的大量信号通过。更糟糕的是,它实际上将其反转。这可能会导致意外的伪影,例如,平滑结果中的峰值出现在数据中出现波谷的位置。由于某些较高的频率未正确消除,这也导致结果不如预期的平滑。

在技术分析中,不同的市场对常用天数(n值)有不同的需求,例如:某些市场普遍的n值为10日、40日、200日;有些则是5日、10日、20日、60日、120日、240日,视乎分析时期长短而定。投资者冀从移动平均线的图表中分辨出支持位或阻力位。

比较:图中同时呈现20日的三种移动平均线-SMA、EMA和WMA。

指数移动平均[编辑]

EMA,N=15

指数移动平均(英语:exponential moving averageEMAEXMA)是以指数式递减加权的移动平均。各数值的加权影响力随时间而指数式递减,越近期的数据加权影响力越重,但较旧的数据也给予一定的加权值。右图是一例子。

加权的程度以常数α决定,α数值介乎0至1。α也可用天数N来代表:,所以,N=19天,代表α=0.1。

设时间t的实际数值为Yt,而时间t的EMA则为St;时间t-1的EMA则为St-1,计算时间t≥2是方程式为:[3]

设今日(t1)价格为p,则今日(t1)EMA的方程式为:

分拆开来如下:

理论上这是一个无穷级数,但由于1-α少于1,各项的数值会越来越细,可以被忽略。分母方面,若有足够多项,则其数值趋向1/α。即,

假设k项及以后的项被忽略,即,重写后可得,相当于。所以,若要包含99.9%的加权,解方程即可得出k。由于当N不断增加,将趋向,简化后k大约等于

加权移动平均[编辑]

加权移动平均(英语:weighted moving averageWMA)指计算平均值时将个别数据以不同数值,在技术分析中,n日WMA的最近期一个数值乘以n、次近的乘以n-1,如此类推,一直到0:

WMA,N=15

由于的分子相差,假设为总和M

总和M+1 总和M
分子M+1 分子M 总和M

留意分母为三角形数,方程式为

右图显示出加权是随日子远离而递减,直至递减至零。

累积移动平均[编辑]

累积移动平均CMA)中,数据以有序数据流的形式到达,用户希望获得直到当前数据点为止的所有数据的平均值。例如,投资者可能想要特定股票直到当前时间的所有股票交易的平均价格。随着每笔新交易的发生,可以使用累计平均值(通常是直到当前时间的 n 个值序列 的均等加权平均值)计算该点之前所有交易的平均交易价格:

计算此问题的暴力方法是存储所有数据,并计算总和,并在每次新数据点到来时除以数据点数。但其实,可以使用下面地公式,在拿到新值 时,简单地更新累计平均值:

因此,新数据点的当前累积平均值等于先前的累积平均值乘以 n,再加上最新的数据点,所有这些均除以到目前为止已接收的点数 n+1。 当所有数据点都到达(n = N)时,累积平均值将等于最终平均值。还可以存储数据点的当前总和以及点的数目,并将总数除以数据点的数目,以便在每次有新的基准点到达时得到CMA。

累积平均公式的推导很直接。使用

对于 n + 1,我们有

求解 就可以得到

其他加权[编辑]

有时计算移动平均时会加入其他变数,例如,“交易量加权”会加入交易量的因素。

内部链接[编辑]

参考文献[编辑]

  1. ^ Statistical Analysis, Ya-lun Chou, Holt International, 1975, ISBN 0-03-089422-0, section 17.9.
  2. ^ The derivation and properties of the simple central moving average are given in full at Savitzky–Golay filter.
  3. ^ NIST/SEMATECH e-Handbook of Statistical Methods: Single Exponential Smoothing 页面存档备份,存于互联网档案馆,National Institute of Standards and Technology

外部链接[编辑]