Vai al contenuto
Percorso formativo Argento Metodo ripetibile

Backtest

Simulazione storica di una strategia: dati point-in-time, regole causali, esecuzione realistica e controllo dei bias prima di qualunque inferenza.

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.

Motore di backtest: eventi e contabilitàLa curva finale nasce da una sequenza verificabile di stati. Schema event-driven illustrativo; frequenza, priorità e accounting vanno documentati.Motore di backtest: eventi e contabilitàLa curva finale nasce da una sequenza verificabile di statiSchema event-driven illustrativo; frequenza, priorità e accounting vanno documentati.1Clock ed eventiOrdina dati, corporate action,segnali, ordini e settlement.2Snapshot datiEspone al motore soltanto ciòche è disponibile inquell'istante.3Stato strategiaPosizioni, cash, margine evariabili persistono tra glieventi.4Simulatore ordiniApplica latenza, validità,liquidità e regole di filldichiarate.5LedgerRegistra quantità, prezzi,costi, flussi, mark ericonciliazioni.6DiagnosticaMetriche e log permettono diattribuire risultato ederrori.Cyclepedia · schema didattico condizionato, non previsione né promessa
Un risultato storico è l'ultimo anello di una catena: dati, orologio degli eventi, decisione, esecuzione, costi e misurazione.

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

  1. Definire la domanda. Scrivere ipotesi economica, universo, frequenza, periodo, benchmark e criterio con cui il risultato sarà giudicato.
  2. Congelare la specifica. Versionare segnali, parametri, sizing, vincoli, dati e calendario. Conservare un registro di tutti i tentativi, inclusi quelli falliti.
  3. Costruire l'orologio. Ordinare disponibilità dell'informazione, decisione, invio, eventuale cancellazione e fill.
  4. Simulare il portafoglio. Applicare limiti di capitale, leva, liquidità, turnover e concentrazione senza usare informazioni future.
  5. Stimare l'esecuzione. Dichiarare spread, commissioni, slippage, impatto, fill parziali, funding e costo opportunità pertinenti.
  6. Misurare senza scegliere a posteriori. Riportare rendimento netto, rischio, drawdown, turnover, esposizione, capacità e confronto con il benchmark, insieme all'incertezza statistica.
  7. Validare separatamente. Riservare dati temporali non usati nello sviluppo e stabilire come saranno trattati dipendenza, label sovrapposte, refit e test finali.
  8. 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

Collegamenti