3、多目标投资策略框架:目标函数设计

各位同学,今天我们进入多目标策略的核心环节——目标函数设计。说实话,很多人在做量化策略时,只盯着收益率看。我早期做CTA策略时也犯过这个错,结果回测曲线漂亮得不行,实盘一跑就崩。后来我明白了,单一目标优化就像「瘸腿走路」,走不远。

多目标优化,说白了就是同时考虑多个维度的约束。你想想看,一个策略如果收益很高但流动性极差,或者收益不错但ESG评分垫底,这样的策略你敢用吗?我不敢。

3.1 收益目标函数

收益目标是最直观的。我们通常用年化收益率或累计收益率来衡量。但这里有个坑——我建议你不要直接用「总收益」作为目标,而是用「超额收益」或「风险调整后收益」。

常见的收益目标函数有几种:

  • 年化收益率:简单粗暴,但容易受极端值影响
  • 夏普比率:收益/波动,我最常用的指标
  • 信息比率:超额收益/跟踪误差,适合指数增强策略
  • 卡玛比率:年化收益/最大回撤,适合绝对收益策略

我个人习惯用夏普比率作为主目标。为什么?因为它同时考虑了收益和波动。我在一个CTA策略项目中,用夏普比率优化后,最大回撤从18%降到了7%,收益反而提升了3%。

核心公式

Sharpe Ratio = (Rp - Rf) / σp

其中 Rp 是组合收益率,Rf 是无风险利率,σp 是组合波动率。

3.2 风险目标函数

风险目标函数,嗯,这里要重点讲。很多新手只关注波动率,但风险是多维的。我在项目中遇到过最惨的一次,就是只控制了波动率,没控制尾部风险,结果一次黑天鹅事件直接回撤了25%。

常见的风险度量指标:

风险指标 含义 适用场景
波动率 收益的标准差 通用
VaR 给定置信水平下的最大损失 风控合规
CVaR 超过VaR的平均损失 尾部风险管理
最大回撤 历史最高点到最低点的跌幅 绝对收益策略
偏度/峰度 收益分布的形态 非正态分布策略

我建议你在目标函数中至少包含两个风险指标:一个衡量整体波动(如波动率),一个衡量尾部风险(如CVaR)。这样能避免「看起来稳,实际很脆」的情况。

避坑指南:我曾经只用波动率做风险目标,结果策略在正常市场表现很好,但遇到2015年股灾时直接崩了。后来我加入了CVaR约束,才真正把尾部风险管住。

3.3 流动性目标函数

流动性,说白了就是你的策略能不能「进得去、出得来」。很多人在回测时忽略流动性,结果实盘一跑就发现滑点吃掉所有收益。

流动性目标函数通常包括:

  • 持仓集中度:单只股票占比不超过X%
  • 日均换手率:持仓股票的日均成交量
  • Amihud非流动性指标:价格冲击成本
  • 买卖价差:bid-ask spread

我个人习惯用「持仓集中度」和「日均换手率」两个指标。举个例子,如果一个策略持有某只小盘股占比20%,但这只股票日均成交额只有500万,那你想卖出时可能得砸好几个跌停板。

小技巧:在目标函数中,可以把流动性指标作为惩罚项。比如,当持仓集中度超过5%时,每超过1%就扣0.5%的收益。这样优化器会自动避开流动性差的持仓。

3.4 ESG目标函数

ESG现在越来越重要了。说实话,五年前我还不怎么关注ESG,但这两年机构资金对ESG的要求越来越高。我记得去年帮一家保险资管做策略,对方明确要求ESG评分必须在B级以上。

ESG目标函数的设计方式:

  • ESG评分加权:组合的加权平均ESG评分
  • ESG排除法:剔除ESG评分低于阈值的标的
  • ESG倾斜法:在优化中给予高ESG评分标的更高权重
  • ESG动量:关注ESG评分改善的标的

我建议用「ESG评分加权」作为主目标,同时配合「ESG排除法」做硬约束。比如,要求组合的ESG评分不低于行业平均,同时剔除ESG评分D级以下的标的。

ESG目标函数示例

ESG_score = Σ(wi * ESG_i)
约束条件:ESG_i >= D级阈值

3.5 约束条件构建

约束条件,说白了就是给优化器画个圈,让它只能在圈里找最优解。没有约束的优化,结果往往不切实际。

常见的约束条件:

约束类型 具体内容 示例
权重约束 单只标的权重上下限 0% ≤ wi ≤ 10%
行业约束 行业暴露度限制 行业权重 ≤ 20%
风险预算 各风险因子暴露度 Beta ≤ 1.2
换手率约束 单期换手率上限 换手率 ≤ 30%
ESG约束 最低ESG评分 ESG ≥ B级

我在项目中遇到过最头疼的问题,就是约束条件太多导致无解。后来我学会了「软约束」和「硬约束」的区分——硬约束是必须满足的,软约束是尽量满足的,可以适当放宽。

注意:约束条件不是越多越好。我曾经在一个策略中加了15个约束,结果优化器跑了3个小时还没收敛。后来精简到6个核心约束,5分钟就出结果了。

3.6 决策变量空间

决策变量空间,就是优化器可以调整的参数范围。说白了,就是给优化器一个「操作手册」,告诉它哪些可以调、调多少。

常见的决策变量:

  • 权重向量:各标的的配置比例
  • 因子暴露度:对风格因子的暴露程度
  • 调仓频率:多久调一次仓
  • 阈值参数:买卖信号的触发阈值
  • 风险预算:各风险因子的分配比例

我个人习惯把决策变量分为两类:连续变量和离散变量。连续变量如权重,可以用梯度优化;离散变量如调仓频率,用网格搜索或遗传算法。

经验之谈:决策变量空间越大,优化难度越高。我建议先固定一部分变量,只优化核心的几个。比如,先固定调仓频率为周频,只优化权重和阈值。等找到不错的结果后,再放开其他变量。

3.7 多目标优化框架图

下面这张图是我自己总结的多目标优化框架,你可以看到各个模块之间的关系:

多目标投资策略优化框架 输入数据 目标函数设计 收益目标 风险目标 流动性目标 ESG目标 约束条件 权重约束 | 行业约束 | 风险预算 | 换手率约束 | ESG约束 决策变量空间 权重向量 | 因子暴露 | 调仓频率 | 阈值参数

这张图展示了多目标优化的完整流程:从输入数据开始,经过目标函数设计、约束条件构建,最后到决策变量空间。每个环节都相互关联,缺一不可。

3.8 实战中的权衡

最后说点实战中的体会。多目标优化最大的挑战,就是目标之间的冲突。收益和风险天生就是一对冤家,流动性和收益也常常打架。

我常用的处理方式:

  • 加权求和法:给每个目标赋一个权重,然后求加权和。简单但主观。
  • 帕累托前沿法:找到所有非支配解,让决策者自己选。客观但计算量大。
  • 分层优化法:先优化最重要的目标,再在满足该目标的前提下优化次要目标。

我个人偏好分层优化法。比如,先保证风险不超过某个阈值,再最大化收益,最后优化ESG评分。这样逻辑清晰,也容易跟投资委员会解释。

核心总结:多目标优化不是「既要又要还要」,而是「在约束下找到最优平衡」。目标函数设计是框架的灵魂,约束条件是框架的骨架,决策变量空间是框架的血肉。三者缺一不可。

好了,这一章的内容就到这里。记住,多目标优化没有银弹,关键是根据你的策略特点,找到最合适的平衡点。

专注资料整理