量化机器学习里“模型走捷径”的典型现象与应对方法
这个现象在量化里特别典型:模型会优先学“最容易降低 loss 的信号”,而这些信号往往是: 不可交易(跌停 / 停牌 / 流动性太差、成交冲击巨大) 不允许暴露(行业 / 风格 / beta 太强,后面优化器会剪掉) 看起来很准但其实是泄露 / 同步信息(时间戳没对齐、用到了收盘后才能知道的东西) 想让训练“无偏”(更准确说:对齐你最终能落地的 alpha key driver),常用办法可以按“从简单到高级”分四类: 1) 先把“不可实现的部分”从数据层面关掉 这是性价比最高的一步(很多时候比改 loss 更有效): 严格可交易过滤:跌停 / 停牌 / 一字板 / 极端流动性日,直接把这些样本从训练或 label 里 mask 掉(不参与 loss)。 时间戳对齐:特征只用你下单前能拿到的版本;label 也按你真实成交价/成交时点定义。 训练集的股票池 = 实盘股票池:别让模型在训练时学到“小票、低流动性”带来的虚假 alpha。 这一步的目的:别让模型把“你根本做不到的收益”当成最省力的捷径。 2) 让 label 变成“你真正想赚的东西” 如果 label 本身就是“毛收益”,模型天然会偏向那些 毛收益很大但成本也很大 / 不可交易 …

