2. 跨品种套利原理:相关性分析、价差回归、统计套利框架

各位,咱们今天聊点实在的。跨品种套利,说白了就是找两个关系密切的品种,利用它们之间暂时的价格失衡来赚钱。我做了这么多年,发现很多人一上来就盯着波动率曲面看,却忽略了最基础的套利逻辑——嗯,地基没打牢,房子盖再高也悬。

2.1 相关性分析:别只看皮尔逊

做跨品种套利,第一步肯定是看相关性。但我得提醒你,千万别迷信皮尔逊相关系数。我在项目中遇到过好几次,两个品种的皮尔逊系数高达0.95,结果一开仓就亏钱。为什么?因为皮尔逊只捕捉线性关系,而金融数据哪有那么乖?

我个人习惯用三种方法综合判断:

  • 皮尔逊相关系数:快速筛选,但只做参考
  • 斯皮尔曼秩相关系数:对异常值更稳健,适合非正态分布
  • 肯德尔相关系数:小样本下表现更好,我常用它做最终验证
我的经验: 如果皮尔逊和斯皮尔曼的结果差异超过0.1,说明数据里可能有非线性关系或者异常值。这时候我会先做数据清洗,而不是直接上模型。

举个例子,螺纹钢和热卷。这两个品种基本面高度相关,但它们的相关性会随着季节、政策、库存周期变化。你拿一年的数据算出来0.9,但最近三个月可能只有0.6。所以,我建议用滚动窗口计算动态相关性,窗口大小我一般选60个交易日。

# 滚动相关性计算示例
import pandas as pd
import numpy as np

def rolling_corr(series1, series2, window=60):
    return series1.rolling(window).corr(series2)

# 螺纹钢和热卷的日收益率
rb_returns = rb_prices.pct_change()
hc_returns = hc_prices.pct_change()

rolling_corr_rb_hc = rolling_corr(rb_returns, hc_returns)

2.2 价差回归:均值回归是核心信仰

跨品种套利能赚钱,本质上赌的是价差会回归均值。但这里有个坑——你得先确认这个价差是平稳的。我曾经吃过这个亏,用两个非平稳序列做套利,结果价差越走越远,亏得我头皮发麻。

检验平稳性,我一般用ADF检验。但注意,ADF检验的p值要小于0.01我才敢用,0.05我都觉得悬。为什么?因为金融数据的噪声太大,0.05的显著性水平下,假阳性的概率比你想象的高得多。

核心要点: 价差回归的前提是价差序列平稳。不平稳的价差,做套利就是赌博。

价差的计算方式也有讲究。最简单的就是直接相减:

spread = price_A - hedge_ratio * price_B

这个hedge_ratio怎么定?我建议用OLS回归,但要注意:

  • 回归前先检查残差是否平稳
  • 如果残差不平稳,试试用对数价格回归
  • 实在不行,考虑用协整检验(Johansen检验)

你想想看,如果两个品种的价差长期偏离均值,要么是基本面变了,要么是你选错了配对。这时候硬着头皮做套利,跟接飞刀没什么区别。

2.3 统计套利框架:从信号到执行

好了,前面铺垫了那么多,现在说说完整的框架。我把它分成四步:

  1. 配对筛选:用相关性+协整检验选出候选组合
  2. 价差建模:确定价差的计算方式和回归阈值
  3. 信号生成:当价差偏离均值超过N个标准差时开仓
  4. 风险管理:设置止损、仓位控制、动态调整

这里我画了一张流程图,把整个逻辑串起来:

统计套利框架流程图 1. 配对筛选 2. 价差建模 3. 信号生成 4. 风险管理 动态调整 核心逻辑:价差偏离 → 开仓 → 价差回归 → 平仓 关键参数:开仓阈值(2σ)、止损阈值(3σ)、持仓周期(5-20天)

这张图看着简单,但每个环节都有坑。我重点说说信号生成这一步。

2.4 信号生成:阈值怎么定?

最常见的做法是用均值±N倍标准差作为开仓信号。N取多少?我见过有人用1.5,有人用2,有人用3。说实话,没有标准答案。我的经验是:

  • 高流动性品种(如股指期货):N=2,因为价差回归快
  • 低流动性品种(如某些商品):N=2.5或3,防止假突破
  • 波动率高的市场:动态调整N,比如用滚动标准差
我曾经踩过的坑: 用固定阈值做豆粕和菜粕的套利。有一年价差波动突然放大,2σ的阈值一天被触发好几次,手续费都亏掉了。后来我改用自适应阈值,根据近期波动率动态调整,情况才好转。

另外,开仓后不是傻等回归。我一般会设一个止损线,比如价差继续扩大到3σ就止损。为什么?因为价差可能已经发生了结构性变化,继续扛单就是等死。

2.5 实战中的细节

最后说几个实战中容易忽略的点:

环节 常见问题 我的建议
数据频率 用日线还是分钟线? 日线做长周期套利,分钟线做高频。我一般先用日线筛选,再用分钟线执行
手续费 忽略手续费导致策略失效 把手续费算进价差里,开仓阈值要覆盖双边成本
滑点 回测完美,实盘亏损 回测时加一个滑点模拟,我一般加1-2个tick
仓位管理 单品种仓位过重 单个配对不超过总资金的5%,分散到5-10个配对

嗯,说到仓位管理,我再啰嗦一句。跨品种套利虽然风险相对低,但也不是稳赚不赔。我见过有人用10倍杠杆做套利,结果一个黑天鹅事件,价差瞬间突破历史极值,直接爆仓。所以,杠杆控制在2-3倍就够了,别贪。

好了,这一章的内容就这些。记住,统计套利的核心不是预测方向,而是赌价差会回归。只要你的配对选对了,阈值设合理了,剩下的就是耐心等待。

一句话总结: 相关性是基础,平稳性是前提,阈值是艺术,风控是底线。

公众号:蓝海资料掘金营,微信deep3321