Look-Ahead Bias in a Backtest: The Corrupt-the-Future Test That Catches It
Look-ahead bias is the default state of careless backtest code, not an exotic edge case, and it survives review because it reads as ordinary pandas. Here is the corrupt-the-future causality test I now gate on: poison every price after a date, then assert nothing computed before it moves. If the past shifts when you poison the future, the strategy is reading ahead.