4. 相关性研究:品种间价格相关性的度量与筛选方法

做跨品种套利,核心就一句话:找到两个会一起动的品种。但怎么定义「一起动」?靠感觉肯定不行。我见过太多交易员,看着两张K线图走势差不多,就冲进去做套利,结果被市场狠狠教育了一顿。

嗯,这一章我们就来聊聊,怎么用科学的方法度量品种间的相关性,以及如何筛选出真正有套利价值的组合。

4.1 为什么相关性这么重要?

说白了,套利交易的本质就是赌相关性会回归。如果两个品种长期走势高度一致,短期出现背离,那就是机会。但如果它们本来就不相关,那所谓的「背离」可能就是常态,进去就是送钱。

我记得2018年有一次,有人问我螺纹钢和铁矿石能不能做套利。我说你先算算相关系数。他一算,好家伙,才0.3。我说这俩虽然产业链相关,但定价逻辑差异太大,硬做套利风险很高。后来他听了我的建议,没碰这个组合,躲过了一劫。

核心观点: 相关性是套利交易的基础。没有稳定的相关性,就没有套利空间。

4.2 度量相关性的常用方法

市面上度量相关性的方法不少,但真正实战中常用的,其实就那么几种。我一个个说。

4.2.1 皮尔逊相关系数

这是最经典的方法。公式我就不写了,你想想看,它就是衡量两个变量线性相关程度的指标。取值范围在-1到1之间。1代表完全正相关,-1代表完全负相关,0代表不相关。

实战中,我一般这样判断:

  • 0.8以上: 强相关,适合做套利
  • 0.5-0.8: 中等相关,可以做但要小心
  • 0.5以下: 弱相关,不建议做套利

但这里有个坑。皮尔逊相关系数对异常值非常敏感。我曾经处理过一组数据,本来相关系数0.85,结果有一天某个品种因为突发事件暴涨,把相关系数直接拉到了0.6。如果你只看整体数据,可能会错过这个组合。

避坑指南: 计算皮尔逊相关系数前,一定要先做异常值处理。我一般会用3σ原则或者箱线图来剔除异常点。

4.2.2 斯皮尔曼秩相关系数

这个方法和皮尔逊类似,但它用的是数据的排名,而不是原始数值。好处是对异常值不那么敏感。

我个人习惯,在分析农产品时更喜欢用斯皮尔曼。为什么?因为农产品经常有天气炒作,价格会出现极端波动。如果用皮尔逊,很容易被这些极端值带偏。斯皮尔曼就稳健得多。

举个实际例子:豆粕和菜粕的相关性分析。如果用皮尔逊算,可能只有0.7左右。但换成斯皮尔曼,能到0.85。为什么?因为豆粕和菜粕的价差有时会突然拉大,但排名关系其实很稳定。

4.2.3 滚动相关系数

静态相关系数有个大问题:它假设相关性是恒定的。但市场会变啊!

2015年之前,螺纹钢和铁矿石的相关性高达0.9。但供给侧改革之后,螺纹钢的定价逻辑变了,相关性一度降到0.4。如果你还用五年前的数据做套利,不亏钱才怪。

所以,我建议用滚动相关系数。就是取一个固定窗口(比如60个交易日),每天计算窗口内的相关系数。这样你能看到相关性的动态变化。

# Python代码示例:计算滚动相关系数
import pandas as pd
import numpy as np

def rolling_corr(series1, series2, window=60):
    """
    计算两个时间序列的滚动相关系数
    series1, series2: pandas Series,索引为日期
    window: 滚动窗口大小,默认60个交易日
    """
    return series1.rolling(window).corr(series2)

# 示例:计算螺纹钢和热卷的滚动相关系数
rb_price = pd.Series(...)  # 螺纹钢价格数据
hr_price = pd.Series(...)  # 热卷价格数据
rolling_corr_rb_hr = rolling_corr(rb_price, hr_price, window=60)

# 如果滚动相关系数持续低于0.6,就要警惕了
if rolling_corr_rb_hr.iloc[-1] < 0.6:
    print("警告:相关性显著下降,建议暂停该组合的套利交易")
实战技巧: 窗口大小的选择很关键。太短(比如20天)噪音大,太长(比如120天)反应迟钝。我个人偏好60天,差不多一个季度,既能捕捉趋势变化,又不会太敏感。

4.3 筛选有效组合的实战流程

光会算相关系数还不够,你得有一套筛选流程。我总结了一个四步法:

  1. 初筛: 用皮尔逊相关系数快速过滤,保留相关系数绝对值大于0.7的组合
  2. 复筛: 用斯皮尔曼相关系数验证,剔除那些因为异常值导致高相关的组合
  3. 动态检验: 计算滚动相关系数,确保相关性在最近一段时间内保持稳定
  4. 逻辑验证: 从产业链角度分析,这两个品种是否有真实的套利逻辑

第四步很多人会忽略。我见过有人算出铜和铝的相关系数高达0.85,兴冲冲要做套利。但仔细一想,铜和铝虽然都是有色金属,但下游应用完全不同,定价逻辑差异很大。这种高相关可能只是宏观因素导致的伪相关,一旦宏观环境变化,相关性就会崩塌。

4.4 知识体系框架

下面这张图,是我自己整理的相关性研究框架。你一看就明白了。

相关性研究知识体系 核心目标:找到稳定相关的品种组合 度量方法 皮尔逊相关系数 线性相关,对异常值敏感 适合:工业品、股指 斯皮尔曼秩相关系数 基于排名,抗异常值 适合:农产品、波动大的品种 滚动相关系数 动态观察,捕捉变化 适合:所有品种(推荐) 四步筛选流程 第一步:初筛 皮尔逊 > 0.7 第二步:复筛 斯皮尔曼验证 第三步:动态检验 滚动相关系数 第四步:逻辑验证 产业链逻辑

4.5 实战中的注意事项

最后,我再唠叨几点实战中容易踩的坑:

  • 不要只看日线数据。 我建议至少看小时线或者30分钟线,套利交易往往在日内完成,日线级别的相关性可能滞后。
  • 注意数据频率的一致性。 两个品种的交易时间可能不同,比如国内期货有夜盘,有些品种夜盘交易活跃,有些则不然。处理数据时一定要对齐时间戳。
  • 相关性不等于因果关系。 两个品种相关性高,不代表一个涨另一个就一定涨。可能是共同受到某个宏观因素影响。
  • 定期重新计算。 我每个月都会重新跑一遍所有组合的相关性,看看有没有变化。市场在变,你的模型也得跟着变。
总结一下: 相关性研究是跨品种套利的基石。用对方法、走对流程,你就能从一堆品种中筛选出真正有套利价值的组合。别偷懒,每一步都要做到位。

专注资料整理