策略组合入门:策略间的相关性分析
为什么低相关是组合的圣杯
做量化这几年,我见过太多人把全部资金押在一个策略上。行情好的时候确实爽,但遇到回撤期,那滋味……嗯,我经历过,不好受。
后来我开始研究策略组合。说白了,就是把多个策略放在一起,让它们互相补位。你想想看,如果两个策略赚钱的时间段刚好错开,那整体收益曲线是不是就平滑多了?
这里有个核心概念——相关性。它衡量的是两个策略之间,收益走势的同步程度。
相关性到底是什么?
用数学语言说,相关性是两组数据之间的线性关系强度。取值范围在 -1 到 1 之间。
- 正相关(接近1):A策略赚钱时,B策略也赚钱;A亏钱时,B也亏。两个策略同涨同跌。
- 负相关(接近-1):A赚钱时,B反而亏钱。两者走势相反。
- 零相关(接近0):两者走势没有明显关系。各走各的。
我个人习惯用皮尔逊相关系数来计算。公式长这样:
ρ = Cov(Ra, Rb) / (σa × σb)
其中 Cov 是协方差,σ 是标准差。别怕,Python 里一行代码就能搞定:
import numpy as np
# 假设两个策略的日收益率序列
strategy_a = [0.02, -0.01, 0.03, -0.005, ...]
strategy_b = [0.01, 0.015, -0.02, 0.01, ...]
corr = np.corrcoef(strategy_a, strategy_b)[0, 1]
print(f"相关性系数: {corr:.2f}")
低相关为什么是圣杯?
我在项目中遇到过这样一个案例:两个趋势跟踪策略,一个做日线级别,一个做小时级别。单独看,每个策略的夏普比率都在1.2左右,不算特别惊艳。但把它们组合起来后,组合的夏普比率直接跳到了1.8。
为什么会这样?
因为日线策略在震荡行情里表现差,但小时策略在震荡里反而能抓住小波段。两者刚好互补。组合后的最大回撤从15%降到了8%,收益曲线平滑了很多。
这就是低相关的魔力——分散风险,平滑收益。
核心结论:两个低相关甚至负相关的策略组合,可以在不降低预期收益的情况下,显著降低整体波动和最大回撤。
如何计算策略间的相关性?
实际操作中,我一般按这几步走:
- 获取策略的净值曲线,最好是日频数据,至少要有200个样本点。
- 计算日收益率:用 (当日净值 - 前日净值) / 前日净值。
- 计算相关系数矩阵:把所有策略两两之间的相关系数算出来。
- 可视化:用热力图一眼看出哪些策略相关性高。
代码示例:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 假设有5个策略的净值数据
# 数据格式:每列是一个策略的日净值
df = pd.read_csv('strategy_nav.csv')
# 计算日收益率
returns = df.pct_change().dropna()
# 计算相关系数矩阵
corr_matrix = returns.corr()
# 画热力图
plt.figure(figsize=(10, 8))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', center=0)
plt.title('策略相关性热力图')
plt.show()
相关性分析的常见误区
我曾经踩过的坑:
- 只看整体相关性,不看分段:两个策略在牛市中可能高度正相关,但在熊市中相关性会骤降。我建议你分不同市场环境分别计算。
- 样本量太少:少于50个样本点算出来的相关性,基本没有统计意义。至少要有200个。
- 忽略非线性关系:皮尔逊相关系数只捕捉线性关系。如果两个策略存在非线性互补,用秩相关系数(Spearman)会更合适。
实战中的相关性阈值
根据我的经验,可以这样划分:
| 相关系数范围 | 含义 | 组合建议 |
|---|---|---|
| 0.7 ~ 1.0 | 高度正相关 | 不要同时加入组合,选一个就好 |
| 0.3 ~ 0.7 | 中度正相关 | 可以少量配置,但注意控制权重 |
| -0.3 ~ 0.3 | 低相关 | 组合的黄金区域,优先选择 |
| -1.0 ~ -0.3 | 负相关 | 对冲效果极佳,但要注意策略逻辑是否可持续 |
小技巧:我习惯在组合中至少保留3个低相关的策略。这样即使其中一个失效,另外两个还能撑住。3个策略的相关性矩阵,两两之间最好都低于0.3。
知识体系总览
下面这张图,帮你理清本章的核心逻辑:
这张图把相关性分析拆成了三个维度:怎么算、怎么用、注意什么。底部的结论就是本章的核心——低相关是组合的圣杯。
记住,相关性不是一成不变的。市场在变,策略的逻辑在变,相关性也会漂移。我建议你每季度重新计算一次策略间的相关性矩阵,及时调整组合。
好了,这一章就到这里。下一章我们会聊如何用数学方法找到最优的资金分配比例——也就是传说中的马科维茨模型。