3. 相关性度量

在量化策略配置中,“相关性”是决定分散化效果的核心输入。很多初学者只记住一个“相关系数”,却忽略了不同度量方法对数据分布、异常值和尾部风险的敏感度差异。选错相关性工具,轻则低估组合波动,重则在极端行情中遭遇“伪分散化”的重创。本节将系统梳理五类相关性度量方法,并给出实战选择框架。

一、核心原理:相关性到底在度量什么

相关性刻画的是两个变量“同向或反向变动”的程度。但不同方法对“变动”的定义不同:皮尔逊度量线性协动,斯皮尔曼和肯德尔度量单调秩次协动,尾部相关度量极端区域的联合概率,非线性方法则捕捉更复杂的依赖结构。理解这一点,是正确选型的前提。

关键认知:相关性不是策略的固有属性,而是“在特定样本区间、特定市场状态下”的统计估计。同一对策略,在不同窗口、不同市场阶段,相关系数可能从0.2跳到0.8。

二、五类方法逐一拆解

1. 皮尔逊相关系数(Pearson)

最常用,度量线性相关,取值[-1,1]。公式为协方差除以标准差乘积。它假设变量近似正态、关系线性,且对异常值极度敏感。在策略收益序列中,一次极端行情就可能把系数从0.1拉到0.6。

import numpy as np
from scipy.stats import pearsonr

r, p = pearsonr(strategy_a_returns, strategy_b_returns)
# 注意:先检查异常值,必要时用winsorize处理

2. 斯皮尔曼秩相关(Spearman)

先将数据转为秩次,再计算秩次的皮尔逊相关。它度量单调关系,对异常值稳健,适合收益分布偏斜或存在极端值的场景。若两策略关系是“同涨同跌但非线性”,斯皮尔曼通常比皮尔逊更可靠。

3. 肯德尔秩相关(Kendall)

基于“一致对”与“不一致对”的比例,度量秩次一致性。它对样本量较小、存在大量并列秩次的情况更稳健,统计解释也更直观:τ=0.3意味着约65%的配对是同向的。缺点是计算复杂度较高,大样本下速度慢于斯皮尔曼。

4. 尾部相关(Tail Dependence)

分散化最怕的是“平时不相关,危机时一起跌”。尾部相关专门度量极端区域的联合概率,分为上尾相关和下尾相关。常用估计方法包括条件概率法和Copula模型。实战中,若两策略下尾相关显著高于整体相关,说明危机时分散化失效。

5. 非线性相关方法

包括互信息(Mutual Information)、距离相关(Distance Correlation)等。互信息能捕捉任意形式的依赖关系,距离相关则对线性和非线性都敏感,且为0当且仅当独立。它们适合筛查“皮尔逊接近0但实际存在依赖”的策略对。

相关性度量方法选择决策链 输入:两策略收益序列 检查分布与异常值 分布近似正态? 关系近似线性? 无极端异常值? 是 否 皮尔逊相关系数 快速、可解释 斯皮尔曼/肯德尔 秩相关,稳健 关注尾部? 加尾部相关 怀疑非线性? 加互信息 实战建议:皮尔逊+斯皮尔曼双报告,尾部相关单独监控,互信息做筛查 滚动窗口计算,观察相关性时变特征,避免单一静态值误导配置 输出:相关性矩阵 用于分散化权重

三、方法对比与选择清单

方法 度量关系 异常值稳健性 计算复杂度 适用场景
皮尔逊 线性 低 低 收益近似正态、无极端值
斯皮尔曼 单调 高 中 偏斜分布、存在异常值
肯德尔 秩次一致 高 较高 小样本、大量并列秩次
尾部相关 极端联合 — 高 危机分散化评估
互信息/距离相关 任意依赖 中 高 非线性依赖筛查

四、案例场景:一次“伪分散化”的复盘

某组合配置了股票多头策略A和CTA趋势策略B。全样本皮尔逊相关系数为0.15,看起来分散化良好。但2020年3月市场暴跌期间,两者下尾相关骤升至0.72,组合回撤远超预期。复盘发现:A在极端行情中流动性枯竭,B因波动率飙升触发止损,两者同时减仓,形成“流动性螺旋”。

教训:整体相关低不代表尾部相关低。配置前必须单独计算下尾相关,并对策略在压力情景下的联合行为做情景测试。

五、常见误区与操作建议

  • 误区一:只看一个数字。应同时报告皮尔逊和斯皮尔曼,差异大时说明非线性或异常值影响显著。
  • 误区二:用全样本静态相关。必须用滚动窗口(如60日、120日)观察时变特征。
  • 误区三:忽略尾部。下尾相关是分散化的“压力测试”,建议每季度更新。
  • 误区四:把相关当因果。相关性只描述协动,不解释驱动机制,配置时需结合策略逻辑。
操作建议:建立“相关性监控看板”,至少包含:60日滚动皮尔逊、60日滚动斯皮尔曼、下尾相关(5%分位)、互信息筛查标记。当任一指标突破阈值时,触发人工复核。

相关性度量不是一次性计算,而是持续监控与动态调整的过程。选对方法、看清尾部、滚动跟踪,才能让分散化配置真正发挥“危机保护”的作用,而不是在关键时刻失效。