核心解答
股票回测里有一种错误特别危险。
程序不会报错。
结果也不会变差。
恰恰相反,它通常会让策略变得非常漂亮。
这就是前视偏差。
一、什么叫偷看未来
假设一份财报在4月30日才正式公布。
但数据库把这份数据直接归属到上一年度。
如果回测在1月份就开始使用它,相当于策略提前知道未来信息。
二、收盘价也可能造成前视偏差
如果根据今天完整收盘价计算信号,却又假设自己能按今天同一收盘价成交,就可能产生时间上的不一致。
完整收盘价只有收盘以后才真正确定。
三、指数成分也有时间问题
今天看到的指数成分,不代表五年前也是这些公司。
直接使用今天的名单向过去回测,可能同时产生幸存者偏差和未来信息问题。
四、数据要保存什么时候知道
优秀的数据系统不仅记录数值。
还应该记录什么时候产生、什么时候公布、策略最早什么时候允许使用。
这就是point-in-time数据的重要性。
五、怎样检查
逐个检查因子公开时间、使用哪根K线、订单最早发出时间、数据库是否发生历史修订,以及股票池是否是当时真实股票池。
结论
前视偏差最危险的地方,是它会把错误伪装成能力。
先保证信息时间正确,才有资格讨论策略收益。
资料依据
CFA Institute Backtesting & Simulation 关于Look-Ahead Bias、Survivorship Bias与历史模拟的方法框架。
风险提示
本文用于说明股票量化研究和数据工程方法,不构成证券投资建议或收益承诺。
继续了解这个主题
如果拿今天仍然上市的公司去回测十年前的策略,可能已经在无意中删除了历史里的失败公司,这就是幸存者偏差。
阅读全文 →股票量化股票回测为什么必须处理复权?拆股和分红会制造“假收益”拆股、反向拆股和现金分红会改变历史价格或持仓数量。量化回测如果混用未复权价格和复权收益,很容易制造不存在的暴涨暴跌。
阅读全文 →股票量化A股回测为什么不能假设想买就买?涨跌停、停牌和一字板会直接改变成交信号出现不等于订单一定成交。涨跌停、停牌、一字板、流动性和竞价阶段都会让理想回测与真实A股执行产生巨大差异。
阅读全文 →量化研究一个量化策略从想法到实盘,中间到底应该经历多少道测试?成熟量化流程不是“想法→回测赚钱→上线”,而是从数据审计、样本内、Walk-Forward、样本外、压力测试到小规模实盘逐层验证。
阅读全文 →淄博卓亚网络科技服务有限公司
电话:15269365953
地址:山东省淄博市张店区体育场街道办事处华光路2号泽泉消防市场三楼S18