24 个回答
这个问题其实很值得思考,而不是直接照搬计量经济学教材或者很犬儒地认为协整没用。我就以纯理论角度试答 “统计套利中的协整”,而不仅仅是时间序列分析中的协整 。
在计量经济学的范畴内,协整有很多方法,比如常见的Engel-Granger Test、Johansen Test等等,回答题主的问题可能把这几个方法摆上来就皆大欢喜,反正很多人都觉得这是几句话就能解决的问题。但是,计量经济学往往教给了我们模型和方法,但其背后的原理很少有人深究,我们往往直接就拿着方法去解决实际问题了,而且问题本身和计量方法之间究竟有什么关联,更是很少有问题研究者会去深究。
当然这里没有批评计量经济学的意思,事实上这是一门很了不起的学科,我本人也很喜欢。只是在这个“协整在统计套利中的应用”的问题背景下,照搬计量经济学教材是没有意义的,特别是一想到要解释向量自回归(VAR)/向量移动平均(VMA)、平稳性(stationarity)、单位根(unit root)、时间序列分解(decomposition)等等概念。这是不必要的。而我们要做的是尽可能 直观地 回归到统计套利的基本原理,然后再 探讨一个不限于具体模型的(model-independent)协整理念是为什么、以及如何可以应用到统计套利里面。
统计套利是均值回归策略的一种。在随机过程里,有一个叫O-U过程(Ornstein-Uhlenbeck process)是用来描述均值回归过程的。所以我们从原理上剖析统计套利,是无法绕开O-U过程的。O-U过程就是:
d\mathbf{X_{t}} =\Theta (\mathbf{\mu } -\mathbf{X_{t}} )dt+\mathbf{S} d\mathbf{W_{t} }
如果时序矩阵 \mathbf{X_{t} } 是服从O-U过程,那么它就具有均值回归(mean-reverted)特点。 \Theta 为转移矩阵代表均值回归的速度, \mu 代表均值, \mathbf{S} 代表波动幅度, \mathbf{W_{t}} 代表维纳过程(Wiener process)。可得解析解:
\mathbf{X_{t } =e^{-\Theta } X_{0} +\mu (1-e^{-\Theta t } )+\int_{0}^{t }e^{-\Theta (t-u )} S dW_{u} } (详见wikipedia)
那么这个O-U过程有什么用呢?我们先不要着急,也不要纠结这一坨东西是什么。
我们先回到这个随机微分方程中的 \Theta 。由于 \Theta 矩阵在实数域,那么它的特征值可能是实数,也可能是共轭复数: (\lambda _{1},...,\lambda_{K}) 和 (\gamma_{1}\pm i\omega_{1},...,\gamma_{J}\pm i\omega_{J}) ,K+2*J=N。
我们令矩阵 \mathbf{ A} 为剔除虚部的特征向量,那么转移矩阵 \Theta 就可以分解为:
\mathbf{ \Theta \equiv A \Gamma A^{-1} }
然后我们就要在矩阵 \mathbf{ A} 上做些文章了。我们引入一个仿射变换(affine transformation)
\mathbf{z = f(x) \equiv A^{-1}(x-\mu )}
通过伊藤引理(Ito's Lemma)将 \mathbf{z} 带入到O-U过程里,得到
d\mathbf{Z_{t}}=-\mathbf{\Gamma Z_{t}}dt+\mathbf{V}d\mathbf{W_{t}} (其中 \mathbf{V\equiv A^{-1}S} )
因为这也是一个O-U过程,所以它的解同样服从正态分布( \mathbf{Z_{t}\sim N(z_{t},\Phi _{t})} ),其中 \mathbf{z_{t}} 为确定性漂移项, \mathbf{\Phi _{t}} 为自协方差(autocovariance),也即是 Cov\left\{ \mathbf{Z_{t},Z_{t+\tau }|Z_{0}} \right\} 。
\mathbf{z_{t}} 的解在这里就不做推导了,但知道了 \mathbf{z_{t}} 的解,我们就可以知道了 \mathbf{X_{t} } 的解,即
\mathbf{X_{t}\equiv \mu+Az_{t}} 。由此我们看到 \mathbf{X_{t} } 中每个 x_{t} 的运动是不独立的,所以我们来看看 \mathbf{z_{t}} 的自协方差矩阵,实际上也就是 \mathbf{X_{t} } 的自协方差矩阵。这里的推导过程过于繁琐,只写最终结果:
Cov\left\{ \mathbf{Z_{t},Z_{t+\tau }|Z_{0}} \right\} =\int_{0}^{t} \mathbf{e^{-\Gamma s}\Sigma e^{-\Gamma' s}}ds\cdot \mathbf{e^{-\Gamma' \tau}}
其中, \mathbf{\Sigma = VV^{-1}=A^{-1}SSA^{'-1}}
从这个自协方差矩阵的显式解(详见文末Appendix)可以看出,如果 \lambda_{k} \leq 0 或者 \gamma_{j} \leq 0 ,转移矩阵 \Theta 中任意一个特征值为非正数,那么 \mathbf{X_{t} } 的协方差矩阵就不收敛(not converge)。换句话说, 当且仅当 \Theta 的特征值的实部全都为严格正(strictly positive), \mathbf{X_{t} } 才是 平稳的 (stationary)。
但是, 只要当 \Theta 的特征值存在严格正实的,那么 \mathbf{X_{t} } 的协方差矩阵的对应行/列在经过变换之后就平稳下来了。也就是说,这些过程及其线性组合也可以是平稳的。这样的线性组合我们就称之为 协整 的。
为了更好地理解协整,我们再把O-U过程的离散形式写出来:
\mathbf{X_{t+\tau }-X_{t}=\Psi_{\tau }(X_{t}-\mu)+\varepsilon _{t,\tau}}
其中转移矩阵 \mathbf{\Psi _{\tau }=e^{-\Theta \tau}-I} .
如果矩阵 \Theta 的特征值中有0,那么矩阵 \mathbf{e^{-\Theta \tau}} 有单位特征值。拥有这种特点的随机过程就是 单位根 过程(unit root process)。如果矩阵 \Theta 为零矩阵,那么 \mathbf{e^{-\Theta \tau}} 就变成了单位矩阵, \mathbf{\Psi _{\tau }} 也就变成了零矩阵,O-U过程就变成了 随机游走 (random walk)。
再多说两句,大家熬一熬。
假设矩阵 \Theta 有L个特征值为0,那么矩阵 \mathbf{\Psi _{\tau }} 的秩就是N-L。矩阵 \mathbf{\Psi _{\tau }} 又可以写作
\mathbf{\Psi _{\tau }=\Phi_{\tau }^{T} \Upsilon_{\tau } } .
\mathbf{\Phi_{\tau} } 和 \mathbf{\Upsilon_{\tau} } 都是(N-L)*N的满秩矩阵——看到这里应该有人能找到你们教材里的Johansen Test的影子了吧。这种表示法也就是O-U过程的 误差修正 (error correction)。而且这种表示法并非唯一。当矩阵 \Theta 有L个正特征值时,就有L个线性组合 \mathbf{\Upsilon_{\tau} X_{t}} 是平稳的,收敛于 \mathbf{\Upsilon_{\tau} \mu} .也就是说, 当time horizon被无限拉长, \mathbf{\Upsilon_{\tau} X_{t}} 的方差是无限逼近于零的。 那么我们实际要构建的协整的线性组合的目标就是要将条件方差最小化。这样一来,协整检验其实是可以放宽的。
因为协整,特别是放在统计套利语境下的协整,不是机械地去做假设检验,至少不仅仅是个假设检验。Fischer Black就说过显著性检验本身对于真实世界的研究没有丝毫价值,而研究最好的方法还是要去探究模型(to explore a model)。本着这个精神,你可以有相当数量的方法构建出一个“协整”组合,这个协整未必需要通过协整检验,相反,
哪怕你用基本面构建出来的组合也可以是协整的,只要在你探究统计套利本身的模型之后,按照你的理解,做出你的仿射变换。
所以你看,我啰嗦这么半天,榨干了自己全部的数学知识,还讲得一点都不直观,遭人吐槽,根本无法给你带来aha时刻......
所以你看,之所以统计套利会用到协整,是因为 协整是天然的(innate)统计套利 。同时这一番推导也告诉我们, 协整其实是个可扩展的方法,统计套利也就相应的是个可扩展的策略。 有没有觉得人生豁然开朗?
所以你看,“人拥有此生此世是不够的,他还需要一个诗意的世界。”要理解统计套利和协整在其中的应用,哈佛商学院式的案例学习法仍是不够的,我们还需要深刻理解概念和理论本身。当你真的透彻理解一个概念,你会发现你之前所试图依赖的具体算法和实例可能只是一个窄门,而你要见天地。
参考文献
[1] Explaining Cointegration Analysis: Parts I and II, by David Hendry and Katarina Juselius, 2000 and 2001. Energy Journal.
[2] Review of Statistical Arbitrage, Cointegration, and Multivariate Ornstein-Uhlenbeck
by Attilio Meucci, 2010, SSRN
[3] Cointegration Based Statistical Arbitrage by Markus Harlacher, 2012. Masters Thesis, ETH Zurich.
[4] 高级计量经济学(下),靳云汇、金赛男等,2011,北京大学出版社
Appendix: OU的自协方差矩阵的显式解
\mathbf{X_{t} } 的自协方差矩阵 Cov\left\{ \mathbf{Z_{t},Z_{t+\tau }|Z_{0}} \right\} =\int_{0}^{t} \mathbf{e^{-\Gamma s}\Sigma e^{-\Gamma' s}}ds\cdot \mathbf{e^{-\Gamma' \tau}}
其中, \mathbf{\Sigma = VV^{-1}=A^{-1}SSA^{'-1}}
任取两个特征值为实数的行/列得到的协方差为
\Sigma_{k,\tilde{k} }(t)=\frac{\Sigma_{k,\tilde{k} }}{\lambda_{k}+\lambda_{\tilde{k} }} (1-e^{-(\lambda_{k}+\lambda_{\tilde{k} })t})
任取一个特征值为实数的行/列与一个特征值为复数的行/列得到的协方差为
\Sigma_{j,k}^{(1)}(t)=\Sigma_{j,k}^{(1)} C(t;\gamma_{j}+\lambda_{k},\omega_{j})-\Sigma_{j,k}^{(2)} S(t;\gamma_{j}+\lambda_{k},\omega_{j}) ;
\Sigma_{j,k}^{(2)}(t)=\Sigma_{j,k}^{(1)} S(t;\gamma_{j}+\lambda_{k},\omega_{j})+\Sigma_{j,k}^{(2)} C(t;\gamma_{j}+\lambda_{k},\omega_{j})
其中, C_{\gamma ,\omega}(t) =\frac{\gamma -e^{-\gamma t}(\gamma cos\omega t-\omega sin\omega t)}{\gamma^{2}+\omega^{2}} , S_{\gamma ,\omega}(t) =\frac{\gamma -e^{-\gamma t}(\gamma sin\omega t+\omega cos\omega t)}{\gamma^{2}+\omega^{2}}
任取两个特征值为复数的行/列得到的协方差推导出的结果很复杂,而且没什么美感,且无关大局,更不会有人看,故略去。
协整(cointegration)是指多个order 1的时间序列通过线性组合,可以形成一个order 0的时间序列。
想要理解上面这句话,就要先了解什么是order of integration,记作I(n)。
I(n)是指一个时间序列至少需要通过n次差分,才能变成一个协方差稳定的序列(covairance stationary process),也就是I(0)。如果用移动平均模型构建I(0)序列的话,就需要使得:
中随机项系数绝对值的平方和小于无穷,即:
便于理解,你可以认为I(0)的时间序列会在其均值附近波动,不会偏离太多。举个列子,一个标准正太分布的时间序列就是一个I(0)的时间序列。
现在我们可以回到协整了。假设有股票A和B。通过观察不难发现它们不属于I(0)。
然而通过一次差分,我们发现股票A的每日价差是I(0)序列(先假设是,之后会谈到如何验证)。股票B同理。那么股价A和B就是I(1)时间序列。
并且神奇的是通过买入一份A,卖出两份B,我们可以得到一个价差。而这个价差是一个I(0)时间序列。那么我们就可以说A和B的时间序列是协整的。
想要知道如何验证一个序列是不是协方差稳定,请搜索“单位根检测”(unit root test)。
--------------------------------------------------------
明明能简单说清的东西,为什么要整那么多吓人的公式呢?