Ottimizzazione walk-forward
La versione onesta dell'ottimizzazione. Allena sul passato, testa sulla finestra successiva, ruota, ripeti.
Cos'è
Un'ottimizzazione walk-forward (WFO) divide i dati storici in N fold consecutivi. In ogni fold, una finestra in-sample (IS) trova i migliori parametri per la tua strategia, e la finestra out-of-sample (OOS) immediatamente successiva misura come quei parametri si sono comportati su dati mai visti dall'optimizer. Ripeti per ogni fold; i risultati OOS, cuciti insieme, sono ciò di cui ti fidi.
Perché conta
I backtest singoli premiano il curve fitting. Una strategia che rende 4× su una singola finestra di 2 anni di solito ha solo la forma giusta per quella finestra. Il WFO distrugge gran parte di quell'illusione — se una strategia non sopravvive alla riottimizzazione su finestre rotanti, non dovrebbe andare live.
Come lo fa Noon Barbari
- Splitter a finestra rolling con dimensioni IS / OOS configurabili — default 60 giorni IS, 30 giorni OOS.
- Ricerca parametri basata su Optuna per ogni fold con N trial (default 50). Tutti gli spazi di ricerca sono dichiarati nel YAML della strategia.
- Le metriche OOS per fold vengono aggregate in uno score di robustezza che pesa la consistenza più del rendimento di picco.
- Gli stress test applicano shock di slippage, rifiuti di esecuzione e serie di prezzi rimescolate per regime al replay OOS.
Score di robustezza
Un singolo numero in [0, 1] che riassume quanto bene una strategia ha camminato in avanti. >0,6 = vale la pena fare paper trading; <0,4 = curve-fit; in mezzo = esegui più fold. Il dettaglio — consistenza del rendimento, stabilità del drawdown, varianza dell'hit rate — è nel report WFO.
Quando fidarsi
Dopo almeno 6 fold con robustezza OOS > 0,5 e nessun fold peggio di -10 % di rendimento. Se un singolo fold esplode, la strategia non è robusta come suggerisce lo score aggregato.