Backtesting
Simulation, with the brakes on.
One session engine runs both backtests and paper trading, so a backtest exercises the same risk engine, ledger and netting as live paper orders.
Walk-forward
Train on the past, test on what came next
Method
Point-in-time data
Fundamentals become usable one day after their SEC filing date; short interest ten days after settlement; news at publication. Tests deliberately inject future filings and rewritten prices and prove the features do not change.
Execution and costs
Orders decided at a close fill at the next session's open. Costs are 0.5 bps commission plus 5 bps slippage per side, and every validation is repeated at double costs.
Purge, embargo and the locked holdout
Training samples whose labels overlap the test period are removed, with an extra embargo gap. The most recent year is a final holdout that is never scored unless a named person unlocks it — once — and that use is recorded.
Uncertainty
Results carry stationary-bootstrap confidence intervals. Deflated Sharpe ratios count every trial in the registry, including failures, and Holm correction controls for testing many models.
Survivorship bias
The universe is today's large caps; companies that failed or were delisted are missing, which makes history look better than it was. Every result is flagged accordingly.
Promotion
Passing a backtest never promotes a strategy. Promotion requires reproducible evidence and a named human; see risk management.