Alpha-Online
踩坑复盘

增量窗口污染下游

DWD 增量预处理的窗口边界算错,污染 returns / VWAP,进而毒杀整张因子截面。#29 事故档案。

层级 DWD · 数据预处理  严重度 高  关联 #29 · commit 1de678e · preprocessor.py

现象

增量跑预处理时,某些日期的 returns / vwap 出现异常值,且只在增量边界附近出现——全量重算就正常。下游因子截面随之被污染,排名错乱。

定位

returns、滚动 vwap 这类衍生字段需要前置若干天的历史才能正确计算。增量模式下,窗口起点取错了一两天,导致边界处的滚动计算缺少必要的历史输入,算出了「半截」的值。

根因

衍生字段依赖回看窗口,并非逐行独立计算。窗口边界偏差一天,边界附近的所有计算值均会失真——且偏差幅度较小,难以通过常规肉眼检查发现。

修复

修正增量窗口的边界计算,确保滚动 / 衍生字段拿到足够的前置历史;并由 数据质量审计 DQC 做跨层一致性校验,把这类边界污染挡在因子计算之前。

教训:带回看窗口的增量计算中,边界处理是高风险环节。增量节省的计算开销可能不及一次边界污染排查的成本。建议在边界处多计算若干天后丢弃冗余部分。

关联

On this page