A chi serve — A chi vuole trasformare un'idea di trading in una simulazione controllabile, distinguendo ciò che il modello avrebbe potuto conoscere e negoziare da ciò che è visibile soltanto a posteriori.
Un backtest applica a dati storici una specifica completa di segnali, portafoglio, ordini, costi e vincoli. Produce un risultato controfattuale: che cosa sarebbe accaduto secondo quel modello se le regole fossero state eseguite nel periodo osservato. Non è un track record reale, non dimostra che esista una relazione causale e non garantisce che la distribuzione futura assomigli a quella passata.
Ogni conclusione resta condizionata al campione, alla specifica, ai dati e alle assunzioni operative dichiarate.
La distinzione decisiva è fra strategia e simulatore. La strategia dice quando assumere rischio; il simulatore traduce la decisione in posizioni e rendimenti. Un segnale sensato può apparire eccellente per un errore di timestamp, per prezzi non negoziabili o per costi omessi. All'opposto, un modello di esecuzione eccessivamente punitivo può nascondere il comportamento che si intende studiare. Le assunzioni devono quindi essere dichiarate e verificabili.
Che cosa deve specificare
| Livello | Domanda verificabile | Errore che previene |
|---|---|---|
| Dati | Quale valore era disponibile in quel preciso istante? | Look-ahead, revisioni, survivorship bias |
| Segnale | Con quali variabili, ritardi e parametri si decide? | Regole ricostruite dopo aver visto il risultato |
| Portafoglio | Come si trasformano segnali in pesi, size e limiti? | Leva o concentrazione implicite |
| Esecuzione | Quando e a quale prezzo l'ordine può essere riempito? | Fill impossibili sulla stessa barra |
| Economia | Quali costi, funding, borrow e corporate action si applicano? | Performance lorda scambiata per realizzabile |
| Valutazione | Quali metriche, benchmark e prove erano scelti prima? | Selezione ex post della lettura più favorevole |
I dati devono essere point-in-time quando la loro storia può cambiare. Ciò riguarda composizione degli indici, titoli delistati, fondamentali con date di pubblicazione, serie macroeconomiche revisionate e classificazioni societarie. Includere i ticker cessati non basta se mancano rendimenti di delisting, membership storica o trattamenti corretti delle operazioni sul capitale.
Causalità: sapere, decidere, eseguire
Ogni evento dovrebbe avere almeno un tempo di disponibilità e un tempo di azione. Se la chiusura della barra entra nel segnale, il fill a quella stessa chiusura richiede una specifica credibile dell'asta, dei tempi di calcolo e dell'invio dell'ordine; altrimenti il primo prezzo utilizzabile appartiene a un evento successivo. Lo stesso principio vale per comunicati, indicatori economici e dati fondamentali: la data di competenza non coincide necessariamente con quella in cui l'informazione diventa pubblica.
Per futures, opzioni, obbligazioni, strumenti short o a leva servono inoltre regole coerenti per scadenze, roll, moltiplicatori, margini, esercizio, assegnazione, borrow, collateral e rendimento della cassa. Non esiste un unico modello di fill valido per tutte le classi di attivo.
Protocollo minimo riproducibile
- Definire la domanda. Scrivere ipotesi economica, universo, frequenza, periodo, benchmark e criterio con cui il risultato sarà giudicato.
- Congelare la specifica. Versionare segnali, parametri, sizing, vincoli, dati e calendario. Conservare un registro di tutti i tentativi, inclusi quelli falliti.
- Costruire l'orologio. Ordinare disponibilità dell'informazione, decisione, invio, eventuale cancellazione e fill.
- Simulare il portafoglio. Applicare limiti di capitale, leva, liquidità, turnover e concentrazione senza usare informazioni future.
- Stimare l'esecuzione. Dichiarare spread, commissioni, slippage, impatto, fill parziali, funding e costo opportunità pertinenti.
- Misurare senza scegliere a posteriori. Riportare rendimento netto, rischio, drawdown, turnover, esposizione, capacità e confronto con il benchmark, insieme all'incertezza statistica.
- Validare separatamente. Riservare dati temporali non usati nello sviluppo e stabilire come saranno trattati dipendenza, label sovrapposte, refit e test finali.
- Archiviare gli artefatti. Conservare codice, configurazione, versioni delle dipendenze, seed, snapshot o hash dei dati e output principali.
Costi e prezzi di riferimento
Commissioni e spread sono solo una parte del costo. Una simulazione può dover considerare market impact, quantità disponibile, ritardo, mancata esecuzione, funding, prestito titoli, conversione valutaria e fiscalità pertinente al perimetro dichiarato. L'implementation shortfall confronta l'esecuzione con l'intenzione al momento della decisione e può includere anche la parte non eseguita; non coincide con una commissione fissa aggiunta a fine calcolo.
Il modello dei costi dovrebbe dipendere, quando i dati lo consentono, da lato, dimensione, liquidità, volatilità, venue e tipo di ordine. Uno scenario con costi più severi è informativo, ma non ripara dati contaminati o fill impossibili.
Esempio illustrativo
Esempio dichiarato illustrativo, non risultato operativo — Una regola giornaliera calcola il segnale dopo la chiusura. Il protocollo usa costituenti point-in-time, invia l'ordine alla sessione successiva, limita la partecipazione al volume e addebita spread, commissioni e un impatto crescente con la size. Le metriche nette vengono confrontate con un benchmark total return nella stessa valuta. Se il ricercatore prova dodici varianti di lookback, tutte e dodici entrano nel registro delle prove: non è corretto presentare l'unica vincente come prima ipotesi.
L'esempio non stabilisce quali ritardi o costi siano adeguati per un mercato specifico. Mostra invece quali parti devono poter essere contestate e ricalcolate.
Come leggere il risultato
Una curva crescente non è una validazione. Occorre chiedere se il rendimento è concentrato in pochi eventi, se cambia con piccole perturbazioni ragionevoli, se sopravvive a costi plausibili, se il benchmark è stato scelto ex ante e se la precisione stimata è compatibile con quantità e dipendenza delle osservazioni. Il numero di trade non equivale automaticamente al numero di osservazioni indipendenti.
Il backtest è più utile come strumento di falsificazione e diagnosi che come macchina per produrre una previsione puntuale. Un esito negativo può rivelare un'ipotesi incoerente; un esito positivo rende la strategia candidata a controlli di robustezza, validazione out-of-sample e osservazione forward, non la trasforma in una certezza.
Limiti
- Il passato osservato può non contenere crisi, regimi o microstrutture future.
- La qualità apparente dipende dal numero di modelli e parametri esplorati.
- Slippage e impatto sono controfattuali e diventano più incerti con la size.
- Una replica con lo stesso codice e gli stessi dati verifica la riproducibilità, non costituisce replicazione indipendente.
- Monte Carlo e stress test descrivono scenari costruiti: non eliminano look-ahead, survivorship bias, data snooping o errori di specifica.
Fonti
- Halbert White, A Reality Check for Data Snooping, Econometrica, 2000 — inferenza quando il modello migliore emerge da molte specifiche esplorate.
- Robert D. Arnott, Campbell R. Harvey e Harry Markowitz, A Backtesting Protocol in the Era of Machine Learning — protocollo di ricerca, selezione e scarsità dei dati finanziari.
- Marcos López de Prado, What to Look for in a Backtest — numero di prove, lunghezza del test e caratteristiche da rendere visibili.
- André F. Perold, The Implementation Shortfall: Paper Versus Reality, The Journal of Portfolio Management, 1988 — confronto fra portafoglio teorico ed esecuzione effettiva.
- Commissione europea, Regolamento delegato (UE) 2017/589, RTS 6 — metodologia, documentazione e ambienti di prova dei sistemi algoritmici nel relativo perimetro regolamentare.