时间序列学习(6):单整、协整、格兰杰检验

365bet主页器 时间: 2025-09-13 03:17:29 作者: admin 查阅次数: 9537 公众评价: 896
时间序列学习(6):单整、协整、格兰杰检验

时间序列学习(6):单整、协整、格兰杰检验

1、单整序列2、协整关系3、模型解释与协整检验4、华泰柏瑞300与兴全300究竟能否搬砖?

前面的笔记里,我们都是在研究一个时间序列(不同时间段)中的关系及性质。

很显然,我们可以把方法推广到两个时间序列(相同时间段)的研究中去。这就是这篇要讲的协整关系。

1、单整序列

我们在第5篇笔记的第3节里对指数的对数收益率序列做了一次差分。实际我们可以在差分序列上再做差分。

当某一个不平稳的时间序列做了n次差分后第一次变成平稳序列了,那么我们就称这个时间序列为n阶单整。

根据重要统计量(之前介绍过的均值、方差、自相关系数)的可加性,我们有以下两个结论:

平稳序列的线性组合也是平稳的;平稳序列和一阶单整序列的线性组合是一阶单整的;

那么问题来了,两个一阶单整序列的线性组合还是一阶单整的吗?答案是不一定。

2、协整关系

但是有一种情况我们可能用两个一阶单整的序列构造出平稳序列(平稳序列的一阶差分一定也是平稳的)。

对于两个走势很像的时间序列,比如,格力和美的的股价走势,它们的对数收益率序列可以看成股价序列的一阶差分。

从前面的笔记可以假设对数收益率序列是平稳的。所以格力和美的的股价走势可以说是一阶单整的。

因为格力和美的的股价走势强相关,那么可以想象它们股价的差值序列似乎应该是平稳的。如果是平稳的,我们就说格力和美的的股价走势序列具有协整关系(Cointegration)。

更为严格的定义如下。给定两个时间序列

{

x

t

}

\{x_t\}

{xt​}和

{

y

t

}

\{y_t\}

{yt​},它们有如下的线性关系:

y

t

=

α

x

t

+

β

+

r

e

s

i

d

t

y_t=\alpha x_t+\beta+resid_t

yt​=αxt​+β+residt​

其中

{

r

e

s

i

d

t

}

\{resid_t\}

{residt​}是残差序列。若,

{

x

t

}

\{x_t\}

{xt​}和

{

y

t

}

\{y_t\}

{yt​}是一阶单整的,且

{

r

e

s

i

d

t

}

\{resid_t\}

{residt​}是平稳的,那么

{

x

t

}

\{x_t\}

{xt​}和

{

y

t

}

\{y_t\}

{yt​}具有协整关系。

描述协整关系的模型和AR模型很像,都是线性模型。区别在于AR模型描述的是一个序列的不同时间点的关系;协整模型描述的是两个序列的相同时间点的关系。

协整关系通常用在配对交易中,用来判断两个走势相近的标的价格差值序列是否平稳,进而判断这两个标的走势是否平稳。

在实际应用中,我们通常会对标的价格取对数,以减小量纲的影响。

3、模型解释与协整检验

我们针对两个序列寻找它们的协整关系,我们在它们之间建立了下面的关系:

y

t

=

α

x

t

+

β

+

r

e

s

i

d

t

y_t=\alpha x_t+\beta+resid_t

yt​=αxt​+β+residt​

由上式,我们已经假设这两个序列之间是线性关系。究竟具不具有线性关系,实际上需要验证的。所以当我们拟合出模型后,我们首先应该看看模型是否有不错的解释效果(实际上很多人都忽略了这一点);然后我们再进行协整的检验。

验证线性模型的解释效果有很多指标,SSE(和方差)、MSE(均方误差)、RMSE(均方根误差)、MAE(平均绝对误差)、R-Squared(R平方检验,为R平方,修正R平方等)。

因为本篇笔记还是以协整为核心,所以上述方法不详述了。后面碰到实际问题再说。

那么协整性怎么检验呢?一般有两个方法,约翰森(Johansen)检验法与恩格尔-格兰杰(Engel-Granger)检验法。

约翰森(Johansen)检验法针对含有滞后项的情况,如下:

y

t

=

α

0

x

t

+

α

1

x

t

1

+

.

.

.

+

β

+

r

e

s

i

d

t

y_t=\alpha_0x_t+\alpha_1x_{t-1}+...+\beta+resid_t

yt​=α0​xt​+α1​xt−1​+...+β+residt​

本篇笔记考虑更为简单的恩格尔-格兰杰(Engel-Granger)检验法。对于下述关系式进行两步检验:

y

t

=

α

x

t

+

β

+

r

e

s

i

d

t

y_t=\alpha x_t+\beta+resid_t

yt​=αxt​+β+residt​

第一步: 基于OLS方法回归上述模型得到系数;第二步:基于ADF方法检验序列

{

r

e

s

i

d

t

}

\{resid_t\}

{residt​}是否平稳;若平稳,则

{

x

t

}

\{x_t\}

{xt​}和

{

y

t

}

\{y_t\}

{yt​}具有协整关系;否则,“存在协整关系”不成立。

4、华泰柏瑞300与兴全300究竟能否搬砖?

我们用上面的方法来研究两个时间序列:华泰柏瑞300与兴全300的净值序列。这两个序列都是跟踪沪深300的,因此我们会感性上觉得他们的走势应该强相关,所以很多人会用来做搬砖。那么我们看看它们究竟有没有这种强相关的关系,也就是协整关系。

首先,获取华泰柏瑞300(510300.XSHG)与兴全300(163407.XSHE)的2017年1月1日至2019年12月13日的净值序列,然后做对数处理。两者的走势如下:

p1 = get_price('510300.XSHG', start_date='2017-01-01', end_date='2019-12-13', frequency='daily', fields='close')

p2 = get_price('163407.XSHE', start_date='2017-01-01', end_date='2019-12-13', frequency='daily', fields='close')

ln_p1 = log(p1)

ln_p2 = log(p2)

看上去还挺一致。

下面我们构建它们净值之间的线性模型:

Y

=

α

X

+

β

+

r

e

s

i

d

Y=\alpha X+\beta+resid

Y=αX+β+resid

import statsmodels.api as sm

x = ln_p2

y = ln_p1

# 所构建模型若含常数项使用这一步,不含常数项就不含这一句

X = sm.add_constant(x)

result = (sm.OLS(y,X)).fit()

打印拟合结果看看:

红色框体中的R平方分析是模型对原始数据的解释度。0.7左右说明模型的解释性马马虎虎。

绿色框体是我们求得的两个参数:

α

=

0.7082

;

β

=

0.8818

\alpha=0.7082; \beta=0.8818

α=0.7082;β=0.8818。

按照这两个参数可以画出拟合的线性曲线(其实是直线):

fig, ax = plt.subplots(figsize=(8, 6))

ax.plot(x, y, 'o', label="data")

ax.plot(x, result.fittedvalues, 'r', label="OLS")

ax.legend(loc='best')

有了上面的具体参数,残差序列就得到了:

r

e

s

i

d

=

Y

0.7082

X

0.8818

resid=Y-0.7082X-0.8818

resid=Y−0.7082X−0.8818

我们进一步用ADF检验看看其平稳性:

from statsmodels.tsa.stattools import adfuller

adfuller(resid.close)

结果如下:

(-1.5651429207395833,

0.5010757745369381,

5,

713,

{'1%': -3.43955476721974,

'5%': -2.865602155751202,

'10%': -2.5689331692727135},

-4994.155385095142)

t-检验值没有显著小于10%的临界值,说明不能拒绝不平稳的假设。

在statsmodels中有更方便的判断两者是否协整的函数。

from statsmodels.tsa.stattools import coint

coint(x, y)

(-1.4004315479475968,

0.7973652863497567,

array([-3.9117583774179283, -3.3446531236567063, -3.0503622399733086]))

可以看到程序自带的函数进行的协整结果的t-检验值(-1.4004315479475968)也没有显著地小于array中的三个临界值,所以不能接受这两个序列平稳的结论。

我们看看残差序列:

从残差序列也可以大概看出其不平稳性。

因此,利用华泰柏瑞300与兴全300搬砖的小伙伴可要小心,要反复确认它们在所考察的时间段内是否协整,且是否这种协整关系可延续。

另外,我们在建模的时候加入了常数项,也可以将常数项去掉看看建模效果。

关联

人一天最多吃多少豆腐
best365体育入口中文版

人一天最多吃多少豆腐

📅 08-13 👁️ 7940
男人吃女人的下部有什么不好
beat365体育亚洲

男人吃女人的下部有什么不好

📅 06-29 👁️ 4810
7、穿越火线(手游)里面的擎天可以变形吗
beat365体育亚洲

7、穿越火线(手游)里面的擎天可以变形吗

📅 08-27 👁️ 1488

链接