3、均值方差模型的局限:参数敏感性、估计误差、对输入假设的依赖

均值方差模型,马科维茨老爷子拿了诺奖的成果。理论上很漂亮——给定预期收益和风险,找到最优组合。但说实话,我在实战中用这个模型,踩过的坑比想象中多得多。

为什么?因为模型本身有个致命弱点:它对输入参数太敏感了。你想想看,输入稍微变一点点,输出的权重可能天差地别。这在金融世界里,简直就是灾难。

3.1 参数敏感性:输入的小变化,输出的大震荡

我个人习惯用蒙特卡洛模拟来测试模型的稳定性。有一次我做了个实验:把某只股票的预期收益率从12%调到12.5%,就0.5%的变化。结果呢?最优组合里这只股票的权重从15%直接跳到了40%。

这合理吗?当然不合理。但模型就是这么反应的。

核心问题:均值方差模型本质上是一个二次优化问题。目标函数对预期收益的一阶导数很大,导致权重对收益估计极其敏感。

我画了个图来说明这个问题。你看,预期收益稍微一动,有效前沿上的最优组合点就滑出去老远。

参数敏感性示意图 风险(标准差) 预期收益 原始前沿 偏移后前沿 A A' 收益微调0.5% 图:预期收益微小变化导致最优组合大幅偏移

嗯,这里要注意:参数敏感性不是模型的bug,而是数学结构决定的。你没法通过改进算法来解决,只能从输入质量入手。

3.2 估计误差:历史数据能告诉我们什么?

我在项目中遇到过最头疼的事,就是估计误差。均值方差模型需要三个输入:预期收益、方差、协方差。这三个东西,没一个能准确估计。

先说预期收益。你拿过去5年的年化收益来估计未来?我试过,结果惨不忍睹。某年我用了沪深300过去3年的数据,算出来预期收益15%。结果接下来一年跌了8%。

避坑指南:我曾经用滚动窗口法估计协方差矩阵,发现一个规律——样本外表现最好的组合,往往不是用最近3年数据算出来的,而是用最近5年数据。但5年数据又包含太多市场结构变化。这是个两难。

协方差矩阵的估计更麻烦。假设你有100只股票,协方差矩阵就有4950个参数。你想想看,用有限的历史数据去估计这么多参数,误差能不大吗?

我整理了一个表格,直观展示估计误差的影响:

输入参数 估计方法 典型误差范围 对组合权重的影响
预期收益 历史均值 ±5%~±15% 极大(权重可能翻倍或归零)
方差 历史方差 ±10%~±30% 中等
协方差 历史协方差 ±20%~±50% 较大(尤其相关性高的资产)

你看,预期收益的误差最大,影响也最致命。这也是为什么很多量化团队干脆放弃预测收益,转而用风险平价这类不依赖收益预测的模型。

3.3 对输入假设的依赖:模型有多脆弱?

均值方差模型背后有一堆假设。比如收益服从正态分布、投资者是理性的、市场无摩擦等等。这些假设在教科书里很完美,但在真实市场里,呵呵。

我印象最深的是2008年。那年之前,很多机构用均值方差模型配资产。模型说:多配股票,少配债券,因为股票收益高。结果金融危机一来,股票暴跌,组合直接崩了。

为什么会这样?因为模型假设收益是正态分布的,但真实市场有肥尾效应。极端事件发生的概率,比正态分布预测的要高得多。

我的经验:如果你非要用均值方差模型,至少做两件事:一是用bootstrap方法生成多个可能的收益路径,而不是只用一组点估计;二是对权重加约束,比如单只股票不超过10%,避免模型给出极端配置。

还有一个假设容易被忽略:投资者是风险厌恶的,且效用函数是二次的。说白了,模型假设所有人都用同样的方式看待风险和收益。但现实中,有人怕亏钱,有人怕踏空,有人有流动性需求。这些都没法放进模型里。

我记得有一次给一家保险资管做配置。他们的负债端有固定成本,所以对下行风险特别敏感。但均值方差模型只关注整体方差,不区分上行和下行。结果模型给出的组合,在压力测试下根本过不了关。

后来我给他们改用了下半方差作为风险度量,效果好了很多。但这是后话了。

3.4 小结:均值方差模型的适用场景

说了这么多局限,是不是均值方差模型就没用了?也不是。我个人觉得,它在以下场景还是能用的:

  • 大类资产配置的初步筛选:比如先跑一遍模型,看看哪些资产在有效前沿上,哪些被淘汰了。
  • 作为基准对比:拿均值方差模型的结果当benchmark,看看其他模型(比如风险平价)到底好在哪里。
  • 约束条件明确的情况:比如你强制要求某些资产的最低配置比例,模型就不会跑偏太远。

但如果你指望它直接给出一个可以照单全收的组合,那我劝你三思。模型是工具,不是答案。尤其是均值方差这种对输入极度敏感的模型,用之前一定要做好敏感性分析。

嗯,这一章就到这里。下一章我们聊聊怎么改进这些问题,看看风险平价模型是怎么绕过这些坑的。


蓝海数据掘金营,专注资料整理