Analisi walk-forward: fette, quota di addestramento e selezione
Il walk-forward divide il periodo di backtest in fette, sceglie la migliore configurazione di parametri sulla parte di addestramento di ogni fetta, la valuta sulla parte di test che non ha mai visto e riporta il risultato fuori campione concatenato, con una cifra di efficienza e uno Sharpe deflazionato.
Senzoukria · Documentazione · Aggiornato a settembre 2026
Dove trovarlo
- Dove
- Replay → Preparare → Backtest automatico → casella «Walk-forward — trova la migliore configurazione»
- Valori predefiniti
- Fette 4, Quota di addestramento 0,7, Criterio di selezione SQN
- Combinazioni
- Massimo 400; una configurazione deve avere almeno 10 operazioni per poter essere selezionata
- Dati minimi
- Ogni fetta richiede almeno 100 barre di addestramento e 50 barre di test
Che cosa fa
Provare trenta configurazioni e tenere la migliore misura la fortuna. Il walk-forward separa la scelta dalla misura: i parametri sono scelti all'inizio di ogni fetta, poi valutati sulla fine della stessa fetta, che non ha preso parte alla scelta. Il risultato mostrato è la concatenazione di quei pezzi mai visti, cioè ciò che la strategia avrebbe davvero reso.
Implementazione (lib/replay/autoBacktest.ts, runWalkForward): le barre sono tagliate in fette uguali; dentro ogni fetta la prima quota trainRatio di barre è la finestra di addestramento e il resto è la finestra di test. Ogni combinazione degli assi di esplorazione viene eseguita sulla finestra di addestramento, valutata con il criterio di selezione, e la migliore viene eseguita una volta sulla finestra di test. Le operazioni fuori campione di tutte le fette vengono concatenate e su di esse si calcolano le statistiche combinate. L'avanzamento indica «fetta n · addestramento» e poi «fetta n · test».
Impostazioni
| Impostazione | Predefinito | Che cosa cambia |
|---|---|---|
| Interruttore walk-forward | Disattivato | Mostra le impostazioni sottostanti e cambia il pulsante di avvio in «Lancia il walk-forward». |
| Fette | 4 | Numero di fold, da 2 a 12. Più fette significano finestre di addestramento più corte; l'esecuzione rifiuta una divisione che lasci meno di 100 barre di addestramento o 50 di test. |
| Quota di addestramento | 0,7 | Parte di ogni fetta usata per scegliere i parametri, da 0,5 a 0,9 a passi di 0,05. |
| Criterio di selezione | SQN (qualità, tiene conto del numero di operazioni) | Anche Profit factor, Aspettativa per operazione o Sharpe per operazione. Una configurazione con meno di 10 operazioni ottiene meno infinito. |
| Parametri da esplorare | Assi letti dai params dello script, altrimenti lookback 10, 20, 40 / stopTicks 20, 40, 80 / targetTicks 40, 80, 160 | Valori separati da virgola per asse; «Esplora ogni parametro leggibile» imposta fino a cinque assi attorno ai valori predefiniti dello script; «Rileggi lo script» li ripristina. |
| Riga delle combinazioni | — | «{n} combinazioni × {folds} fette — circa {dur}», oppure «Troppe combinazioni (massimo 400)». |
Leggere il risultato
- Efficienza walk-forward = aspettativa media fuori campione divisa per l'aspettativa media dentro campione, attraverso le fette. Dal 70 % in su: «la strategia tiene fuori dai propri dati»; dal 40 %: «perde buona parte del suo edge fuori campione»; sotto: «gran parte del risultato era sovradattamento». Sotto il 50 % la riga è evidenziata come negativa.
- Sharpe deflazionato: lo Sharpe per operazione fuori campione contro la soglia che la sola selezione produrrebbe sul numero di configurazioni provate. Verdetti: solido (sopravvive alla correzione), fragile (il numero di configurazioni ne spiega buona parte), rumore (non distinguibile dal migliore di un'estrazione casuale).
- Tabella dei fold: Fetta, Addestramento, Test reale, Configurazione, così vedi se la configurazione scelta salta da una fetta all'altra.
- Grafici: capitale dentro campione contro fuori campione (tratteggiata la curva che l'ottimizzatore ha visto) e stabilità dei parametri, che confronta la configurazione scelta con i suoi vicini nella griglia (altopiano, pendio o picco).
- Sono le statistiche combinate fuori campione a essere registrate nel pannello delle prestazioni.
Limiti e trappole
Ogni combinazione in più è un'altra estrazione sugli stessi dati; oltre un certo punto misuri la fortuna di un sovradattamento, ed è per questo che il tetto è 400 e che all'assistente è imposto di tenere le esplorazioni sotto le 100. Esplorare cinque assi su un mese di barre a 15 minuti produrrà un vincitore che non significa nulla.
Le fette sono tagliate per numero di barre, non per calendario; una fetta può stare a cavallo di un cambio di regime. L'esplorazione esegue ogni combinazione come un backtest completo, quindi il tempo di esecuzione cresce linearmente con combinazioni × fette, e le barre a 1 minuto su periodi lunghi richiedono ore. Il walk-forward usa le stesse regole di esecuzione e gli stessi costi del backtest semplice, e non piazza mai un ordine.
Pagine correlate
- Backtest automatico
- Assistente di backtest (IA)
- Grafici dei risultati
- Come testare una strategia di trading
Questa pagina in altre lingue
Domande frequenti
- Che cosa significa un'efficienza walk-forward del 45 %?
- In media l'aspettativa fuori campione è stata il 45 % di quella dentro campione: la strategia ha perso buona parte del suo edge su dati che non aveva visto. Sotto il 50 % il pannello lo evidenzia e all'assistente è imposto di dire chiaramente che gran parte del risultato era adattamento alla curva.
- Perché l'esecuzione rifiuta il mio numero di fette?
- Ogni fetta deve conservare almeno 100 barre di addestramento e 50 barre di test. Con un periodo breve o molte fette questa condizione non è soddisfatta; riduci le fette o allunga il periodo.
- Su quale criterio conviene selezionare?
- Il valore predefinito è SQN perché incorpora nel punteggio il numero di operazioni. Sono disponibili profit factor, aspettativa per operazione e Sharpe per operazione; qualunque cosa scegli, una configurazione con meno di 10 operazioni non viene mai selezionata.