简单移动平均线及其响应能力

简单移动平均线及其响应能力

一条简单移动平均线(SMA)往往使用一个固定天数来计算其新数值。例如,当采用最近10天的数据来计算一条10日简单移动平均线时,我们忽略了市场的波动性。不幸的是,当前实际价格与移动平均线之间的间距会随着市场的快速变化而增大。用百分比来衡量,实际价格很容易较移动平均线相隔1%~20%。

考虑两条日收盘价移动平均线;短期移动平均线参数为5日,长期移动平均线参数为10日。如果市场快速移动,短期移动平均线要比长期移动平均线更早出现响应。在计算5日SMA时,每日收盘价,包括最新收盘价,均为20%的权重。10日SMA中,最新收盘价的权重是10%。短期移动平均线之所以比长期移动平均线响应快得多,是因为它使用的新数据所占权重大的缘由,而且最新价格与短期移动平均线之间的价格间距更小。

表3.1列出了模拟计算值。表中各列展示了新收盘价数据的20%部分是如何让5日SMA比10日SMA对价格变化更敏感的。例如,在表中最后一行,收盘价高于5日SMA值14.75%。同一收盘价要高出10日SMA值20.48%。因此,更敏感的短期平均线缩窄了其与最新收盘价之间的间距。

该表阐释了弹性移动平均线背后的关键理念:当市场波动性增大时,通过减小移动平均线的步长来增强其对价格波动的敏感性;或在市场波动性减小时,增加移动平均线的步长。如果可能的话,通过自我调节步长,使平均线适应市场行为。

波动率指数

需要一个波动率指数来告诉我们市场氛围是在升温还是在降温。波动率可以用过去x天的收盘价标准偏差来衡量。

为了形成指数,还需要一个x天内标准偏差的参考值。该参考值将告诉我们所观察到的标准偏差过高还是过低。然后,我们参考当前波动率与历史波动率,就可以定义一个如下的波动率指数:

k=σ(x天数)/σ(参考值)                                                         (3.1)

式中,σ(x天数)是x天内各收盘价的标准偏差,σ(参考值)是标准偏差在x天内的历史值。例如,可以使用σ的20日移动平均线作为参考值,这将成为σ的历史参考值。也可以使用5倍时间周期的σ的平均值来计算标准偏差。

第三种方法是寻找x天内标准偏差的最大值和最小值,然后选择一个经验值为参考值,经验值是最大值的1/4或1/5。

下一个问题是选择移动平均线。我们将使用指数移动平均线。在数学上的指数平均数应该是一个常数。然而,我们将通过使指数成为一个可变量来偏离这一逻辑。可以把它想象成每天计算一个新的指数平均数。我们将使用一个变化的权重分数,而不是使用固定权重分数来更新平均线的新值。随着步长的变化,计算出的一系列数值将代表指数平均线的数值。

现在,可以用常见的指数平均线方程来写出VIDYA方程式:

VIDYA =α×k×C0+(1-α×k)×C1                                                     (3.2)

该方程中,当日收盘价和昨日收盘价分别标有注脚0和1,我们已经定义过波动率指数k。常数α决定着我们想要调节的指数平均线的有效步长。当k=1时,指数平均线由α决定。当k>1时,新数据在计算指数平均线中起到更大作用,指数平均线中的,有效步长减小。当k<1时,新数据在计算指数平均线中作用变小,指数平均线中的有效步长增大。在选择α值和k值时,必须保证(1-α×k)项永远不会为负数。

VIDYA的动态范围

我们现在可以从指数中估算出该指数平均线的有效步长。例如,设N为指数平均线的天数。指数平均线的α可根据以下方程计算出来:

α=(2/N+ 1)                                                                             (3.3)

从而能通过α项计算出N值:

N=(2-α)/α

插入一个已知的α值就能算出指数平均线的天数。我们将通过构建一张表来展示当波动率指标变化时,VIDYA的步长是如何变化的(表3.2)。

该表显示,随着市场进入平静期以及k<1,VIDYA的步长是增大的。相反,当市场处于活跃期并且k>1时,VIDYA的步长是减小的。当k与α的乘积为0.20时,VIDYA被视为一个9日指数平均线。当由于波动率上升,导致k×α之积在0.04到0.4这10倍范围内变动时,VIDYA的有效步长会从49天减小到4天。这是一个很宽的动态范围。步长为49天的指数平均线要比步长为4的指数平均线运行慢得多。因此,在市场波动率上升的情况下,VIDYA将比同等的指数平均线移动得更快些。