4、加权求和法:权重选择策略、权重敏感性分析、线性加权与非线性加权对比

加权求和法,说白了就是给每个目标函数分配一个权重,然后加起来变成一个单目标问题。这是多目标优化里最直观、最常用的方法。我刚开始做量化策略时,用的就是这招——简单,但坑也不少。

4.1 权重选择策略:不是拍脑袋决定的

权重怎么选?很多人上来就拍脑袋:收益重要,给0.7;风险次要,给0.3。嗯,这样也行,但不够严谨。我个人习惯用以下几种方法:

  • 等权重法:所有目标权重相同。适合你完全不知道哪个更重要的时候。比如收益、夏普、最大回撤各占1/3。
  • 专家经验法:根据业务需求定权重。比如机构客户更看重回撤控制,那风险权重就高一些。
  • 层次分析法(AHP):两两比较目标的重要性,然后算权重。我曾在项目中用过一次,效果还行,就是过程有点繁琐。
  • 自适应权重法:根据当前市场状态动态调整权重。比如波动率低时多给收益权重,波动率高时多给风险权重。

重要提醒:权重之和必须为1,且每个权重在[0,1]之间。这是基本约束,别搞错了。

4.2 权重敏感性分析:看看你的策略稳不稳

权重选好了,但问题来了:如果权重稍微变一点,结果会不会天翻地覆?这就是权重敏感性分析要回答的问题。

我曾经做过一个实验:把收益权重从0.5调到0.55,结果最优组合从股票A变成了股票B。这说明策略对权重非常敏感,需要谨慎。

怎么做敏感性分析?我建议用以下步骤:

  1. 选定一个基准权重组合,比如(0.5, 0.3, 0.2)
  2. 每次微调一个权重,比如±0.05,其他权重按比例调整
  3. 观察最优解的变化情况
  4. 如果最优解变化剧烈,说明策略不稳定,需要重新设计

小技巧:可以用热力图来展示权重变化对目标值的影响。横轴是权重1,纵轴是权重2,颜色代表综合得分。这样一眼就能看出敏感区域。

4.3 线性加权与非线性加权对比

线性加权是最简单的形式:

F = w1*f1 + w2*f2 + ... + wn*fn

但线性加权有个大问题:它假设目标之间是相互独立的,可以完全替代。你想想看,收益和风险能完全替代吗?显然不能。

非线性加权就灵活多了。常见的有:

  • 乘积形式:F = f1^w1 * f2^w2 * ... * fn^wn。适合目标之间相互依赖的情况。
  • 指数形式:F = w1*exp(f1) + w2*exp(f2)。可以放大某些目标的差异。
  • 分段线性:不同区间用不同的权重。比如回撤小于5%时,风险权重0.3;回撤超过5%时,风险权重0.6。

注意:非线性加权虽然灵活,但求解难度也大。特别是乘积形式,如果某个目标值为0,整个结果就变成0了。我在项目中吃过这个亏,后来改用加一个小常数来避免。

下面这张图展示了线性加权和非线性加权的核心区别:

线性加权 vs 非线性加权 线性加权 F = w1*f1 + w2*f2 特点: • 目标之间完全可替代 • 帕累托前沿是凸的 • 求解简单,速度快 • 无法处理非凸问题 ⚠ 适用场景: 目标之间相关性低 权重有明确经济含义 需要快速得到结果 非线性加权 F = f1^w1 * f2^w2 特点: • 目标之间相互依赖 • 可处理非凸帕累托前沿 • 更符合实际投资逻辑 • 求解复杂,可能不收敛 ⚠ 适用场景: 目标之间有强交互 需要精细控制风险 有充足计算资源 选择

4.4 实战建议:怎么选?

说了这么多,到底用哪种?我个人的经验是:

  • 新手入门:先用线性加权,简单易懂。等跑通了再考虑非线性。
  • 追求稳健:用线性加权+敏感性分析。看看权重变化对结果的影响,心里有底。
  • 追求精细:用非线性加权,特别是乘积形式。但要做好求解失败的准备。
  • 混合使用:先用线性加权找到大致区域,再用非线性加权精细调整。我在一个多资产配置项目中就是这么干的,效果不错。

避坑指南:我曾经在权重敏感性分析上偷懒,结果策略上线后表现远不如预期。后来发现,权重稍微一变,最优组合就完全不一样了。所以,敏感性分析一定要做,而且要做得细致。

最后说一句:加权求和法虽然简单,但用好了威力无穷。关键是理解权重的含义,以及它对结果的影响。别把权重当成摆设,它可是你策略的灵魂。


公众号:蓝海资料掘金营,微信deep3321