模块化与端到端之争:模型预测更准,为什么还不够?

随机森林之外
43710-08 14:08

作者:随机森林之外

题图:随机森林之外微信公众号


一个新的预测模型做出来,我们通常会先看样本外表现:IC 更高,预测误差更低。

从预测结果看,模型确实有所改善。可接进组合,增量未必兑现。

多出来的预测力,有时集中在流动性差、成本高的品种;有时预测更准,却没有改变资产排序,最后仓位根本没动。

这样的分工,我们很熟悉。预测、组合、风险和执行各自独立,每层都有自己的目标:

图片

预测器并不知道自己的误差最后有没有改变仓位,也不知道那些多出来的 IC,最终有没有穿越边界。

只是,既然最后看的是组合,为什么我们还要先把预测做好?

▾模块化:好预测,未必是好输入

多数量化系统的链路,大致是这样:

图片

拆开之后,每一层都更容易单独验证。新因子可以先检验增量预测能力,不必同时改变组合模型;预测器更新,也可以固定风险模型和仓位映射,观察增量来自哪里。


模块化既是一种工程架构,也是一种研究方法。

但模块一旦拆开,中间就必须有上下游衔接。一段复杂的价格路径进入因子层,可能只留下一个趋势强度;几十个特征经过预测器,最后变成一组预期收益 r̂,再交给组合优化器生成仓位。

当预测层向组合层传递的主要就是一组 r̂,组合层能使用的上游信息,就主要被压缩在这组数字里。预测的不确定性、不同市场状态下的可信度、与已有持仓之间的关系,都可能在这里被压掉。没有被显式传递的信息,也就停在了传递环节之前。

图片

模块化之后,验证和归因变得清晰,但传递环节压掉了信息,各层目标也未必一致。预测层可以变得更好,但它交给组合层的那组数字,未必是更好的输入。

image.png

那么,如果不让预测层只负责交付一组更准的数字,我们能不能让下游决策反过来影响上游预测?


▾端到端:从预测准确,到决策有用

既然问题出在上下游衔接上,一个自然的方向,就是打开边界。

端到端,就是这个方向上的一种尝试:

让最终组合决策反过来参与预测器的训练,而不只是把预测结果交给下游。即使人工因子和组合优化器都还在,只要仓位开始参与预测器的训练,原来的边界就已经改变。

传统的 “先预测、再优化”(Predict-then-Optimize)分工很清楚:预测器负责把收益估准,优化器拿着这些预测决定仓位。

Elmachtoub 和 Grigas(2021)提出的 Smart Predict-then-Optimize(SPO),讨论的就是这两者间的错位。常规预测损失只看预测值离真实值有多远;而 SPO 把下游优化的目标和约束带进训练,将预测输出对最终决策的影响纳入损失。

image.png

落到实际系统里,还需要让组合决策能够影响上游学习。Agrawal 等人(2019)给出过一条代表性的路径:把参数化凸优化问题作为可微层嵌入学习系统。组合优化器仍然存在,只是最终损失可以穿过它,继续影响前面的预测器。

真实组合里还有整数手数、离散调仓和交易规则,并不是每一层都适合直接反传。所以端到端走到哪一步,并不取决于中间还剩多少个模块,而是:

最终投资决策在多大程度上参与了上游预测的学习?

当仓位开始参与训练,“预测得更准”的含义也随之改变。而组合目标一旦参与训练,就需要先搞清楚,组合真正在意的是哪些误差。


▾组合真正在意的误差

预测误差相同,决策代价未必相同。

截面策略里,这个差别很直观。假设我们每天只交易预测排名前后 10% 的标的。

模型把排名 40% 的标的预测成 45%,误差可能不小,但它仍然不会进入组合;另一个标的原本排在 9%,一个很小的预测变化把它推到 11%,却直接决定它是否进入多头组合;加入风险约束以后,有些很小的预测变化还可能触碰风险预算或换手约束,让一组仓位重新分配。

image.png

组合需要考虑的,不仅是误差的大小,还有误差落在哪里。

传统预测损失更关注总体误差,组合则会重新区分这些误差的交易价值。对组合而言,重要的预测误差往往集中在排序边界、约束边界和仓位敏感区。

这给我们日常研究提供了一个更贴近组合的观察角度:

图片

到了这里,预期收益 r̂ 已经不只是对未来收益的预测。传统模块化系统要求它尽可能接近未来实现收益;组合目标进入训练以后,它还需要把上游信息转换成对最终仓位有用的表示。

针对均值-方差组合的决策导向研究也能看到这种机制:组合的协方差结构会影响不同预测误差在训练中的权重。资产如何共同进入组合,会反过来影响预测器对哪些误差赋予更高权重。

于是,一个预测器同时面对两套评价:

图片

两类指标都有价值。如果只看 IC 或 MSE,会忽略最终决策;只看最终夏普,我们又很难判断增量究竟来自预测信息,还是风险配置、成本假设或特定历史。

不过,越靠近最终目标,训练所依赖的下游估计也越多。


▾把目标拉近的代价

端到端的难点,很大一部分来自训练目标。

让目标离最终投资结果更近,听起来很自然。从经济目标看,净收益当然比 MSE 更接近我们关心的东西。但从统计估计看,却是另一回事。

进入组合以后,我们需要估计协方差和风险;进一步看净收益,又加入交易成本与市场冲击;如果直接优化夏普,收益与波动率估计会共同进入训练。

目标更贴近最终投资结果,依赖的估计对象也更多。目标更接近赚钱,并不等于监督信号更可靠。

image.png

以交易成本为例。系统看到的并非未来真实的市场冲击,而是我们估计出来的成本函数。如果这个函数持续低估某些低流动性资产的大额冲击,联合优化可能逐渐把更多仓位和换手推向这些看起来“便宜”的交易。

系统并没有偏离训练目标,问题出在成本估计与真实交易成本之间。联合优化不会自动修正一个错误的下游模型,反而可能更充分地利用它。风险模型、协方差估计和回测环境也有类似情况。

当然,这也不能直接推导出“端到端更容易过拟合”。因为决策损失可以过滤掉不会影响最终仓位的预测误差,也可能把成本、风险或约束中的估计误差带进上游学习。

端到端改变的,是误差进入系统的位置,以及哪些误差会被放大。

Kong 等人(2025)把模型错设、有限样本下的目标近似和梯度近似,列为这类方法的重要统计瓶颈。可微解决的是反馈路径,并不保证回传的变化都包含稳定的样本外信息。

下游误差开始影响上游以后,归因也会变难。模块化系统里,预测、组合、风险和执行可以分别检查。联合程度越高,同一段收益恶化就越可能对应多个来源。

边界既帮助我们识别收益从哪里来,也帮助我们识别问题从哪里来。对于低信噪比研究,这种可识别性尤其重要。一次失败之后,回撤的净值曲线本身提供不了多少信息。我们还需要知道哪里出了差错,哪些判断还可以继续使用。

所以,边界是否值得打开,不能只看技术上能不能联合训练。还要看:

图片


▾知道更多,不等于决定更多

传递环节会损失信息,却不意味着边界越少越好。

有些边界留下来,是因为下游估计还不够可靠;还有一些,是我们并不准备把决定权完全交给训练过程。杠杆上限、流动性约束、集中度以及尾部风险限制,都可能属于这一类。

但“知道更多”和“决定更多”,并不是一回事。

我们可以让预测器看到流动性、成本、风险状态和已有组合暴露,使这些信息参与它对信号价值的判断;与此同时,杠杆、集中度和流动性约束仍然可以作为明确约束保留下来。

image.png

这比简单讨论“模块化还是端到端”更接近实际系统。有些假设可以交给数据重新学习,有些约束则需要跨样本、跨市场状态地保留下来。

所以端到端真正要回答的:

不是能不能把所有模块连起来,而是哪一道边界值得打开。

当传递环节丢掉了重要信息,而下游目标又足够可靠,打开边界才更有意义。反之,如果另一侧依赖大量不稳定估计,或仍需要独立验证和故障归因,边界本身就有价值。

有时候,我们希望信息穿过边界,却不希望控制权一起穿过去。

判断标准可以落成三个问题:

图片


▾写在最后

当一个预测模块表现不够好时,当然可以继续提高预测精度。但也可以多问一层:

它的任务,究竟是尽可能准确地预测未来收益,还是为后面的投资决策提供足够好的信息?

预测准确和决策有用,有时一致,有时又不是。混在一起评价,我们甚至很难知道模型究竟改进了什么。

端到端把最终投资结果提前带进训练,也把成本、风险和约束的假设一起带了进来。它让上游看到更多下游信息,也让上游承担更多下游误差。

所以,问题未必是“模块化还是端到端”,而是:哪些信息应该穿过边界,哪些控制权应该留在边界外。

让系统知道更多,是信息层面;

让系统决定更多,是控制权。

前者可以逐步打开,后者未必需要一次交出去。

免责声明:
您在阅读本内容或附件时,即表明您已事先接受以下“免责声明”之所载条款:
1、本文内容源于作者对于所获取数据的研究分析,本网站对这些信息的准确性和完整性不作任何保证,对由于该等问题产生的一切责任,本网站概不承担;阅读与私募基金相关内容前,请确认您符合私募基金合格投资者条件。
2、文件中所提供的信息尽可能保证可靠、准确和完整,但并不保证报告所述信息的准确性和完整性;亦不能作为投资决策的依据,不能作为道义的、责任的和法律的依据或者凭证。
3、对于本文以及文件中所提供信息所导致的任何直接的或者间接的投资盈亏后果不承担任何责任;本文以及文件发送对象仅限持有相关产品的客户使用,未经授权,请勿对该材料复制或传播。侵删!
4、所有阅读并从本文相关链接中下载文件的行为,均视为当事人无异议接受上述免责条款,并主动放弃所有与本文和文件中所有相关人员的一切追诉权。

0
好投汇
第一时间获取行业新鲜资讯和深度商业分析,请在微信公众账号中搜索「好投汇」,或用手机扫描左方二维码,即可获得好投汇每日精华内容推送和最优搜索体验,并参与编辑活动。

推荐阅读

0
0

评论

你来谈谈?
发表

联系我们

邮箱 :help@haotouxt.com
电话 :0592-5588692
地址 :福建省厦门市湖里区航空商务广场7号楼10F
好投汇微信订阅号
扫一扫
关注好投汇微信订阅号
Copyright © 2017-2026, All Rights Reserved 闽ICP备19018471号-6