Come verificare le informazioni sulla pratica del backtesting?
Risposta diretta
Le informazioni sulla pratica del backtesting possono essere verificate controllando: (1) quale metodo esatto è stato utilizzato, (2) quali input sono stati assunti (dati, costi, regole di esecuzione), (3) se i risultati possono essere riprodotti a partire da quegli input e (4) se sono stati testati i comuni modi di fallimento. Un’affermazione è significativa solo se è sufficientemente specifica da poter essere rieseguita e indipendente al punto che un’altra persona possa raggiungere le stesse conclusioni sotto le stesse ipotesi.
Definizione e verifica del “cosa”
La pratica del backtesting è il processo di valutazione di un modello di trading o di una regola decisionale applicandolo ai dati storici e simulando cosa sarebbe accaduto sotto un insieme esplicito di regole. La verifica inizia separando:
- Meccaniche stabili: i passaggi algoritmici (logica di entrata/uscita, regole di posizione, calcoli di rischio) e la procedura di calcolo.
- Condizioni variabili: il comportamento del mercato nel tempo e qualsiasi ipotesi che possa alterare il risultato, come spread, commissioni, slippage, liquidità e tempistica dell’esecuzione.
Un obiettivo utile per la verifica è una specifica completa. Al minimo, l’informazione dovrebbe indicare quale regola decisionale è stata testata, quali periodi di dati sono stati utilizzati, come i segnali sono stati generati nel tempo e come le operazioni sono state simulate.
Evidenze ed esempi di controlli riproducibili
Utilizza una gerarchia di fonti che corrisponda al modo in cui le affermazioni diventano verificabili:
- Descrizione primaria del metodo: la descrizione originale della procedura di backtesting (logica e formule).
- Trasparenza degli input: la fonte dei dati storici e i passaggi di pre-elaborazione (pulizia, ricampionamento, timestamp).
- Modello di esecuzione: le regole su come gli ordini sarebbero stati eseguiti (fonte del prezzo, ipotesi di latenza e come vengono applicati i costi).
- Traccia del calcolo: abbastanza dettagli per riprodurre le metriche dai risultati grezzi (elenco operazioni, calcoli di dimensionamento della posizione e metodo di aggregazione).
Passaggi riproducibili per la verifica:
- Passo 1: Registrare le ipotesi. Annotare ogni ipotesi che influisce sui risultati: fuso orario e allineamento delle candele, se il modello utilizza il close o l’open, i costi di transazione e se le esecuzioni assumono che il prezzo dello stesso bar sia disponibile.
- Passo 2: Verificare la tempistica degli eventi (look-forward vs look-back). Assicurarsi che le decisioni al tempo t utilizzino solo informazioni disponibili al tempo t. Un errore comune è usare barre future per costruire indicatori o decidere gli ingressi.
- Passo 3: Validare la logica di esecuzione. Confermare come il modello trasforma le regole decisionali in operazioni: quando cambiano le posizioni, come vengono detratti i costi e se vengono ignorati o approssimati riempimenti parziali o slippage.
- Passo 4: Ricalcolare le metriche da un registro operazioni. Se il backtest riporta solo statistiche riassuntive, richiedere gli output dettagliati operazione per operazione o ricrearli a partire dalle formule dichiarate.
- Passo 5: Eseguire un test di sensibilità. Modificare un’ipotesi alla volta entro intervalli ragionevoli (ad esempio, costi o ipotesi di riempimento leggermente diversi) e verificare se la performance è robusta o collassa.
Limitazioni materiali e modalità di fallimento da verificare esplicitamente:
- Bias di look-ahead (uso di informazioni non disponibili al momento della decisione).
- Overfitting e test ripetuti (ottimizzazione dei parametri finché non corrispondono a anomalie storiche).
- Esecuzioni irrealistiche (assumere un’esecuzione perfetta senza effetti di liquidità o slippage).
- Bias di selezione (scelta di periodi favorevoli dopo aver visto i risultati).
Poiché le relazioni storiche non garantiscono risultati futuri, la verifica dovrebbe concentrarsi sul fatto che il metodo sia internamente coerente e che dimostri resilienza a cambiamenti plausibili delle ipotesi.
Limitazioni e rischi
Anche quando il backtesting viene eseguito con attenzione, i risultati rimangono condizionati dalle ipotesi dichiarate. Costi, tempistica dell’esecuzione e microstruttura del mercato possono differire notevolmente tra periodi, e piccole differenze nel modello possono produrre grandi variazioni nelle metriche. Pertanto, la verifica non dovrebbe considerare un backtest solido come prova di performance futura; è invece una prova che un metodo può comportarsi in un certo modo sotto specifiche condizioni simulate.
Checklist di verifica e prossima domanda
Per verificare autonomamente un’affermazione di backtesting, confermare che tutti i seguenti elementi siano chiaramente dichiarati e possano essere rieseguiti:
- Ambito dei dati e dettagli di pre-elaborazione.
- Logica decisionale esatta e come si traduce negli ordini.
- Ipotesi sulla tempistica dell’esecuzione e come vengono scelti i prezzi per le esecuzioni.
- Ipotesi sui costi e come vengono applicati per ogni operazione.
- Output riproducibili (almeno un registro operazioni o una traccia di calcolo).
Se uno di questi elementi manca, è ancora possibile valutare l’affermazione qualitativamente, ma non è possibile verificarla completamente. La prossima domanda da porsi è: È possibile riprodurre completamente lo stesso backtest utilizzando solo le informazioni fornite, senza aggiungere ipotesi nascoste?