Anchored vs rolling walk-forward windows: which should you use?
Anchored versus rolling walk-forward designs: bias-variance trade-offs, implementation pitfalls, and which setup maps to your deployment story.
Anchored walk-forward vs rolling is a design choice, not a moral one. Searches like rolling window walk-forward and walk forward analysis python implementations often assume one pattern by default. You should pick the pattern that matches how you will research and trade in production.
Rolling walk-forward
Rolling means your in-sample window has fixed length; when time advances, you drop old data from training as you add new data at the end.
Pros: training reflects recent regimes; less contamination from ancient data.
Cons: higher variance if the train window is short.
Anchored (expanding) training
Anchored means training starts at a fixed date and grows over time.
Pros: more data for thin instruments; smoother parameter estimates for slow signals.
Cons: old regimes can dominate; structural breaks can poison the fit.
How to choose
- If you will re-fit on a rolling N months in production, mirror that in research.
- If your signal is slow and needs long history, anchored may be closer to reality, but add regime checks (Regime change).
Implementation pitfalls
- Accidentally mixing anchored IS with inconsistent OOS boundaries
- Purge/embargo mistakes when labels overlap (advanced topic; see CPCV vs WFA)