Wasserstein 鲁棒组合优化:让权重对分布扰动免疫
均值方差优化是个『误差放大器』:一年日度样本估出的期望收益带着巨大噪声,优化器却把它当真理,全仓押给恰好被高估的资产。300 次重抽样实测:经典 MV 样本内承诺年化 16.5%,样本外只兑现 4.4%——乐观差距 12 个百分点。Wasserstein 分布鲁棒优化(DRO)的处方是承认『经验分布本身就是错的』:以样本分布为球心、Wasserstein 距离 ε 为半径画一个分布模糊球,对球内最坏分布优化。深刻之处在于对偶定理把这个无限维 min-max 问题坍缩成一行正则化——最坏期望 = 样本期望 − ε·‖w‖,鲁棒化在数学上恰好等价于给权重加范数惩罚,这解释了为什么正则化在组合优化里屡屡有效:它不是工程 trick,是对分布不确定性的精确定价。实测 ε 从 0 加到 2e-3:乐观差距 12.0%→8.5%,样本外 Sharpe 0.329→0.344,跨样本权重换手 0.86→0.65。半径扫描揭示倒 U 形与残酷基准:精心调参的 DRO 样本外 Sharpe 0.343,等权 1/N 是 0.335——鲁棒优化的真实收益是从『被估计噪声坑死』回到『略胜天真基准』。三个陷阱:ε 校准的理论速率在金融样本量下形同虚设、球内最坏分布可能毫无经济意义、DRO 防的是估计噪声而非 regime 切换(高阶)。
先说结论:均值方差优化最大的敌人不是市场,是你自己的估计误差——优化器会精准地满仓押注在期望收益恰好被样本噪声高估的资产上。Wasserstein 分布鲁棒优化(DRO)的解法是给经验分布画一个半径为 ε 的”模糊球”,对球内最坏的分布做优化;而对偶定理证明这等价于在目标函数里加一项 ε·‖w‖ 的范数惩罚。300 次重抽样实验里,它把样本内外的乐观差距从 12.0% 压到 8.5%,把跨样本权重换手从 0.86 降到 0.65。但半径扫描也给出一个诚实的对照:调到最优的 DRO 样本外 Sharpe 0.343,等权基准 0.335——鲁棒优化买到的不是超额收益,是”不再被自己的估计坑死”。
一、误差放大器:MV 优化到底败在哪#
Markowitz 均值方差优化的输入是期望收益 μ 和协方差 Σ,输出是权重 w。问题在于 μ 的估计误差大得离谱:年化波动 20% 的资产,用一年日度数据估年化期望收益,标准误差就是 20%——估计值 8%,置信区间大约是 -32% 到 +48%。这不是估计,这是掷骰子。
更糟的是优化器对这种噪声的反应方式。它不会平均化误差,而是系统性地选择被高估的资产:5 个资产里哪个的样本均值恰好被噪声推高了,优化器就重仓哪个。这就是 Michaud 说的”误差最大化”(error maximization)。
量化这件事:5 资产市场,真实年化期望收益 5%~9%、相关 0.35、t(5) 肥尾。抽 300 份独立的”一年日度样本”,每份跑一次经典 MV 优化,然后在 40 年的长样本上检验样本外表现:
- 样本内承诺:平均年化 16.5%
- 样本外兑现:平均年化 4.4%
- 乐观差距:12.0 个百分点
样本内数字纯粹是幻觉——优化器把噪声当成了 alpha,并给自己开了一张无法兑现的支票。
二、Wasserstein 球:承认经验分布本身是错的#
传统鲁棒优化对参数不确定:给 μ 画一个椭球,“μ 在这个区间里,对最坏的 μ 优化”。Wasserstein DRO 更彻底:对整个分布不确定。
Wasserstein 距离度量两个分布之间”搬运概率质量的最小代价”——把分布 P 的质量搬成分布 Q 的形状,每单位质量移动距离 d 花费 d,总运费的最小值就是 。它比 KL 散度更适合这里:KL 要求两个分布支撑集重叠(经验分布是离散点,真实分布是连续的,KL 直接无穷大),Wasserstein 对离散-连续的比较毫无压力。
DRO 的问题定义:以经验分布 为球心、ε 为半径画球,对球内最坏分布优化:
看起来是个无限维的 min-max 问题——球里有不可数无穷个分布。但这正是 Wasserstein DRO 最漂亮的地方:Mohajerin Esfahani & Kuhn (2018) 的对偶定理证明,对 Lipschitz 目标函数,内层最坏化有闭式解:
无限维问题坍缩成一行:最坏期望 = 样本期望减去 ε 乘以权重范数。实现上只是给经典 MV 目标加一个惩罚项:
def wass_robust_weights(R, eps, gamma=6.0):
"""Wasserstein-DRO 均值方差:样本目标 - eps * ||w||_2"""
mu_hat = R.mean(axis=0)
cov_hat = np.cov(R.T)
def f(w):
base = w @ mu_hat - 0.5 * gamma * w @ cov_hat @ w
return -(base - eps * np.linalg.norm(w)) # 鲁棒化 = 范数惩罚
cons = [{"type": "eq", "fun": lambda w: w.sum() - 1}]
res = minimize(f, np.full(N, 1/N), bounds=[(0,1)]*N, constraints=cons)
return res.xpython这个等价关系的含义比公式本身重要:正则化不是工程 trick,是对分布不确定性的精确定价。你在 ridge/lasso 组合优化里加的范数惩罚,一直都在隐式地做分布鲁棒优化——ε 就是你对”经验分布离真相有多远”的定价。直觉上也通:‖w‖ 大意味着押注集中,而集中押注对分布扰动最脆弱,所以最坏情况罚得最重;分散的 w 范数小,对搬动概率质量天然免疫。
三、实验:ε 买到了什么#
同一设定下对比 ε = 0(经典 MV)到 ε = 2e-3 的五档:
| ε | 样本内年化 | 样本外年化 | 乐观差距 | 样本外 Sharpe |
|---|---|---|---|---|
| 0(经典 MV) | 16.5% | 4.4% | 12.0% | 0.329 |
| 2e-4 | 16.0% | 4.4% | 11.5% | 0.330 |
| 5e-4 | 15.2% | 4.5% | 10.7% | 0.336 |
| 1e-3 | 14.4% | 4.5% | 9.9% | 0.338 |
| 2e-3 | 13.0% | 4.5% | 8.5% | 0.344 |

三个观察:
**第一,ε 首先杀的是样本内幻觉。**样本内承诺从 16.5% 降到 13.0%,样本外兑现纹丝不动甚至微升——被砍掉的 3.5 个百分点全是噪声制造的假 alpha。鲁棒化的第一功能是让回测报告变诚实。
**第二,权重稳定性显著改善。**300 份样本的权重箱线图显示,经典 MV 的权重在 0 和 60% 之间狂跳(哪个资产被高估押哪个),DRO 的权重明显收拢,跨样本平均换手从 0.86 降到 0.65:

这在实盘里直接兑换成交易成本:每次重估计参数后组合要调仓的量少了四分之一。
**第三,样本外 Sharpe 的改善是真实但温和的。**0.329 → 0.344,约 5%。别指望鲁棒化创造收益——它只是不再销毁收益。
四、半径扫描:倒 U 形和一个残酷的基准#
ε 是唯一超参数,扫描 0 到 8e-3:

曲线呈平缓的倒 U 形:ε 太小退回过拟合,ε 太大过度保守化(本例做多约束下逐渐趋向等权,样本外 Sharpe 从峰值回落)。峰值在 ε ≈ 3e-3 附近,样本外 Sharpe 0.343。
图里那条虚线是本文最诚实的一笔:等权 1/N 组合的样本外 Sharpe 是 0.335。也就是说,精心构造、精心调参的 Wasserstein DRO,最终比”什么都不估计”的天真等权好了 0.008。DeMiguel、Garlappi & Uppal (2009) 那篇著名的”1/N 打败所有优化器”在这里几乎复现了。
这不是 DRO 的失败,而是对它角色的正确定位:当估计噪声大到淹没资产间真实差异时(一年样本估期望收益就是这种情形),任何优化的上限就是等权附近;DRO 的价值是保证你落在这个上限附近,而不是被经典 MV 拖到 0.329 甚至更糟的深坑里。如果资产间真实差异更大、或者你有真正有信息量的期望收益预测(因子模型、分析师修正),DRO 相对等权的优势才会打开——它保护的是信号,信号越强保护越值钱。
五、三个陷阱#
陷阱一:ε 的理论校准在金融样本量下形同虚设。理论给出的收敛速率是 (n 为资产维度)——想让 Wasserstein 球以高概率罩住真实分布,所需样本量随维度指数爆炸。5 个资产、252 天样本,理论半径大到球内包含”所有资产期望都是 -50%“这类荒谬分布,按理论值优化只会得到纯现金。实践中 ε 只能靠交叉验证或按本文的扫描曲线选,理论保证是渐近的心理安慰。
**陷阱二:球内最坏分布可能毫无经济意义。**Wasserstein 球是纯几何对象,它不知道金融市场长什么样。最坏化时对手可以把概率质量搬到”股票和国债同时单日 -30%“这种经济上近乎不可能的角落。改进方向是给球加结构约束(矩约束、支撑集约束),但每加一条约束,对偶的闭式解就退化一分,最终可能要退回数值求解 min-max——优雅和现实的老交易。
**陷阱三:DRO 防的是估计噪声,不是 regime 切换。**Wasserstein 球罩住的是”与样本分布相距 ε 以内”的分布。2008 或 2020 式的 regime 切换是分布整体跳到球外几个 ε 远的地方——DRO 对此没有承诺。本文实验里样本内外来自同一数据生成过程,DRO 的表现是它的上界;真实市场里分布还会漂移,鲁棒化收益只会更小。防 regime 要靠别的工具(regime 模型、尾部对冲、TIPP 类保险),别让”鲁棒”这个词给你虚假安全感。
六、工程上的最后一句话#
Wasserstein DRO 在均值方差场景下的落地形式简单得近乎反高潮:给你现有的优化器加一项 eps * norm(w),然后花心思选 eps。它的理论纵深(最优传输、对偶定理、有限样本保证)和实现难度(一行代码)之间的落差,是这个方法最大的魅力。
务实的使用顺序:先跑重抽样实验量出你自己管道的乐观差距(本文的 300 次重抽样模板直接可用)——差距小于 2 个百分点,说明估计噪声不是你的主要矛盾,别折腾;差距像本文一样两位数,加上范数惩罚、扫描 ε、报告样本外曲线和等权基准的对比。如果调完之后还是打不过等权——那就用等权,这也是一种鲁棒优化的结论,而且是免费的。