Come si può fare il backtest del TSI in modo responsabile?
Definisci cos’è il TSI prima di testarlo
Il TSI (comunemente usato come indicatore di tipo momentum) è una regola che trasforma una serie temporale in un output combinando informazioni sui cambiamenti di prezzo su uno o più periodi di riferimento. Il backtest è quindi il processo di applicazione di tali regole ai dati storici per misurare come si sarebbe comportato l’indicatore risultante.
Un punto di partenza responsabile consiste nel separare due livelli:
- La meccanica stabile: come viene calcolato il TSI dalla serie di input e dai parametri selezionati.
- Le condizioni variabili: il regime di mercato, la qualità dei dati e il modo in cui i risultati si tradurrebbero in un’esecuzione reale.
Solo dopo aver chiarito entrambi i livelli si dovrebbero discutere le implicazioni.
Scegli input e ipotesi sui dati che puoi spiegare
I backtest hanno significato solo se gli input corrispondono all’uso previsto. Per il TSI, definisci esplicitamente queste scelte:
- Serie dei prezzi: quale campo viene utilizzato (ad esempio, prezzo medio rispetto a bid/ask). Se non riesci a giustificare una scelta, trattala come un’ipotesi.
- Gestione del tempo: dimensione delle barre, rotazione delle sessioni e allineamento (ad esempio, assicurarsi che i valori dell’indicatore utilizzino solo informazioni disponibili in quel momento).
- Impostazioni dei parametri: le lunghezze esatte dei periodi di riferimento e eventuali passaggi di smoothing.
- Pulizia dei dati: come vengono gestite le barre mancanti e se gli outlier vengono corretti o rimossi.
Se una parte della tua configurazione è ambigua, documentala e mantienila coerente in tutti i test. Questo rende i tuoi risultati verificabili in modo indipendente.
Includi costi ed effetti di esecuzione nel modello di backtest
I movimenti storici dei prezzi non sono uguali ai risultati negoziabili. Anche se non stai generando segnali di trading, la tua valutazione dovrebbe comunque riflettere che l’implementazione comporta attriti.
Le lacune comuni nei modelli includono:
- Costi di transazione: spread, commissioni e spese.
- Ritardo di esecuzione: agire alla chiusura di una barra utilizzando il prezzo di chiusura può essere irrealistico.
- Slippage: la differenza tra i prezzi attesi e quelli effettivamente ottenuti.
Un backtest responsabile utilizza quindi ipotesi esplicite per questi elementi. Approccio di esempio (le ipotesi devono essere dichiarate): utilizza un costo costante per round-trip o un semplice modello di spread, applicandolo coerentemente ogni volta che la logica del tuo backtest cambia stato (ad esempio, ogni volta che una condizione dell’indicatore cambia). Evita di ottimizzare i costi finché le prestazioni non “sembrano giuste”.
Controlla il bias e l’overfitting
Molti fallimenti nei backtest derivano dal bias piuttosto che dal design dell’indicatore. Un test responsabile include controlli che ti impediscono di “imparare il futuro”:
- Pre-registra lo spazio di ricerca dei parametri: definisci gli intervalli per le impostazioni del TSI prima di eseguire l’ottimizzazione.
- Utilizza test walk-forward (a scorrimento): seleziona i parametri su un periodo e valutali sul successivo periodo non visto.
- Mantieni un campione finale di riserva: anche se iteri molte volte, riserva un segmento che non viene toccato per la selezione del modello.
Dovresti inoltre testare la robustezza misurando la sensibilità: se piccoli cambiamenti nei periodi di riferimento modificano drasticamente i risultati, il backtest è probabilmente fragile.
Usa controlli fuori campione (out-of-sample) coerenti con l’affermazione prevista
Un principio fondamentale: le relazioni storiche non garantiscono risultati futuri. La tua valutazione dovrebbe quindi concentrarsi su ciò che può essere supportato dal design.
Controlli pratici e responsabili includono:
- Confronti di prestazioni fuori campione su più finestre temporali.
- Stabilità tra regimi: testa in periodi di tendenza, laterali, ad alta e bassa volatilità (definiti tramite criteri misurabili personali).
- Barre di errore e controlli di distribuzione: osserva la variabilità dei risultati piuttosto che un singolo numero riassuntivo.
Se il tuo obiettivo è comprendere il comportamento del TSI piuttosto che affermare la sua redditività, puoi comunque applicare questi controlli alle tue metriche (ad esempio, distribuzione dei valori dell’indicatore, caratteristiche di persistenza o comportamento simile al drawdown secondo la regola di valutazione scelta).
Una limitazione fondamentale: i backtest possono validare una procedura, non il futuro
Un errore comune è confondere “il backtest è andato correttamente” con “la strategia funzionerebbe”. Anche con un’accurata gestione dei dati e test fuori campione, i backtest responsabili possono essere compromessi da:
- Non stazionarietà: la dinamica di mercato cambia nel tempo.
- Differenze nascoste di implementazione: i tuoi costi ipotizzati, i tempi di esecuzione e la gestione degli ordini potrebbero non corrispondere alla realtà.
- Effetti di selezione: un’iterazione eccessiva può produrre risultati che si adattano al rumore.
Pertanto, l’interpretazione più difendibile riguarda solitamente la robustezza del comportamento testato sotto ipotesi definite, non risultati garantiti.
Cosa verificare successivamente
Se vuoi fare il backtest del TSI in modo responsabile, verifica la tua configurazione passo dopo passo:
- Conferma che gli input e le definizioni dei parametri del calcolo del TSI corrispondano alla tua interpretazione prevista. 2. Conferma le tue ipotesi temporali (quando l’informazione diventa disponibile rispetto a quando viene utilizzata). 3.