策略组合理论基础:马科维茨、风险平价与Black-Litterman在CTA中的应用
做CTA策略的人,迟早要面对一个问题:手里好几个策略,每个单独看回测都不错,但合在一起就是不对劲。要么净值曲线像过山车,要么最大回撤直接翻倍。
我早年就踩过这个坑。当时我同时跑了趋势跟踪、均值回归和套利三个策略,以为分散了就安全。结果2020年3月那波行情,三个策略同时亏损,账户回撤直接破了15%。
嗯,从那以后我才真正重视起策略组合理论。今天咱们就聊聊三个最经典的模型:马科维茨、风险平价和Black-Litterman。它们在CTA里怎么用?有什么坑?我一个个说。
一、马科维茨投资组合理论:老派但有用
马科维茨的理论,说白了就是一句话:别把所有鸡蛋放在一个篮子里。但怎么放?他给出了数学框架。
核心公式其实不复杂:
最大化: Sharpe Ratio = (E(Rp) - Rf) / σp
其中: E(Rp) = Σ(wi * E(Ri))
σp² = ΣΣ(wi * wj * σij)
这里wi是策略i的权重,E(Ri)是预期收益,σij是协方差。目标就是找到一组权重,让组合的夏普比率最高。
我在实际项目中用过这个模型。说实话,效果时好时坏。为什么?因为马科维茨对输入参数太敏感了。你稍微改一下预期收益,权重就天翻地覆。
所以我的建议是:马科维茨可以用,但别直接用原始输出。我一般会加两个约束:
- 单个策略权重不超过30%
- 同类策略(比如都是趋势跟踪)总权重不超过50%
这样至少不会出现极端配置。
二、风险平价模型:更稳健的选择
风险平价模型,是桥水基金全天候策略的核心。它的思路和马科维茨完全不同。
马科维茨看的是收益和风险的平衡。风险平价只看风险——让每个策略对组合的风险贡献相等。
公式是这样的:
风险贡献: RCi = wi * (∂σp / ∂wi)
风险平价条件: RC1 = RC2 = ... = RCn
说白了,就是让每个策略"承担的风险一样多"。如果一个策略波动大,就给它小权重;波动小,就给大权重。
我个人特别喜欢这个模型在CTA上的表现。为什么?因为CTA策略的波动率差异很大。趋势跟踪策略年化波动率可能到30%,而套利策略可能只有5%。如果用等权重,趋势跟踪策略实际上主导了整个组合的风险。
但风险平价也有缺点。它完全不考虑收益。如果一个策略预期收益很低,但波动也低,风险平价还是会给它很大的权重。这其实不太合理。
嗯,所以后来我一般会在风险平价的基础上,加一个收益筛选。只有夏普比率大于0.5的策略,才进入风险平价组合。
三、Black-Litterman模型:把主观判断加进去
Black-Litterman模型,是我觉得最"聪明"的一个。它解决了马科维茨的两个痛点:
- 输入参数太敏感
- 无法融入主观判断
它的思路是这样的:先假设市场是均衡的,然后根据你的主观观点,去调整预期收益。
公式稍微复杂一点:
E(R) = [(τΣ)^(-1) + P'Ω^(-1)P]^(-1) * [(τΣ)^(-1)Π + P'Ω^(-1)Q]
别被公式吓到。你只需要知道:Π是市场均衡收益,Q是你的主观观点,τ和Ω是置信度参数。
我在CTA里怎么用这个模型?举个例子:
- 先计算各策略的历史均衡收益(比如用CAPM或者历史均值)
- 然后加入主观观点:比如"我觉得未来3个月趋势跟踪策略会表现更好,因为波动率在上升"
- 模型会输出一组新的预期收益,再去做优化
Black-Litterman还有一个好处:它天然支持多策略组合。你可以对每个策略都给出观点,也可以只对部分策略给观点。模型会自动处理相关性。
四、三个模型的对比与选择
说了这么多,到底该用哪个?我整理了一个表格:
| 模型 | 核心思想 | 优点 | 缺点 | CTA适用场景 |
|---|---|---|---|---|
| 马科维茨 | 收益-风险权衡 | 理论成熟,直观 | 参数敏感,易过拟合 | 策略数量少(3-5个),且收益稳定 |
| 风险平价 | 风险贡献相等 | 稳健,分散化好 | 忽略收益差异 | 策略波动率差异大,追求稳健 |
| Black-Litterman | 融合主观观点 | 灵活,可解释性强 | 参数设置复杂 | 有明确市场判断,需要融入观点 |
我个人现在的做法是:先用风险平价做基础权重,然后用Black-Litterman做微调。马科维茨我基本不用了——除非是给学生讲课的时候演示一下。
五、一张图看懂策略组合理论
下面这张图,是我自己画的策略组合理论框架。你可以看到三个模型之间的关系:
从这张图你可以看到,三个模型不是互斥的。我经常把它们组合使用:先用风险平价打底,再用Black-Litterman做局部调整,最后加一些约束条件防止极端权重。
六、实战中的几个坑
最后,分享几个我踩过的坑:
好了,关于策略组合的理论基础,今天就聊到这里。这三个模型各有千秋,关键是要理解它们的假设和局限。下一章咱们会讲具体的权重分配算法,到时候我会带大家手写代码实现这些模型。
公众号:蓝海资料掘金营,微信deep3321