halo 的技术博客

返回

你大概率听过「60/40」——60% 股票 + 40% 债券,教科书里的「标准分散配置」。但它有个很多人没察觉的坑:那 40% 债券是「资金上的 40%」,不是「风险上的 40%」

股票波动大、债券波动小,所以虽然债券占了四成钱,它对组合总波动的贡献可能只有个位数。换句话说——60/40 在风险上几乎是 95/5 压在股票上。股票一崩,债券那 40% 根本兜不住。

桥水(Bridgewater)的**全天候(All Weather, Dalio 1996)**要解决的,正是这个「假分散」。它的两个核心动作:

  1. 风险平价(Risk Parity):不是按钱分,是按「对组合风险的贡献」分——谁波动大,谁少配;
  2. 四种经济天气都覆盖:资产要能应对「增长↑/↓ × 通胀↑/↓」四种环境,任一种天气都有资产在赚钱。

全天候的底层信念:四种经济天气,每种都要有资产赚钱


1. 先把账算清楚:60/40 的风险到底是谁的#

设五类资产:股票、长债(20Y+)、中债(7Y)、黄金、商品,各自年化 mu / sigma 和一组合理相关性。两种配置:

  • 60/40:股票 60% / 中债 40%(经典版本通常不含长债、黄金、商品);
  • 全天候:股票 30% / 长债 40% / 中债 15% / 黄金 7.5% / 商品 7.5%。

成分风险贡献(年化)直接由协方差矩阵算出:

跑出来触目惊心:60/40 里股票贡献了 97.3% 的风险——所谓「分散」,分散了个寂寞。而全天候把股票压到 39.8%,长债 37.4%,黄金 + 商品合计 16.6%,风险首次接近均衡。这就是「风险平价」四个字的全部意义:让每个 sleeve 对总波动的贡献大致相等,而不是让每个 sleeve 拿相等的钱。

成分风险贡献:60/40 被股票绑架,全天候压到接近均衡


2. 四种经济天气:每种都有人赚钱#

全天候最妙的一层,是它选的资产覆盖了「增长」和「通胀」两个维度的四种组合。给每种环境叠一段资产超额漂移,看两类配置的年化表现:

regimes = {
    "增长↑ 通胀↓ (黄金期)": np.array([ 0.04,  0.02,  0.01, -0.01, -0.02]),
    "增长↑ 通胀↑ (过热)":   np.array([ 0.02, -0.03, -0.01,  0.03,  0.05]),
    "增长↓ 通胀↓ (衰退)":   np.array([-0.10,  0.06,  0.03,  0.02, -0.03]),
    "增长↓ 通胀↑ (滞胀)":   np.array([-0.08, -0.02,  0.00,  0.05,  0.06]),
}
# 每个环境 60 个月,把漂移加到基础 mu 上,采样算年化
python
环境60/40 年化全天候 年化
增长↑ 通胀↓ (黄金期)+5.69%+0.50%
增长↑ 通胀↑ (过热)+4.85%+2.32%
增长↓ 通胀↓ (衰退)−3.43%+0.39%
增长↓ 通胀↑ (滞胀)+1.82%+2.99%

结论先放这:60/40 在「衰退」这种股票崩、债券涨的环境里照样小亏(-3.4%),因为它根本没有覆盖「滞胀」(商品/黄金涨、股债齐跌)——而那恰恰是 1970s、2022 年真实发生过的天气。全天候因为装了商品 + 黄金 + 长债,四种环境里没有一种年化是显著为负的,最差的环境(衰退)也只小赚 +0.39%。

四种环境下 60/40 与全天候的年化收益:全天候把最坏环境的坑填平了


3. 长期混合轮动:Sharpe 和回撤的差距#

把四种环境按「黄金期→过热→衰退→滞胀」循环 4 轮(共 16 年)串成一段混合路径,对比两类配置:

seq = list(regimes.items())
blocks = []
for _ in range(4):
    for nm, drift in seq:
        mu_r = (ann_mu + drift)/12 - 0.5*ann_sd**2/12
        Z = rng.standard_normal((48, 5))
        L = np.linalg.cholesky(Cov_ann)
        blocks.append(mu_r + (Z @ L.T)/np.sqrt(12))
monthly_all = np.vstack(blocks)
nv_6040 = (1 + monthly_all @ W_6040).cumprod()
nv_aw   = (1 + monthly_all @ W_aw).cumprod()
python
指标60/40全天候
年化2.74%3.56%
波动9.04%6.70%
Sharpe0.120.26
最大回撤−45.2%−16.2%
16年终值5.63x9.37x

注意这个反直觉的点:全天候不仅回撤小(一半不到),长期收益还更高(3.56% vs 2.74%)。原因是风险平价把杠杆/低波动资产的容量用满了——长债波动低,所以能给 40% 的仓位而不爆波动预算,它在「衰退+通胀下行」环境里稳稳输出,把 60/40 最痛的那段填回来了。低波动资产配得多,不是「收益低」,是「同样风险预算下能装更多头寸」。


4. 五类真实陷阱(别把上面的数字当圣旨)#

  1. 「风险贡献均衡」依赖波动估计:上面的均衡是用「已知 Cov」算的。真实里你只能用历史波动估计,而波动是时变的——危机时相关性飙升、股票和长债的「负相关」会短暂失效,风险贡献会瞬移。风险平价需要滚动重估 + 再平衡,不是一次配完。
  2. 久期风险被低估:全天候给长债 40%,本质是在赌「利率长期下行 / 通胀温和」。一旦通胀失控、利率上行(如 2022),长债会跟着股票一起跌,两种天气(过热、滞胀)同时把你按在地上。桥水原版也承认 2022 是全天候的滑铁卢之年。
  3. 商品/黄金没有内在收益(carry):股票有盈利增长、债券有票息,黄金和商品长期「不产生现金流」,它们的收益来自价格波动和通胀保值。长期拿着,机会成本可能很高——它们是对冲项,不是收益发动机。
  4. 杠杆是隐藏前提:纯风险平价下,低波动资产(债券)权重会很高,总组合预期收益偏低。机构版全天候通常会加杠杆把总收益抬到可接受水平。个人不加杠杆,配出来就是「低波动低收益」,要接受它跑不赢牛市里的纯股票。
  5. 相关性假设在危机反转:平时股票↓债券↑(负相关)是全天候的命根子,但流动性危机(2008、2020 初)里所有资产一起跌、相关性→1,分散效应瞬间消失。所以全天候抗的是「普通衰退」,不抗「系统性流动性枯竭」——后者需要真正的现金/期权对冲,不是资产配置能解决的。

一句话总结:全天候的聪明不在「选了哪几只资产」,而在两个视角转换——(1) 从「按钱分」换成「按风险分」,先治 60/40 的假分散;(2) 从「押一种经济展望」换成「四种天气都布防」。它牺牲了牛市里纯股票的上限,换来了「哪种天气都不至于太难看」的从容。对普通投资者而言,它的真正价值是:让你在任意时点都睡得着觉,从而真正拿得住。

桥水全天候风险平价:把「四种经济天气」都装进一个组合里
https://blog.halo26812.eu.org/blog/all-weather-risk-parity
Author halo
Published at 2026年7月22日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨