微信二维码
💬 为防失联,请加数据助手微信
每晚 22:30 前推送最新信号:进出场、浮盈浮亏
中证2000中证1000全天候ETF大盘情绪微盘📱 添加到桌面
首页 / 指标百科 / 未来函数(Look-ahead Bias):回测里最致命的作弊

未来函数(Look-ahead Bias):回测里最致命的作弊

指标百科 · 定义、算法与常见误区
一句话:未来函数就是「偷看答案」。 回测在某个时点用到了当时还不存在的信息,结果必然漂亮,实盘必然失效。

最常见的一类:用当天收盘价决定当天开盘的动作

比如策略逻辑是「今天跌幅超过 3% 就买入」。 如果你的回测里用今天的收盘价判断、又用今天的收盘价成交, 那就等于在收盘那一刻同时知道结果和执行交易——现实中做不到。 真实世界里你只能在收盘之后下单,成交价最早是次日开盘。

五类高发的未来函数

类型典型表现
同日收盘决策 + 同日成交信号和成交都用了当天收盘价
用了事后修正的数据财务数据用最新披露值回填历史(应该是当时能看到的版本)
成分股用当前名单拿今天的指数成分股回测十年前(幸存者偏差的一种)
全样本标准化用整段数据的均值/标准差做归一化,包含未来信息
参数在样本内调到最优本质是拟合历史噪声(见「过拟合」一篇)

一个能一眼看穿的例子

某策略回测年化 80%、最大回撤 3%,曲线几乎是直线向上。 这种形态基本可以直接判定有问题:真实策略不可能长期只有 3% 的回撤, 因为市场本身的波动就远大于此。过于完美的曲线,本身就是未来函数的指纹。

怎么自查

最后一条最容易被忽略:一份「2024 年 12 月 31 日」的财报, 可能要到次年 4 月才披露。按日期对齐而不按披露日对齐,就是典型的未来函数。

为什么它比过拟合更隐蔽

过拟合可以通过样本外检验暴露:样本内好、样本外崩,一眼就能发现。 未来函数不一样——它在任何时间段都在作弊,所以样本内样本外一样漂亮, 所有「换个区间再测一次」的办法都查不出来。 唯一的办法是按真实时间线重放:只允许策略看到当时已经发生的数据。

常见问题

怎么快速判断一个回测有没有未来函数?

最快的办法是加延迟测试:把信号和成交都往后推 1–2 天,如果收益断崖式下跌,说明原结果高度依赖即时信息。其次是检查成交价是否符合该市场的交易制度(如 A 股 T+1)。

未来函数和过拟合有什么区别?

未来函数是「用了不该知道的信息」,属于逻辑错误,通常能通过检查代码发现;过拟合是「把噪声当规律」,数据本身没问题,但结论不可外推。两者常常同时出现,但排查手段不同。

用当天收盘价成交真的很严重吗?

在日频策略里影响非常大,因为收盘价往往是最有信息量的那个价格。把它改成次日开盘,很多「高收益」策略的收益会直接腰斩甚至转负。

相关阅读

相对强度 RPS:把涨幅换算成 0~100 的排名分T+1 与未来函数:回测最容易作弊的地方过拟合:为什么参数调得越漂亮,实盘越容易失效最大回撤(Max Drawdown)是什么,怎么算 每日数据日报 大盘情绪面板
本文为指标与方法论的科普说明,所有公式均为公开的金融学标准定义。 文中引用的本站数据仅用于举例说明指标含义,不构成任何投资建议,也不代表对未来收益的承诺。 市场有风险,投资需谨慎。