股市中的时光法则(上)

发布于: 雪球转发:0回复:0喜欢:2

导读:本期将会从金融时间序列的角度,以沪深300的收益和价格作为研究标的,分别使用AR模型,MA模型以及ARIMA模型尝试拟合和预测,详述模型使用流程,以及模型与模型之间的表现差异。

一、 时间序列的平稳性

金融时间序列的平稳性通常被分为严平稳和宽平稳两类。其中,严平稳需要两个时间序列在时间的平移变换下,联合分布依旧保持不变。而宽平稳只需要序列的均值、方差相同即可。 由于严平稳的实现较为困难,所以一般来说平稳时间序列指的是宽平稳。如果一个时间序列是非平稳性的,我们可以通过多次差分的方法处理为宽平稳序列。

我们选取2017-11-25到2019-01-25的时间窗口作为研究对象。下列,我们就展示对沪深300指数价格使用了2次和20次的差分。显而易见,差分次数越多,平稳性越高。

                                                         差分处理展示图

二、 自相关函数

自相关函数,即ACF函数,它的含义是衡量序列数据和自己的相关程度,即x(t)和过去某个时间x(t−l)的相关性:

                                                    ACF函数-公式展示

该假设检验统计量服从自由度为m的卡方分布。原假设为所有自相关系数为0,取显著水平为0.05,若所有p值均小于0.05则拒绝原假设,认为该序列存在序列相关性。

以下是该假设检验统计量为:

                                                 假设检验统计量-公式展示

我们分别对沪深300价格和收益进行ACF 拟合,取10作为lag数,得到P value均小于0.05,说明这两类序列皆相关。

                                           代码展示(文末获取完整代码)

我们这里仅展示沪深300价格的ACF检测后,得到的相关性,Q检验统计量和P值。

LagACFQ_testP_value10.989 263.068 3.67864E-5920.978 521.363 6.1316E-11430.967 774.996 1.145E-16740.954 1022.852 3.9818E-22050.942 1265.390 2.0101E-271

ACF检测数据展示

同时,我们画出沪深300价格和收益的ACF相关性序列图,我们可以发现随着横坐标lag数的增大,纵坐标相关性系数不断减弱,逐渐归拢在深蓝色置信区间内。

                                                      ACF相关性序列图


三、 自回归模型

1. AR模型的定义

自回归模型,又称AR模型,其公式为:

                                                  AR模型-公式展示

AR自回归模型的3个条件如下:

条件1:保证模型的最高阶数为p,即:

                                               AR自回归模型条件1

条件2:要求随机干扰序列为零均值白噪声序列,即:

                                             AR自回归模型条件2

条件3:当期的随机干扰与过去的序列值无关,即:

                                               AR自回归模型条件3

我们就先尝试使用5阶AR模型去拟合沪深300的收益,发现拟合程度很低。(如下图)

                                             5阶AR模型拟合沪深300

紧接着,我们使用100阶AR模型去拟合沪深300的收益,发现拟合程度大大提高。(如下图)

                                            100阶AR模型去拟合沪深300

2. 偏自相关函数

我们发现由于AR模型是线性回归模型的一类,故对于线性回归模型的阶数,一般随着阶数的升高,会提高模型的拟合度,但是过高的阶数会造成模型过于复杂,导致过拟合的产生。以下我们使用两种确定AR模型阶数的方法:偏相关函数(PACF)和信息准则函数(AIC、BIC、HQIC)。

首先,我们看一个一阶AR模型:

                                               一阶AR模型展示

我们很清楚地看到,在AR(1)模型中,即使y(t-2)没有直接出现在模型中,但是y(t)和y(t-2)之间也相关, 而PACF偏相关系数将会排除了其他变量的影响之后两个变量之间的相关系数,所以对于AR模型,当超过某个阶数时,偏自相关函数应逐渐趋近于0。

                                              偏自相关函数逐渐趋近于0

上图,是我们对于沪深300的收益得到偏自相关函数图,我们也可以看出随着阶数的增加,其值趋向于0,一般我们只要把最后一个露出置信区间(即蓝色阴影部分)的阶数作为最佳阶数,这里大致是在94阶左右,但阶数太大,对于模型算力要求过高。

                                            代码展示(文末获取完整代码)

3. 信息准则函数

通常情况下,当模型复杂度提高(k增大)时,似然函数L也会增大,从而使AIC变小,但是k过大时,似然函数增速减缓,导致AIC增大,模型过于复杂容易造成过拟合现象。目标是选取AIC最小的模型,AIC不仅要提高模型拟合度(极大似然),而且引入了惩罚项,使模型参数尽可能少,有助于降低过拟合的可能性。

                                            AIC最小-公式展示


BIC贝叶斯信息准则与AIC相似,用于模型选择,1978年由Schwarz提出。训练模型时,增加参数数量,也就是增加模型复杂度,会增大似然函数,但是也会导致过拟合现象,针对该问题,AIC和BIC均引入了与模型参数个数相关的惩罚项,BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。

HQIC则与之前两种方法类似。

                                        代码展示(文末获取完整代码)

我们在沪深300的收益上进行信息准则函数的使用。首先,我们先来看AIC的展示图,我们发现当横坐标为5(即阶数为6),AIC最低,模型最好。

                                                     AIC展示图

接下来,我们来看BIC和HQIC的展示图,我们发现当横坐标为0(即阶数为1),BIC和HQIC最低,模型最好。但当阶数为1时,模型拟合程度会特别差,故不考虑。

                                                           BIC展示图

                                                        HQIC展示图

故我们采纳AIC得出的5作为阶数。

4. 有效性检验

一个好的拟合模型应该能够提取观测值序列中几乎所有的样本相关信息,即残差序列应该为白噪声序列。

                                      代码展示(文末获取完整代码)


因此,模型的有效性检验即为残差序列的白噪声检验。如果残差序列是白噪声,那么理论赏其延迟任意阶的自相关系数为 0,考虑数据的偏差,那么绝大多数应该在 0 附近的范围内,通常在 95% 的置信水平(2倍标准差)以内。我们使用之前确定的5阶AR来进行。

                                               残差序列的白噪声检验

5. AR模型的Adjusted Rsquare

Adjusted Rsquare公式如下:

                                           Adjusted Rsquare展示

我们继续使用5作为阶数,得到相关Adjusted Rsquare值为0.032478175450361024,故解释程度特别差。

四、 MA模型

由于MA模型是白噪声序列(均值方差恒定)的有限线性组合,因此MA模型具有弱平稳性。

                                          MA模型-公式展示

在此之前,我们通过计算偏自相关函数(PACF)等方法可以粗略确定AR模型的阶数。但对于MA模型,由于它是白噪声序列,所以我们只需要需要采用自相关函数(ACF)进行定阶即可。

首先,我们的标的依旧是沪深300的收益率,我们试图确定MA模型的阶数,使用ACF方法,发现阶数为46,对于算力要求过高,故不使用。

                                                            ACF定阶

接下来,我们使用AIC的方法确定试图确定MA函数的最佳阶数,发现当阶数为3时,AIC最低。

                                                      最佳阶数3

于是,我们利用阶数3来进行拟合沪深300的收益,并把拟合值与沪深300收益原值进行对比,发现阶数依旧太少,难以拟合。

                                                  阶数3拟合结果

与此同时,我们依旧使用MA(3)来进行预测,并与原值做对比,可以看出基本难以预测,故使用AIC确定MA阶数在此处不合适,并不能良好的拟合沪深300收益率。

                                                     MA(3)拟合结果

我们由于算力有限,无法使用ACF给出的46作为阶数,但尝试使用10阶来进行预测,发现由于阶数的增加,拟合程度大大增强,如果可以到46阶,可能会有较佳预测表现。

                                                       10阶预测

我们发现在训练集中由于阶数不够,MA(10 )模型的Adjusted Rsquare依旧偏低,仅仅为0.10082118131965845。

                                   代码展示(文末获取完整代码)

五、 ARIMA模型

我们之前主要探讨了AR model和MA model,但它们的缺点显而易见,如果无限增加阶数,势必会很好的拟合图线,但非常容易尝试过拟合的现象。然而使用AIC,BIC等方法确定阶数,也很难达到预期效果。同时也有AR模型和MA模型的组合:ARMA模型和带有差分的ARIMA模型。 故我们继而展开对于ARIMA模型的研究,我们知道ARMA模型研究的对象为平稳时间序列。如果序列是非平稳的,需要通过差分的方法将其变为平稳时间序列,也我们接下来要描述的ARIMA模型。ARIMA模型需要确定三个阶数,AR模型的阶数p,差分的阶数d和MA模型的阶数q,通常写作ARIMA(p,d,q)。

ADF检验

ADF检验下,当p值小于0.05时,ADF test便可以判断序列是平稳的。

                                         代码展示(文末获取完整代码)

首先,我们以沪深300价格,价格的一阶,二阶和三阶差分作为研究标的,得到下列p value值,我们可以看出从一阶差分开始,数据就已经平稳,但为了足够平稳起见,我们依旧取3作为差分的阶数d。

                                                     平稳数据展示

其次,我们开始要确定AR模型的阶数p和MA模型的阶数q值,我们依旧使用AIC的方法进行确认,得到(1,5)作为阶数值。

                                                          确定阶数

我们可以看出拟合程度大大增加,在训练集中的Adjusted Rsquare达到0.6514003653433447。

于是我们进行针对测试集的预测,但效果一般,与之前的单一的AR或MA模型预测能力类似。

预测结果

结束语:针对沪深300的收益或者差分后的股价数据,如果我们单一地使用AR模型或者MA模型是很难在不大幅扩大阶数的情况下对数据进行拟合解释,也做无法预测未来,但如果使用ARIMA模型则对沪深300的差分股价数据具有一定解释能力,但预测能力一般。

参考文献

-AR模型与数据平稳性之间的关系 作者:桂
-ARIMA-GARC-billrate Model,by Hee-seok Park,1999.


MindGo量化研究所精选文章

算法PK | 人工智能对指数涨跌预测

熊市中的摇钱“树”

从资金数据中挖掘市场超额收益【附策略】

资金流动强度与风格投资


如何获取本篇内容的源代码?

Step 1.转发本文至朋友圈,并截图保存

Step 2.添加“同花顺MindGo小助手”微信号,将截图发送给小助手,小助手会回复提取地址和密码

Step 3.登录提取地址,输入密码,下载源码


示意图如下: