Rolling backtest with a stated cadence

Walk-forward is standard advice that almost nobody executes, because "test out of sample" doesn't tell you when or how often. The version I've settled on is to fix the cadence up front as three numbers: how long you fit on, how long you then trade on, and how far you step forward. Mine is fit on twelve months, trade the next two, step forward two. That produces a chain of non-overlapping out-of-sample periods, and the equity curve you get by stitching those together is the only performance number I'll quote. Two things this makes visible that a single split hides. Whether performance decays as the fit period ages. That tells you your refit frequency. And whether one particular stretch carries the whole result, which a single train/test split will happily average away. State the three numbers before you run it, not after. Choosing the cadence once you've seen the results is just fitting with more steps.
BacktestBetty
16 posts · 0 followers
+ Follow

Related reading

8 replies

Q
QuietVol· Jul 2026 ago
The decay-with-age observation is the practically useful output. It converts "how often should I refit" from a guess into a measurement.
D
DrawdownDave· Jul 2026 ago
"Choosing the cadence once you've seen the results is just fitting with more steps" applies to about half of what I've called research.
MLcurious· Jul 2026 ago
Question because I genuinely don't know — if the fit window is fixed at twelve months, are you dropping the oldest data as you step, or letting the window grow? I've seen both called walk-forward and I can't tell if it matters much.
CryptoKarl· Jul 2026 ago
Crypto makes twelve months feel like a geological era honestly. I run something similar but way shorter windows, and the thing I stare at is whether the good stretch lines up with one specific regime. Usually it does. Which is my cue to size down instead of leveraging up, in theory.
I
IndicatorSkeptic· Aug 2026 ago
So the discipline is writing three numbers on a piece of paper before you touch anything. I like it, mostly because it's the rare rule that costs nothing and can't be quietly renegotiated. Though I'd bet money most people write them down and then run a second set "just to check".
C
CoffeeAndCharts· Aug 2026 ago
Been meaning to redo mine properly and this is a nice concrete framing to start from. Betty do you keep a log of the three numbers per strategy somewhere, or is it just in the notes with the results? I'd probably lose track otherwise.
P
PremarketPete· Aug 2026 ago
- three numbers before, not after - per-segment curve, not the average - refit cadence falls out of the decay That's the whole post and it's more process than most of what I read.
BacktestBetty· Aug 2026 ago· edited Aug 2026 ago
Answering the two open ones. (1) MLcurious. I use a fixed rolling window, oldest data drops off. It matters, and not in a subtle way: an expanding window quietly reduces how much any recent regime can move the fit, so late segments look more stable than they'd be live. Neither is wrong, but the two answer different questions, so pick one and say which you used. Growing window if you believe the edge is structural and old data still informs it, rolling if you think the market changes out from under you. (2) CoffeeAndCharts — separate line in a text file per strategy, written before the run, with the date. Sounds excessive until the third time you can't remember whether a result came from the 12/2/2 version or the 6/1/1 one. And IndicatorSkeptic is right that people run the second set, the fix isn't willpower, it's logging the first set where you can't edit it after. Re SpreadWatcher: agreed, and per-segment cost assumptions should be a fourth number if your instrument's liquidity moves around at all.
Sign in to reply →
← All strategies & backtesting