Black-Litterman,从第一性原理出发
高盛的 Black & Litterman (1992) 解决了均值-方差优化给出疯狂组合的问题。反向优化、均衡先验与贝叶斯观点的完整推导。
1990 年,高盛固收部门的两位策略师 Fischer Black 和 Robert Litterman 感到沮丧。他们用 Markowitz 风格的均值-方差优化为客户构建全球资产配置,优化器反复给出无法自圆其说的组合。它会因日本股票 5 年收益最高而把所有仓位放在日本,也会因美国国债近期表现平平而给到零权重。
问题不在 Markowitz。问题在于没人知道该怎么喂 。历史均值是噪声,均衡收益是猜测,预测是观点。哪一项都不该直接喂给优化器。
他们 1991 年的工作论文 “Asset Allocation: Combining Investor Views with Market Equilibrium”(高盛固收研究)提出了一个贝叶斯模型,后来成为机构资产配置的事实标准。1992 年的后续论文 “Global Portfolio Optimization” 刊登在《Financial Analysts Journal》上。该模型被挪威主权财富基金、新加坡 GIC、高盛资产管理,以及几乎所有成立超过五年的量化多资产机构所使用。
本文给出完整推导。我们从 Black 和 Litterman 想要解决的问题开始,逐步推过反向优化、从市场均衡导出先验、用贝叶斯定理融合观点,最后给出 的闭式后验均值,可以直接代回 MVO。
朴素 MVO 的问题
上一篇文章已经讨论过这个问题。MVO 需要预期收益 ,而你没有。你有:
- 历史收益(噪声大且有非平稳性问题)。
- 均衡收益(如 CAPM 这类从市场权重反推隐含收益的模型)。
- 你自己的观点(“明年石油股将跑赢公用事业股 3%”)。
这些都不是 MVO 的良好直接输入。历史收益不稳定。均衡收益是无条件且忽略你的观点的。观点是主观且量纲不对。
Black 和 Litterman 的洞察是:把它们组合起来。以均衡收益为先验,把观点视为有噪声的数据,应用贝叶斯定理。 的后验均值就是最优点估计,后验协方差告诉你该给它多大信任。
整套机制本质上就是:
就是这样。巧妙之处在于选择先验和似然。
第一步:反向优化
从市值权重开始。对大多数资产集合, 是公开可观测的。假设市场组合是均值-方差有效组合,那么你可以反推出隐含 。
MVO 的切线组合为 。令 并对 求解:
其中 是市场组合的隐含风险溢价。实践中, 由市场风险溢价的外部估计给出(比如说,实际 4%、名义 6%)。
这就是反向优化。你不是在说”如果我喂入 ,MVO 会给我什么”,而是在说”既然市场是均值-方差有效的,那么 必然是什么”。
结果是与观察到的市场权重和协方差矩阵内部一致的向量 。它不是预测,而是一个中性的起点。
Black 和 Litterman 称之为”隐含均衡收益”。现在的术语是”先验预期收益”。它是在你没有任何超出市场已定价信息的情况下应该预期的收益。
第二步:明确你的观点
Black-Litterman 中的”观点”是关于预期收益的陈述。两种常见形式:
绝对观点:“我预期资产 明年收益 。”
其中 是”挑选矩阵”(对应资产 的 one-hot 行), 是观点的标量值, 是观点噪声,其协方差为 。
相对观点:“我预期资产 跑赢资产 共 。”
你可以把多个观点堆叠成 和 。观点协方差 编码你对每个观点的信心, 小代表信心高。
第三步:贝叶斯更新
现在是数学部分。 的先验为:
这种协方差是启发式的。Black 和 Litterman 认为, 的估计精度不应高于收益本身的精度,因此 的方差应与收益方差成比例。 是一个小标量(通常 0.05 到 0.10),反映 的波动比收益本身的波动要小。
观点关于 的似然为:
由贝叶斯定理,后验也是高斯分布:
其中
以及
这就是公式。让我们拆开来看。
项 是”观点残差”,你的观点与市场已定价之间的差距。如果你的观点恰好与隐含均衡一致,残差为零,后验等于先验。
矩阵 是一种 Kalman 增益。当 小(观点信心高)时,增益大,观点占主导;当 大(信心低)时,增益收缩,先验占主导。
所以,如果你说”我高度确信苹果会跑赢微软 5%“,优化器会把苹果权重显著提高、微软权重显著降低。如果你只说”科技股应该还行”,权重几乎不会偏离市场组合。
第四步:代回 MVO
后验 是一个预期收益向量。它是比历史均值(被它向其收缩)和纯观点(被它向均衡稀释)更好的 估计。现在你可以把它代回标准 MVO:
实践中,标准形式是最大化
约束为 以及任何其他约束。这就是用更聪明的 做 MVO。
结果是:权重锚定在市场组合上、按观点成比例地倾斜、并且表现良好,因为后验 比历史均值稳定得多。
Idzorek 扩展
一个实践问题:怎么设 ?Black-Litterman 提出了基于观点方差的启发式方法。Idzorek (2005) 引入了一种更直观的方法:把观点信心指定为 0% 到 100% 之间的百分比,并相应地转换为 。
对资产 的绝对观点:
其中 是从百分比导出的信心缩放因子。100% 信心对应 (完美观点,权重拉满);0% 信心对应 (忽略该观点)。
对相对观点,公式使用 中对应的行。
精确关系为:
其中 是信心水平。这就是 Idzorek 的贡献,它使 Black-Litterman 在实践中容易得多。
一个可运行的示例
假设我们有 3 个资产。市场权重为 60/30/10。已知协方差矩阵,我们认为资产 1 将以 70% 的信心跑赢资产 3 共 4%。
import numpy as np
# Inputs
w_mkt = np.array([0.6, 0.3, 0.1])
Sigma = np.array([
[0.04, 0.01, 0.005],
[0.01, 0.09, 0.01],
[0.005, 0.01, 0.16]
])
delta = 0.04 # Implied market risk premium
tau = 0.05
# Step 1: Implied equilibrium returns
mu_prior = delta * Sigma @ w_mkt
# Step 2: View. asset 1 outperforms asset 3 by 4%
P = np.array([[1, 0, -1]])
Q = np.array([0.04])
# Step 3: View covariance (70% confidence via Idzorek)
c = 0.7
P_tau_Sigma_Pt = P @ (tau * Sigma) @ P.T
Omega = (1/c - 1) * P_tau_Sigma_Pt
# Step 4: Posterior expected returns
K = tau * Sigma @ P.T @ np.linalg.inv(P_tau_Sigma_Pt + Omega)
mu_bl = mu_prior + K @ (Q - P @ mu_prior)
# Step 5: Solve MVO with posterior mu
Sigma_inv = np.linalg.inv(Sigma)
ones = np.ones(3)
w_bl = Sigma_inv @ mu_bl / (ones @ Sigma_inv @ mu_bl)
print("Implied mu:", mu_prior.round(4))
print("Posterior mu:", mu_bl.round(4))
print("Posterior weights:", w_bl.round(4))
输出:后验权重会在 60/30/10 的市场权重基础上轻微向资产 1 倾斜、远离资产 3。如果你用 100% 信心配上历史均值,得到的倾斜会激进得多,可能全部押在资产 1 上。Black-Litterman 把你锚在市场附近。
它为什么更好
三件事,按重要性排序。
第一,锚定。在无观点时,后验等于先验,先验等于市场权重。优化器的”什么都不做”答案就是市场组合。这很合理:如果你没有观点,就不要试图战胜市场。
第二,观点的可缩放性。信心参数 让你表达对每个观点有多大信任。如果你对相对价值观点有 70% 信心,优化器会从市场权重向”观点隐含权重”方向倾斜 70% 的距离。这比”输入一个收益预测”直观得多。
第三,保留分散性。因为后验是你的观点的光滑函数(而非阶跃函数),所得组合不会像原始 MVO 那样集中到少数资产。在大多数情况下你会持有大多数资产,只是权重有所倾斜。
文献综述
- Black & Litterman (1991). “Asset Allocation: Combining Investor Views with Market Equilibrium.” Goldman Sachs Fixed Income Research. 原始工作论文。
- Black & Litterman (1992). “Global Portfolio Optimization.” Financial Analysts Journal 48(5): 28-43. 公开发表的后续,含全球资产配置示例。
- Idzorek (2005). “A Step-by-Step Guide to the Black-Litterman Model.” Ibbotson Working Paper. 信心参数。
- He & Litterman (1999). “The Intuition Behind Black-Litterman Model Portfolios.” Goldman Sachs Investment Management Research. 几何解释。
- Litterman (2003). Modern Investment Management: An Equilibrium Approach. Wiley. 包含全球资产配置示例的整本书式处理。
- Meucci (2005). “Beyond Black-Litterman: Views on Non-Normal Markets.” Risk 18(9): 87-92. 将 BL 扩展到非高斯收益。
- López de Prado (2016). “A Robust Estimator of the Covariance Matrix for Portfolio Construction.” Journal of Risk Model Validation 10(1): 55-72. 最近的批评与扩展。
多观点的完整数值示例
把上面的例子再扩展,加入两个观点。资产 2 将跑输 2%,且我们对此高度确信。
import numpy as np
# Inputs (3 assets, same as before)
w_mkt = np.array([0.6, 0.3, 0.1])
Sigma = np.array([
[0.04, 0.01, 0.005],
[0.01, 0.09, 0.01],
[0.005, 0.01, 0.16]
])
delta = 0.04
tau = 0.05
mu_prior = delta * Sigma @ w_mkt
# Two views
# View 1: asset 1 outperforms asset 3 by 4% (70% confidence)
# View 2: asset 2 underperforms by 2% (90% confidence)
P = np.array([
[1, 0, -1],
[0, 1, 0]
])
Q = np.array([0.04, -0.02])
# View covariances
c = np.array([0.7, 0.9])
P_tau_Sigma_Pt = P @ (tau * Sigma) @ P.T
Omega = np.diag((1/c - 1) * np.diag(P_tau_Sigma_Pt))
# Posterior
K = tau * Sigma @ P.T @ np.linalg.inv(P_tau_Sigma_Pt + Omega)
mu_bl = mu_prior + K @ (Q - P @ mu_prior)
# Solve MVO
Sigma_inv = np.linalg.inv(Sigma)
ones = np.ones(3)
w_bl = Sigma_inv @ mu_bl / (ones @ Sigma_inv @ mu_bl)
print("Implied mu:", mu_prior.round(4))
print("Posterior mu:", mu_bl.round(4))
print("Posterior weights:", w_bl.round(4))
输出:后验预期收益相比先验有轻微倾斜,权重相比市场权重也有轻微倾斜。资产 1 权重上升(正向观点),资产 2 权重下降(负向观点),资产 3 基本不受影响。
倾斜幅度与信心成正比。资产 2 上 90% 信心的观点比 70% 信心的”资产 1 vs 资产 3”观点移动得更多。
Meucci 扩展:超越高斯
原始 Black-Litterman 假设收益服从高斯分布。现实中收益是非高斯的:肥尾、偏度、状态切换。Meucci (2005) 通过”熵池化”(entropy pooling)将 Black-Litterman 扩展到非正态市场。
思路是:不再使用高斯观点似然,而是采用基于熵的更一般似然:
其中 是编码每个观点的函数, 是拉格朗日乘子。
对高斯观点(标准情形), 是 的线性函数,从而恢复标准 Black-Litterman 后验。对非高斯观点(例如”资产收益的第 5 百分位最多 -20%”), 更复杂,后验也是非高斯的。
实践中,Meucci 扩展很少被使用。对大多数机构组合,高斯近似已经足够。但在尾风险敏感的配置中,这个扩展很重要。
与熵组合理论的联系
Cover & Thomas (1991) 提出了最大熵组合。思路是:在满足约束的所有组合中,选择熵最大的那个(即最分散的)。
熵最大化的拉格朗日对偶给出形如下式的组合:
其中 的选择满足方差约束。这是对预期收益做 softmax 加权,高 资产获得指数级更高权重。
Black-Litterman 可以从最大熵论证推导出来:后验分布是与先验和观点一致的最大熵分布。数学形式不同于贝叶斯推导,但给出相同答案。
Black-Litterman 失败的情形
三种情形下 Black-Litterman 会给出糟糕组合。
糟糕情形 1:市场权重本身是错的。 Black-Litterman 锚定市值权重。如果市场被严重错估(泡沫、行业轮动、结构性变迁),先验就有偏,后验继承这种偏差。
糟糕情形 2:观点系统性地错。 Black-Litterman 按你声明的信心信任你的观点。如果你系统性过度自信,优化器就会倾斜过度。
糟糕情形 3:协方差矩阵是错的。 Black-Litterman 改善了 ,但 是直接拿来的。如果 估计错误,所得组合的风险敞口就是错的。
对这三种情形,修复办法相同:把 Black-Litterman 与 收缩、 的稳健估计以及观点信心的校准结合起来。这个模型是积木,不是完整答案。
Black-Litterman 与风险平价的对比
机构配置存在两套对立的哲学:
- Black-Litterman:锚定市场,按观点倾斜。优化器使用预期收益。
- 风险平价:按风险贡献分配。不使用预期收益。
实践中,两者给出的组合差异很大。Black-Litterman 会集中于高 Sharpe 的资产(倾斜之后);风险平价则把资本均匀分散到风险贡献上。
哪个更好取决于你的观点是否可靠。可靠则用 Black-Litterman,不可靠则用风险平价。
一些机构采用混合方案:在资产类别层面(观点较合理)用 Black-Litterman,在资产类别内部(观点较弱)用风险平价。
He-Litterman 的直观解释
He & Litterman (1999) 给出了最常被引用的模型直觉。核心洞察是:观点可以被拆成两部分,一部分与市场均衡一致,另一部分是”意外”部分(即观点残差)。
Black-Litterman 后验是先验加上”意外”,再按观点信心缩放。如果你的观点与市场已定价一致,后验等于先验。如果你的观点是强烈意外,后验相应偏移。
数学上:
观点意外是 。信心因子是 Kalman 增益。其余都是矩阵乘法。
这种直觉解释了 Black-Litterman 流行的原因:它符合机构投资者对观点的思考方式。“资产 A 将跑赢 4%,比市场已定价多 2%,我有 70% 信心”可以直接对应到数学上。
要点回顾
Black-Litterman 就是贝叶斯版的 MVO。先验是市场隐含均衡收益,似然是你的观点,后验就是你要用的东西。
数学上是两次矩阵求逆加一次 Kalman 更新。直觉上是”锚定市场,按观点倾斜,倾斜幅度由信心决定”。
完整模型可以处理多种观点、不同信心、绝对或相对形式。Idzorek 扩展让信心以百分比形式给出,更直观。
它以明显优势成为最广泛使用的机构资产配置模型。如果你要用 Markowitz,就用配上 Black-Litterman 输入的 Markowitz。
模型可以扩展到高斯之外(Meucci 的熵池化),与最大熵组合理论联系,并和风险平价混合。但核心的贝叶斯机制才是主力。
下一篇文章:风险平价,Bridgewater 的方法,按风险而非按资本分配。