QMT做因子计算时会遇到缺失值,来源一般是停牌、财报未披露、数据接口返回空值,常用四种处理逻辑。
直接删除样本,把存在缺失值的整条个股样本直接过滤掉。适合缺失占比很低的场景,缺点会丢失大量截面数据,小盘股、财报季容易样本变少。
中位数/均值填充,截面维度,用同一时间截面上其他股票该因子的均值或者中位数填补空缺。优先用中位数,不容易被极端值干扰,缺点会抹平真实差异,引入人为噪声。
前后向填充,时间序列逻辑,用这只股票上一期有效值填充当前缺失,多用于行情类因子。停牌场景比较适用,不适合财务类因子,财务不能沿用旧财报随意填充。
分组填充,按行业、市值分组,用分组内的中位数补缺失。是实盘回测比较推荐的方式,同一行业逻辑相近,比全局中位数更加合理。
还有特殊标记法,不做数值填充,新增一个布尔标记字段记录该位置为缺失,后续策略里单独对缺失样本做过滤,不参与打分排序,这是量化研究里很稳妥的做法。
实操避点,财务因子尽量不要前向填充;回测和实盘必须保持完全一致的插补逻辑,回测不能用未来数据;缺失占比过高的因子直接放弃使用。
我司为正规上市老牌券商,风控体系完善,足不出户就能线上完成开户操作,并且佣金很优惠,欢迎联系。
个股出现跳空缺口后,为什么有的缺口会回补,有的长期不回补?背后的市场逻辑是什么?
波动率因子对股价有什么影响,传导逻辑是什么?
量化交易的策略回测是不是支持因子 IC 值计算,方便筛选有效的阿尔法因子?
量化交易里的"因子"是什么?市值因子、动量因子、价值因子怎么理解?
QMT量化因子选股策略,因子构建与回测验证步骤
QMT量化行情数据补全:插值方法与数据填充技巧
问一问流程:
1.提交咨询
2.专业一对一解答
3.免费发送短信回复