第13章:统计套利进阶:配对交易、均值回归策略、机器学习在套利中的应用、高频套利简介
13.1 从协整到配对交易:我踩过的第一个坑
配对交易,说白了就是找两个“长得像”的品种。
它们价格走势高度相关,但偶尔会走散。走散之后,大概率会重新靠拢。我们就在它们走散时进场,等靠拢时离场。
嗯,听起来很简单对吧?
我刚开始做配对交易时,犯过一个低级错误——直接用皮尔逊相关系数选配对。结果呢?两个品种相关系数0.95,但价差根本不回归。为什么?因为它们是“伪相关”。
真正的配对交易,核心是协整关系。
核心要点:协整 ≠ 相关。两个非平稳序列,它们的线性组合可能是平稳的。这才是配对交易的理论基础。
我个人习惯用Engle-Granger两步法检验协整:
import statsmodels.api as sm
import numpy as np
# 假设 price_a, price_b 是两列价格序列
def cointegration_test(price_a, price_b):
# 第一步:回归
X = sm.add_constant(price_b)
model = sm.OLS(price_a, X).fit()
residuals = model.resid
# 第二步:对残差做ADF检验
adf_result = sm.tsa.stattools.adfuller(residuals, maxlag=1)
p_value = adf_result[1]
return p_value < 0.05, model.params[1], residuals
p值小于0.05,说明残差平稳。这时候才能说两个品种有协整关系。
13.2 均值回归策略:怎么建仓、怎么止损
有了协整关系,下一步就是构建价差序列。
价差 = price_a - hedge_ratio * price_b
这个价差理论上会围绕0均值波动。当它偏离到一定程度,我们就开仓。
我常用的开仓逻辑:
- 价差超过2倍标准差 → 开仓做空价差(卖A买B)
- 价差低于-2倍标准差 → 开仓做多价差(买A卖B)
- 价差回归到0附近 → 平仓
但这里有个坑:价差可能不回归。
我曾经在2015年股灾期间做了一组银行股的配对。价差偏离到3倍标准差,我自信满满地进场。结果价差继续扩大到5倍标准差,直接爆仓。
避坑指南:一定要设止损。我现在的规则是:价差超过3倍标准差,或者持仓超过5个交易日不回归,强制平仓。
止损逻辑代码示例:
def check_stop_loss(spread, entry_spread, current_spread, days_held):
# 止损条件1:价差继续扩大
if abs(current_spread) > 3 * np.std(spread):
return True
# 止损条件2:持仓时间过长
if days_held > 5:
return True
return False
13.3 机器学习在套利中的应用:从线性到非线性
传统的配对交易假设价差是线性回归的。但真实市场哪有这么简单?
我试过用随机森林来预测价差的回归概率。特征包括:
- 当前价差偏离程度
- 过去N日的波动率
- 成交量变化率
- 市场整体情绪指标(如VIX)
模型输出的是“价差在未来N小时内回归的概率”。只有概率超过70%,我才开仓。
from sklearn.ensemble import RandomForestClassifier
# 特征矩阵 X, 标签 y (1表示回归, 0表示不回归)
model = RandomForestClassifier(n_estimators=100, max_depth=5)
model.fit(X_train, y_train)
# 预测概率
prob = model.predict_proba(X_test)[:, 1]
效果怎么样?说实话,比纯统计方法好一些,但也没好到颠覆性的程度。机器学习最大的价值在于特征工程——它能捕捉到一些肉眼看不到的规律。
个人经验:别把机器学习当黑盒。我建议先用线性模型做baseline,再逐步加入非线性特征。这样你能清楚知道每个改进带来了多少收益。
13.4 高频套利简介:速度就是一切
高频套利,说白了就是抢跑。
两个交易所的同一品种,价格出现短暂差异。你在快的交易所买入,在慢的交易所卖出。赚的就是那几微秒的价差。
高频套利的几个关键点:
- 低延迟网络:光纤直连,甚至微波通信。我见过有人把服务器放在交易所机房里,就为了省0.1毫秒。
- 硬件加速:FPGA处理行情数据,GPU做策略计算。纯软件方案根本跑不过。
- 订单簿分析:不是看价格,而是看挂单的深度和变化速度。
嗯,这里要注意:高频套利不是个人玩家能玩的。门槛极高,资金、技术、牌照缺一不可。
我个人建议:如果你刚入门,先从日频配对交易开始。等把协整、均值回归、止损这些基本功练扎实了,再考虑更高频的策略。
13.5 本章知识体系图
13.6 本章小结
配对交易不是万能药。它只在市场结构稳定的环境下有效。一旦市场发生结构性变化(比如政策突变、行业重组),协整关系可能瞬间破裂。
我最后想说的是:任何策略都有失效的时候。关键不是你赚了多少,而是你亏的时候能不能活下来。
做好风控,设好止损。这是我从无数次爆仓经历中总结出的唯一真理。
核心公式回顾:
价差 = Price_A - β × Price_B
开仓条件:|价差| > 2σ
止损条件:|价差| > 3σ 或 持仓 > 5天