The problem it solves
If you optimise parameters on all your data and then test on the same data, you have not tested anything. Walk-forward analysis splits history into rolling windows: optimise on a period, test on the period immediately after it, then roll both forward and repeat. The results come only from data the optimiser never saw.
How to run one
- —Choose an in-sample length long enough to contain multiple market regimes — for gold, twelve months is a sensible floor.
- —Set out-of-sample at roughly 25% of in-sample length.
- —Roll forward by the out-of-sample length and repeat until history is exhausted.
- —Stitch the out-of-sample segments together. That stitched curve is the only result worth reporting.
Reading the efficiency ratio
Divide out-of-sample performance by in-sample performance to get walk-forward efficiency. Values near or above 0.5 suggest the parameters describe something durable. Values below 0.3 suggest you have been fitting noise with great precision.
What it still cannot tell you
Walk-forward validates parameter stability against history. It cannot validate against a regime that has never occurred, and it inherits every flaw in your execution modelling. It raises confidence; it does not replace a live account, which is why every claim we publish comes from one.
Choosing window lengths without fooling yourself
Window selection is itself a parameter, and tuning it until the walk-forward result looks good reintroduces exactly the overfitting the method was meant to prevent. Choose windows from the structure of the market — long enough to contain multiple regimes, short enough that the fit remains relevant — and then leave them alone.
Practical defaults
Reading the efficiency ratio and knowing when to stop
The ratio of out-of-sample to in-sample performance is the single most informative number the method produces. Close to one means the parameters describe something structural; below roughly half means the fit is describing noise and no amount of further optimisation will fix it. Falling efficiency across successive windows is a decay signal worth acting on.
When the answer is 'do not deploy'
- —Efficiency below 0.5 across multiple windows.
- —Results that collapse when a single parameter moves ten percent.
- —Performance concentrated in one exceptional window.
- —A curve that only works with optimistic cost assumptions.
Everything discussed here is applied on a public, third-party verified account — updated continuously, losing weeks included.
