统计套利基础:均值回归理论、协整性检验、价差序列的平稳性
做配对交易这些年,我越来越觉得——统计套利就像是在金融市场里「捡烟蒂」。你不需要预测价格涨跌,只需要找到那些暂时偏离轨道的配对,等它们自己回来。说白了,这是一门关于「回归」的艺术。
今天我们就来聊聊统计套利的三大基石:均值回归、协整性检验、价差平稳性。这三个概念,我建议你当成一个整体来理解。它们环环相扣,缺一不可。
1. 均值回归:市场的「橡皮筋」效应
先问个问题:为什么价格不会永远朝一个方向跑?
嗯,因为市场有「橡皮筋」。当两个相关性很强的资产价格差距拉得太大时,总有一股力量把它们往回拽。这股力量,就是均值回归。
我在2018年做过一个实验:用茅台和五粮液做配对。当时茅台涨得猛,五粮液跟得慢,价差一度扩大到历史极值。很多人觉得「这次不一样了」,结果呢?两个月后价差乖乖回归。市场就是这样,它偶尔会发疯,但不会永远发疯。
均值回归的数学表达其实很简单:
价差 = 资产A价格 - β × 资产B价格
当价差偏离均值超过2个标准差时,我们认为是「开仓信号」。
当价差回归到均值附近时,我们认为是「平仓信号」。
你想想看,如果价差永远不回均值,那配对交易就没法做了。所以,判断一个配对是否适合做统计套利,第一步就是看它有没有均值回归的特性。
2. 协整性检验:找到「真命天子」
这里有个常见的坑:很多人把相关性当成协整性。
相关性高,不代表两个资产会一起回归。举个例子,两个股票可能都跟大盘涨跌,但它们之间的价差可能越走越远。这就是「伪回归」。
协整性检验,说白了就是判断两个时间序列是否存在长期稳定的线性关系。如果存在,那它们的价差就是平稳的,可以做配对交易。
我个人习惯用 Engle-Granger 两步法,简单粗暴:
- 第一步: 用 OLS 回归估计协整系数 β
- 第二步: 对残差序列做单位根检验(ADF 检验)
代码实现也不复杂:
import statsmodels.api as sm
from statsmodels.tsa.stattools import adfuller
# 假设 price_A 和 price_B 是两个价格序列
# 第一步:OLS 回归
X = sm.add_constant(price_B)
model = sm.OLS(price_A, X).fit()
beta = model.params[1]
# 第二步:计算残差(价差)
spread = price_A - beta * price_B
# ADF 检验
adf_result = adfuller(spread)
p_value = adf_result[1]
if p_value < 0.05:
print("协整关系成立,可以做配对交易")
else:
print("不协整,换个配对试试")
3. 价差序列的平稳性:交易的前提
平稳性,是统计套利的命门。如果价差不平稳,你的止损止盈就没法设,因为均值一直在漂移。
什么叫平稳?简单说就是:均值和方差不随时间变化。价差在某个固定值附近波动,不会越走越远。
检验平稳性,除了上面提到的 ADF 检验,我还会用 KPSS 检验 做双重确认。为什么?因为 ADF 的零假设是「序列不平稳」,KPSS 的零假设是「序列平稳」。两个一起用,心里踏实。
| 检验方法 | 零假设 | 我的用法 |
|---|---|---|
| ADF 检验 | 序列不平稳 | p < 0.05 时拒绝零假设,认为平稳 |
| KPSS 检验 | 序列平稳 | p > 0.05 时不能拒绝零假设,认为平稳 |
我曾经踩过一个坑:用日线数据做协整检验,结果很漂亮。但换到小时线,价差完全不平稳。后来我才意识到,协整关系有时效性。你用的数据频率不同,结论可能完全不同。
知识体系总览
下面这张图,是我自己整理统计套基础时的思维导图。你可以把它当成一个检查清单:
看到这张图,你应该能明白:这三个概念不是孤立的。协整性检验是「入场券」,价差平稳性是「游戏规则」,均值回归是「赚钱逻辑」。三者缺一不可。
最后说一句:统计套利不是万能钥匙。它只在特定市场环境下有效。但如果你能把基础打牢,它绝对是你工具箱里最锋利的一把刀。
公众号:蓝海资料掘金营,微信deep3321