做量化回测最怕的不是策略差,而是数据脏:同一品种在不同行情源里代码五花八门,主力合约切换没有统一规则,夜盘时间戳归属错交易日,重复行、缺失值、超涨跌停的异常价混在一起,回测结果直接失真。本作品把多来源期货行情归一化成一条可回测的数据流水线:合约映射、清洗、对齐三步各设校验闸门,任何一步不达标就停下来报问题,而不是带着错误继续算。适用于量化研究者自建本地数据库、小团队统一多来源行情、以及对接回测框架前的数据预处理。
点击空白处退出提示
做量化回测最怕的不是策略差,而是数据脏:同一品种在不同行情源里代码五花八门,主力合约切换没有统一规则,夜盘时间戳归属错交易日,重复行、缺失值、超涨跌停的异常价混在一起,回测结果直接失真。本作品把多来源期货行情归一化成一条可回测的数据流水线:合约映射、清洗、对齐三步各设校验闸门,任何一步不达标就停下来报问题,而不是带着错误继续算。适用于量化研究者自建本地数据库、小团队统一多来源行情、以及对接回测框架前的数据预处理。
1、合约映射:把各来源的合约代码(交易所前缀、大小写、主力连续、指数合约等写法差异)映射为统一代码,输出原始合约到统一合约的映射表,命中率达标的闸门才会放行;2、清洗:剔除重复行、前向填充缺失成交量并留标记、剔除涨跌停之外的异常价并写入处置日志;3、时间对齐:夜盘时间戳归属下一交易日,统一输出纳秒级时间戳与统一频率;4、可追溯:每一行被删除或修改的数据都有原因记录,处置日志可复查;5、纯本地运行,行情数据不出本机,不接任何账户、不碰资金。
本人独立完成。技术栈为 Python(pandas),输入为 CSV 与数据库表,输出为 Parquet/CSV 统一数据集加映射表与清洗日志。架构上分映射、清洗、对齐三段,每段之间设数值化校验闸门(映射命中率、异常价占比、时间轴完整性),闸门不通过即中断并给出诊断。难点在交易日归属规则:夜盘跨自然日的归属必须与交易所结算规则一致,这里用交易所日历驱动而非简单加减小时。




评论