6.9 自回归移动平均模型
自回归移动平均(autoregressive integrated moving average,ARIMA)模型是指经过一个移动的时间窗口,由一个重复的回归分析过程所构建,且能够导出一个基于新拟合度的预测值。在当前阶,ARIMA会自动地适应最重要的回归分析属性,并且能够继续对相应结果进行重新分析,直到发现一组最佳的参数或系数。在第21章中,我们将对一个交易策略所相关的个别参数的选择和测试问题进行讨论,这将涉及其初始值和需要确定的测试范围。相对于某个特殊过程的一部分内容而言,ARIMA做了所有的一切,因为它可以计算最好的拟合度,而且新数据的每一次出现都可能被认为是一个适应的过程。
威斯康星大学的博克思(Box)和詹金斯(Jenkins)对ARIMA模型进行了提炼,并且相关的求解程序已经成为行业的标准, [1] 这种技术通常被称为博克思-詹金斯模型。在ARIMA模型中的两个重要方面是自回归以及移动平均线,自回归是指使用相同的数据进行自预测,例如,只使用黄金价格对未来的黄金行情进行预测;移动平均线是指对价格波动进行平滑处理的正常概念,即使用过去n天的滚算式平均线,移动平均线以及相关的变量将在第7章和第8章中进行彻底的讨论。为了方便计算,这个过程使用一个指数的平滑技术。
在ARIMA过程中,我们使用回归分析来确定以往价格的运行程度,并以之预期未来的价格水平。在1阶自相关中,我们使用前一天的价格进行预期,相应公式为:
式中 pt ——被预测的价格(因变量);
pt-1 ——被用于预测的价格;
a——系数(常数因子);
e——预期的误差项。
在2阶自回归分析中,我们使用前两天的价格:
在上式当中,当前被预测的价格pt 基于前两日的价格pt-1 和pt-2 ,这里有两个独一无二的系数,以及一个预测误差项。同时,我们要用移动平均线来纠正误差项e,即在1阶与2阶移动平均的过程当中二选其一:
式中 Et ——近似的误差项;
et ——今天的预测误差;
et-1 和et-2 ——前两日的预测误差;
b1 和b2 ——两个回归系数。
因为两个常数系数b1 和b2 可以被认为是百分比的值,因此,移动平均过程则类似于指数平滑法。
ARIMA模型的成功取决于两个因素:在自回归分析过程中的高相关性以及预测终值误差的低方差性。到底是使用1阶过程还是使用2阶过程则要基于两个回归分析相关系数的比较结果——如果使用2阶形式得不到任何改善,那就不必使用。同时,预测终值的构建模式是将近似于误差的移动平均项返回添加至自回归的过程之中,相应公式如下:
式中 ——新的预测值;
e′——新的预测误差。
我们可以不断重复移动平均的过程,得到新的误差项e′,然后,将e′添加到之前的预测之中,得到一个新值p″以及另一个误差e″。而当误差项的方差变得足够小时,ARIMA的过程也就完成了。
博克思和詹金斯的贡献是强调了求解过程的简单性。同时,他们认为自回归和移动平均的步骤可能仅被限于1阶或2阶的程序当中,而要做到这一点,首先,我们必须将数据进行去趋势化处理,从而增强相应的平稳性。除却趋势最容易的方法就是将数据进行差分处理,即在每一个pt 项中减去前一项pt-1 ,从而创建一个新的价格系列。当然,ARIMA程序必须记住所有的这些变化或转变。为了存储最终的预测值,我们需要反向应用相应的操作程序,从而得到适当的价格符号。如果在博克思-詹金斯过程中没有找到一个满意的求解方法,那通常是因为数据还不平稳,如此则需要进一步对其进行差分处理。
在上述刚刚讨论的三个属性之中,博克思-詹金斯预测模式通常被显示为ARIMA(p,d,q),这里p是自动回归项的数量值,d是差值的数量值,q是移动平均项的数量值,如此,表达式ARIMA(0,1,1)则等同于简单的指数平滑法,其常用技巧将在第7章进行讨论。而在相应的正态形式之中,博克思-詹金斯的ARIMA程序需要执行以下的步骤。
1.规范相关的运行模式,其初始步骤是确定自回归和移动平均的相应阶数
(1)对方差进行平稳化处理。
在许多价格系列当中,波动率的增长与价格的上升有直接的相关性关系。在股市中,我们常见的假设是:相关性是以对数形式呈正态分布,如此,增长的波动率则呈现对数曲线的形态。对于方差平稳性的测试而言,这里有一个简单的测试模式,即在进行更加复杂的转换之前,我们可以使用对数函数对其进行检验。
(2)相应价格需要除却趋势影响因子。
这里,我们首先可以使用1阶差分模式,然而,在价格系列之中,如果2阶差分(或更高阶差分)能够有助于进一步消除趋势属性的话,那它将被使用(是否使用则由下一个步骤决定)。
(3)规范自回归项和移动平均项所对应的阶数。
在此过程中,我们需要固定之前各项的近似值(数值不一定相同)——在博克思-詹金斯的近似值中,相关数值越小越好。通常,一个数值要用于两个方面, [2] 而较大的数值需要将计算数量迅速扩大,即使是对一台计算机来说也不例外。
自回归项和移动平均项的数值是ARIMA求解过程的重要一环,而相应求解的最后一步就是找到最少的必要条件来解决相关的问题。所有的ARIMA(自回归求和移动平均)程序都会打印一张相关性图表,从而显示其自相关系数。相关性图表则可被用于判定在相关系列当中,所有的趋势以及定义良好的价格周期性运行模式是否已经通过差分的方法被删除了。图6-13运用期货的行情走势、基于20年黄金期货价格的差值显示了从专业统计软件ProStat中输出的15个变量滞后值;如果所表示的任何相关性非常明显(例如,超过0.40),那么,数据会被再次差分。而相关性图表所显示的是相对于之前的数据而言,依赖于当前数据的独立性而生成的可视化序列相关系数,其目标将以不同的方式实现,比如利用用蒙特卡罗程序对投资的风险进行估测,我们将在第23章中对此进行讨论。
图 6-13
注:从自相关导出的ARIMA相关性图表,沿底部所显示的滞后值在左侧给出了相关系数值,其中没有一个是有意义的(基于从专业统计软件ProStat中输出的黄金价格)。
2.评估:确定系数
上一步骤被用于减少在必要的评估过程当中所生成的自回归项和移动平均项的数量,其解决方法就是将预测误差最小化。而在误差最小化的过程中,相应程序将在价格上执行一个线性或非线性的回归模式(主要根据被选择的数量),从而确定评估之中的误差;然后,使用移动平均法求出误差的近似值。接下来,我们会观察到新的误差系列,其用于评估相关的预测,以便纠正错误,而我们需要不断重复前述过程,直到相应的测试结果能够得到进一步的改善。
当确定ARIMA过程是否成功之时,我们要在每一个评估结束之后进行三个测试,即
(1)比较系数值的变化——相对于各种相关系数值而言,如果近期的估测值没有使其发生变化或变化很小,那就说明相关模型已经成功地融合到了一个求解的过程当中;
(2)比较误差的平方之和——如果误差值小或者相对保持不变,那就说明这个程序成功了;
(3)运行一组估测值——除非设置一组估测值的上限,否则一个ARIMA程序需要无限地运行。因为某些突发事件没有被收敛到相关的求解过程之中,所以安全性的测试是很有必要的。一旦测试成功,可以使用O-statistic统计函数对任何趋势进行检测,进而对误差项进行评估。如果存在一个误差,那么我们就可以用一个附加移动平均项来消除。
6.9.1 测试结果的预期
一旦我们确定了相应的系数,那就可以凭之计算相关的预测值,这些预测值对第二日而言是最准确的,但是,其对后续的几天来说,就没有多大的置信度了(见图6-14)。
图6-14 在持续被使用的情境之下,ARIMA预测模式则不会那么准确
如果预测程序失效,那要怎么办呢?首先,我们应该对相应的程序进行检查,看一看它是否被正确地运行,从而确保任何数据的转换都呈现反相关模式。在使用相关性图表之时,我们要特别注意趋势的化解方式,接下来,我们要检查程序之中所使用的数据——如果数据样本发生变化(可在价格图表中观测),我们就要选择比较均匀的数据(即类似于当前行情周期所相关的数据)所对应的更短或更长的时间序列。
6.9.2 ARIMA程序所相关的交易策略
本书最初所感兴趣的是交易员阿农(Anon)使用的一个提前5天的预测模式, [3] 即如果我们使用ARIMA程序预测一个上升趋势而价格却低于预期值,那么,于这时,相关市场就会因信心的增加而出现多头订单(交易者会通过低于预估值的价格做多,且同时可以预期低风险和高利润),而选择较好入场点位的相关技术可能会弥补一些在预测方法之中潜伏的不准确因素所造成的缺陷,因为这种方法的危险在于价格可能会悖于预期而反向运行。
1.顺势交易原则
我们使用提前1天的预测模式来确定趋势的方位——如果预期价格会走高,那我们就构建多头仓位,而如果相应程序显示价格会走低,那就以空头的方式构建相应的头寸。
2.均值回归的指标系统
我们可以利用ARIMA模式的置信带来确定超买或超卖的情境,即当价格穿透95%置信带的最低点时,我们不仅可以入场构建多头仓位,还可以在价格回调至50%的置信水平时将多头仓位平掉。尽管均值回归交易是诱人的,但是与顺势交易相比,均值回归交易总是附带更多的风险。一个保守的交易者只会沿着ARIMA模式所预测的趋势方向从事交易,如图6-14所示,如果这个趋势是向上的,那么,只有在其穿透了较低的置信带时,我们才可以使用均值回归的方法植入一张多单。
3.高点和低点的应用法则
隐含的高点和低点以及独立预测的高点和低点也可以是其他交易策略的基础, [4] 下面就是两个应用于盘中价格的交易策略。
(1)现在,我们基于收盘价,应用置信带的理念进行分析:当价格穿透了盘中所期待的高点时买入,或者在价格穿透了盘中所期待的低点时卖出,并且在收盘的时候平仓结算,同时我们要使用止损盘。另外,仓中头寸的方向要与ARIMA模式所生成的趋势相同。
(2)基于每天的高点和低点价格应用单独的ARIMA模型:在价格穿透高点以下50%的价位时买入,并且在价格穿透低点之上50%的价位时卖出,在收盘时平仓结算,同时设置止损单。
4.效率
在“顺势交易”中,我们需要提前一天进行预测,而以上几个段落的实质问题就是把握趋势线的斜率——无论是回归项还是移动平均项,定向分析的目的是想摒弃噪声,进而发掘价格的真正方向。因此,趋势线的斜率,或称回归预测的方向性能够给出合乎逻辑的答案。
对于触发新的定向信号而言,其比较流行的替代模式是相应行情穿透了一个固定的包络线或者轨带值。我们使用回归方法进行分析,从中发现相应的置信带可以用置信水平来代替。其实,随机数值、假破行情、破位下降等模式显示置信带距离趋势线越来越远,穿透的次数也越来越多。在任何带线的范围之中,仍然会有大量的错误信号。因此,斜率本身则可以被视为最好的、近似的行情走势。
6.9.3 卡尔曼过滤法则
卡尔曼为自回归求和移动平均的ARIMA模型提供了一种近似替代的方法,即生成一个基础资产的预测模型(信息模型),且以之与其他的适时信息(观察模型)相结合。信息模型可以是任意的交易策略,如移动平均线或者回归模式;观察模型可能来自专家或场内经纪人的公开电话,如市场流动性或在海外交易所相同的股票市场与指数市场内更早地进行交易,所有这一切都可以被定为预测输入的良好选项。
我们假设原始的预期(信息)模型为:
同时,相对的观测模型为:
其中,me和oe分别是信息模型和观察模型的误差项。
我们将上式合并,然后用观察模型的误差项进行修正,进而得出第t+1期的预测值,即
其中,K是卡尔曼增益系数, [5] 其是调整误差项的一个因子。
[1] G.E.P.Box and G.M.Jenkins,Time Series Analysis:Forecasting and Control,2nd ed.(San Francisco:Holden-Day,1976).
[2] 自回归与运动平均。——译者注
[3] Louis J.Anon,“Catch Short-Term Profits with ARIMA,”Commodities Magazine(December 1981).
[4] John F.Kepka,“Trading with ARIMA Forecasts,”Technical Analysis of Stocks & Commodities(August 1985).
[5] 更完整的讨论请参见Andrew D.Seidel and Philip D.Ginsberg,Commodities Trading(Englewood Cliffs,NJ:Prentice-Hall,1983),or R.E.Kalman,“A New Approach to Linear Filtering and Prediction Problems,”Journal of Basic Engineering(March 1960)。