Strategy Validation
Forward-Walk (Walk-Forward) Analysis
Repeatedly optimizing a strategy on one window of history and testing it on the unseen window that follows. The standard defense against curve-fit backtests.
Forward-walk, also called walk-forward, analysis repeatedly selects strategy parameters on an earlier in-sample (IS) window and evaluates the frozen choice on the out-of-sample (OOS) window immediately after it. It approximates the sequence of decisions a researcher could have made through time.
The procedure
Here is a rolling schedule with 12 months of training and three months of evaluation:
| Batch | Parameter selection (IS) | Frozen evaluation (OOS) |
|---|---|---|
| 1 | Jan–Dec 2024 | Jan–Mar 2025 |
| 2 | Apr 2024–Mar 2025 | Apr–Jun 2025 |
| 3 | Jul 2024–Jun 2025 | Jul–Sep 2025 |
For each row, the OOS data must remain outside parameter selection. The final analysis stitches the OOS segments, rather than presenting the optimized IS curves as if they were one tradable record. This is the same chronological idea behind scikit-learn's official time-series split: training comes before testing so future observations do not train a past model.
Rolling windows keep a fixed IS length and discard the oldest observations. Anchored windows keep the same start and grow with each batch. Rolling gives recent conditions more weight; anchored gives each later fit more history. Neither is universally better, so the schedule should be chosen before reading the results.
How to read the result
There is no universal acceptable ratio between IS and OOS Sharpe. Interpretation depends on sample size, turnover, parameter search breadth, and uncertainty around both estimates. A large, repeated drop from IS to OOS is evidence worth investigating, but it does not by itself identify the cause. Costs, market change, and chance can also produce the gap.
A common misconception is that every OOS window stays “unseen” forever. Once a researcher reads it and changes the strategy, it has influenced development. Keep a final untouched holdout if the research claim depends on a last independent check, and report whether that holdout exists.
On AlphaProve
AlphaProve supports rolling and anchored schedules, parameter selection within each IS window, and a report built from per-batch OOS results. It reports the selected parameters, OOS PnL, win rate, and max drawdown, alongside WFO efficiency. The historical walk-forward testing example shows five three-month evaluation batches and also states the fields its original record did not preserve.