引言:想通过一招擒龙大法就梦想长期盈利的人,我只能说,你想多了。
一、为什么私募不喜欢高夏普单策略?
1. 高夏普意味着显著的优势
-
比如夏普比率=3 或更高,这通常意味着策略非常赚钱又不怎么波动。
-
然而这种策略容易被别人发现,因为信号太明显、回测曲线太好看、某些因子一眼就能看出来,还没有等你赚钱就很快被别人反向收割了。
2. 卷来卷去会快速失效
-
一旦市场上的人都用这个策略,阿尔法就被榨干,比如套利空间越来越小、滑点越来越大。
-
所以为了不愿“跟别人卷”——高级的量化私募不是不想赚这个钱,而是知道这个钱赚不长久。
二、他们为什么喜欢“夏普为1,相关性为0(理想状态下)”的多个策略?
因为:
-
一个稳定但不惊艳的策略,比如夏普 = 1,是相对可靠、不容易被别人抄走的。
-
如果你有多个彼此互不相关的策略(相关性接近0),那组合后可以显著提升整体夏普!
三、组合夏普比率原理
假设你有 n 个策略,每个策略的:
-
夏普比率为: S=1
-
两两之间相关性为: ρ=0
-
等权配置,每个策略权重为
组合夏普比率公式:
比如:
-
1个策略,夏普 = 1
-
4个策略,每个夏普 = 1,组合夏普 = √4 × 1 = 2
-
25个策略,每个夏普 = 1,组合夏普 = √25 × 1 = 5
这就是“多个中等质量策略 + 低相关性 = 极强组合策略”的原理。
推导过程
给定随机变量 和 Xj,它们的协方差 Cov(Xi,Xj) 与相关性系数 ρij 的关系为:
Cov(Xi,Xj)=ρij⋅σi⋅σj
其中:
- ρij 是 Xi 和 Xj 的皮尔逊相关系数(取值范围为 [−1,1]);
- σi 和 σj 分别是 Xi 和 Xj 的标准差(σi=Var(Xi))。
假设:
-
有 n 个策略,每个策略:
-
年化收益率为
-
年化波动率为
-
所以夏普比率:
-
-
策略之间相关性为 ,等权重配置
一、组合收益:
组合收益是各策略收益的加权和(等权重):
二、组合波动率(方差):
组合方差公式为:
解释:
-
n 个对角线项:
-
n(n-1) 个非对角线项:
整理一下:
\sigma_{\text{组合}} = \sigma \cdot \sqrt{ \frac{1 + (n-1)\rho }{n} }
三、组合夏普比率:
S_{\text{组合}} = \frac{\mu_{\text{组合}}}{\sigma_{\text{组合}}} = \frac{\mu}{\sigma} \cdot \sqrt{ \frac{n}{1 + (n-1)\rho} }
如果每个策略夏普为 1(即 ),就得到:
特别情况:策略之间完全不相关
S_{\text{组合}} = \sqrt{n}
四、直观理解
假设你是一个打篮球的人,你投篮水平中等,但你还有中等水平的传球、防守、篮板、抢断能力 —— 每项都不是最顶尖,但互相不重叠。
你组成一个团队时:
-
如果你找5个“投篮特别强”的人,他们很可能抢位置、重复劳动,甚至互相影响。
-
如果你找5个各自擅长不同技能的人,你的团队就会非常稳健又全面。
这就像:
高夏普单策略 = 明星球员,但容易被对手盯死;
夏普为1但低相关 = 多个角色球员组合,打出冠军战力。
五、现实中的好处
-
组合更稳定:不同策略在不同市场阶段表现好坏互补,波动更小。
-
更抗风险:一个策略失效时,其他策略仍能发挥作用。
-
更耐久:不会因为一个策略“被市场榨干”而全面崩盘。
六、程序
import numpy as np
def compute_combined_sharpe(n, rho):
"""
n: 策略个数
rho: 策略间相关系数(假设两两相等)
"""
# 每个策略的年化收益 = 1,方差 = 1,标准差 = 1
mu = np.ones(n) # 收益率向量
sigma = np.ones(n) # 标准差向量
# 协方差矩阵
cov_matrix = np.full((n, n), rho)
np.fill_diagonal(cov_matrix, 1.0)
# 等权重向量
w = np.full(n, 1/n)
# 组合预期收益
portfolio_return = np.dot(w, mu)
# 组合波动率
portfolio_vol = np.sqrt(np.dot(w, np.dot(cov_matrix, w)))
# 组合夏普比率
portfolio_sharpe = portfolio_return / portfolio_vol
return portfolio_sharpe
# 不同策略数量下组合夏普比率(相关性为0)
sharpe_values = [compute_combined_sharpe(n, rho=0) for n in range(1, 21)]
sharpe_values
结果:
[1.0, 1.414213562373095, 1.7320508075688774, 2.0, 2.2360679774997894, 2.4494897427831783, 2.6457513110645903, 2.82842712474619, 3.0, 3.162277660168379, 3.3166247903554, 3.464101615137754, 3.605551275463989, 3.7416573867739404, 3.872983346207417, 4.0, 4.123105625617661, 4.2426406871192865, 4.358898943540672, 4.472135954999578]