Un backtest è la bugia più persuasiva del trading. La curva del capitale sale verso destra, il tasso di vincita sembra sano e i drawdown appaiono sopportabili. Poi lo si applica in reale e il vantaggio evapora silenziosamente. Non è sfortuna. I backtest sovrastimano la performance reale in modi sistematici e prevedibili, e una volta conosciuti questi meccanismi di fallimento smetti di rimanerne sorpreso.
Questo articolo presuppone che tu sappia già come eseguire un backtest. Se non è così, inizia dalla guida di riferimento su come fare il backtest di una strategia di trading, che copre la meccanica, la dimensione del campione e il forward testing. Qui approfondiamo una domanda più difficile: perché il numero che un backtest ti fornisce è quasi sempre migliore di quello che effettivamente guadagnerai.
Un Backtest È il Caso Migliore, Non una Stima
Il problema di fondo è che un backtest non è una misurazione neutrale. È il risultato di un processo in cui hai fatto decine di piccole scelte, e ognuna di queste ha avuto la possibilità di far trapelare ottimismo nel risultato. Hai scelto il mercato, il periodo, l'indicatore, i parametri, l'uscita. Ogni decisione è stata presa avendo già una certa conoscenza di cosa avesse funzionato. Quella conoscenza è la contaminazione.
Statisticamente, il risultato che conservi non è un'estrazione casuale dalla distribuzione dei possibili esiti. È il massimo di molte estrazioni rumorose. Quando selezioni la migliore tra cento cose, non stai misurando l'abilità, stai misurando la coda superiore della fortuna. Ciò che segue è un catalogo dei meccanismi che producono quel bias verso l'alto.
Cinque modi in cui un backtest sovrastima la performance reale
| Bias | Come gonfia il risultato | Come individuarlo | Correzione |
|---|---|---|---|
| Survivorship | Testa solo gli asset sopravvissuti fino ad oggi | Verifica se l'universo è point-in-time | Usa un dataset che includa i titoli delistati |
| Look-ahead | Usa dati non conoscibili al momento del trade | Ripercorri ogni segnale fino al suo timestamp | Ritarda i dati; esegui sulla barra successiva |
| Overfitting | Il migliore tra tante run ottimizzate sembra ottimo per fortuna | Conta i tuoi parametri e i tuoi tentativi | Meno parametri; test out-of-sample |
| Cost blindness | Ignora spread, slippage, commissioni | Ricalcola tutto al netto dei costi reali | Modella il costo di andata e ritorno per trade |
| Regime dependency | Codifica un'era di mercato come una legge universale | Nota il regime di tassi e volatilità testato | Testa su bull, bear e alta volatilità |
I Cinque Modi in Cui il Numero Mente
1. Survivorship Bias: Hai Testato Solo i Vincitori
Supponi di fare il backtest di un'idea semplice: comprare il ribasso sui titoli dell'S&P 500. Prendi i componenti odierni dell'indice, scarichi la loro storia dei prezzi e simuli l'acquisto ad ogni drawdown del 10%. I risultati sono eccellenti, perché la strategia sembra recuperare sempre. Non è così. Sembra così solo perché ogni azienda nel tuo test è sopravvissuta fino ad essere nell'indice oggi.
L'S&P 500 sostituisce circa 20-25 aziende all'anno. In un backtest di 20 anni, si tratta di diverse centinaia di cambiamenti nella composizione dell'indice che non vedi mai. Il tuo test non ha mai comprato il ribasso su Lehman Brothers, Bear Stearns, Enron o Washington Mutual, perché quei titoli sono scesi e hanno continuato a scendere fino ad essere delistati e rimossi dall'indice. La strategia non è mai stata esposta ai perdenti. La conclusione secondo cui "i ribassi recuperano sempre" era incorporata nella costruzione dell'universo, non scoperta nei dati. I dati point-in-time che includono i titoli delistati sono l'unica correzione onesta.
2. Look-Ahead Bias: Usare Informazioni che Non Avevi
Il look-ahead bias significa che la tua simulazione ha usato informazioni non disponibili al momento del trade. La versione sottile e comune è un errore di tempistica. Supponi che la tua regola sia "compra quando la chiusura giornaliera supera la media mobile a 50 giorni", e il tuo backtest esegue quell'acquisto alla chiusura dello stesso giorno. In realtà non puoi conoscere la chiusura finché la sessione non è terminata, e a quel punto l'unico prezzo su cui puoi negoziare è l'apertura successiva, che potrebbe presentare un gap contro di te. Eseguire al prezzo del segnale invece che al prezzo effettivamente disponibile può produrre un vantaggio che non esiste.
L'altra versione classica sono i dati rettificati. Gli utili aziendali vengono rivisti. Se il tuo backtest usa la cifra finale e rettificata dell'EPS presente oggi nel database, sta negoziando su numeri che non erano noti alla data del trade, quando esisteva solo la cifra riportata inizialmente. La regola è facile da enunciare e facile da violare: ogni input deve essere ritardato a ciò che era conoscibile in quel timestamp.
3. Overfitting e la Trappola dei Confronti Multipli
La guida sulla meccanica copre il curve-fitting di base. Il problema più profondo è statistico. Se testi 200 combinazioni di parametri e giudichi ciascuna contro una soglia di significatività del 5%, circa 10 di esse sembreranno "significative" puramente per caso, anche se nessuna ha un vantaggio reale. Selezionare la run dall'aspetto migliore non significa trovare quella buona. Significa trovare quella più fortunata.
Una strategia con 12 parametri ottimizzati ha abbastanza gradi di libertà da adattarsi a quasi qualsiasi serie storica di prezzi passata. Non ha imparato una regola sui mercati, ha memorizzato il rumore specifico del tuo campione. L'euristica onesta segue direttamente: più parametri hai calibrato e più combinazioni hai provato, maggiore dovrebbe essere lo sconto da applicare al risultato. Un sistema pulito a tre parametri testato una sola volta merita più fiducia di un sistema a dodici parametri che è risultato vincitore di un'ottimizzazione su mille run.
4. Cecità sui Costi di Transazione
Spread, slippage e commissioni vengono addebitati per ogni trade, quindi si compongono con la frequenza. Un backtest che assume costo zero non sta modellando la tua strategia, sta modellando una versione fantasiosa che negozia gratuitamente. Considera un sistema a breve termine con un sottile vantaggio lordo dello 0,10% per trade di andata e ritorno e un costo realistico di andata e ritorno dello 0,12% una volta aggiunti spread, slippage e commissione. Il grafico sottostante mette a confronto il rendimento lordo con quello netto all'aumentare del numero di trade, usando semplici rendimenti sommati per chiarezza.
Stessa strategia, lordo vs netto: un vantaggio sottile che i costi divorano
Guarda cosa succede. A 1.000 trade all'anno il backtest lordo mostra uno spettacolare rendimento del 100%, mentre il risultato reale, corretto per i costi, è negativo del 20%. Più questa strategia negozia, migliore appare il backtest e maggiore è il denaro reale che perde, perché il vantaggio per singolo trade non è mai sopravvissuto al costo per singolo trade. Ecco perché lo stesso seducente sistema ad alta frequenza con un lordo del 40% può risultare saldamente negativo al netto. I costi distorcono silenziosamente anche i rapporti rischio-rendimento riportati da un backtest, poiché ogni spread pagato riduce il rendimento reale su ogni operazione vincente.
5. Dipendenza dal Regime
Una strategia testata dal 2010 al 2021 è stata testata quasi interamente all'interno di un unico regime di mercato: tassi di interesse a zero, quantitative easing, bassa volatilità e il mercato rialzista più lungo della storia. In quel mondo, i ribassi recuperavano e i trend persistevano, quindi un sistema di mean-reversion o trend-following che ha "imparato" quei comportamenti sta in realtà solo codificando il regime come se fosse una legge permanente dei mercati. Poi è arrivato il 2022 con i rialzi dei tassi, un mercato ribassista e una volatilità elevata, e la strategia ha incontrato condizioni che non aveva mai visto. Un backtest confinato a un'unica epoca ti dice come si è comportata una strategia in quell'epoca, e quasi nulla su come gestirà la successiva.
Di Quanto Dovresti Scontare un Backtest?
Non puoi eliminare del tutto questo bias, ma puoi tenerne conto nel prezzo. Tratta il numero principale come un tetto massimo e scontalo in base a come è stato costruito il test. Più il processo è sporco, più profondo dovrebbe essere lo sconto.
Quanto scontare un backtest prima di crederci
| Caratteristica del backtest | Trattamento realistico | Motivo |
|---|---|---|
| Solo in-sample, un unico regime di mercato | Sconto pesante o scarta | Non ha mai visto un mondo diverso |
| 10+ parametri ottimizzati | Sconto pesante | Probabilmente ha memorizzato il campione |
| Costi assunti a zero o ignorati | Potrebbe ribaltare il segno | Il netto è l'unico numero che conta |
| Universo pulito da survivorship | Sconto moderato | I perdenti sono stati rimossi silenziosamente |
| Out-of-sample, walk-forward, costi realistici | Sconto leggero, verifica comunque in reale | Il più vicino all'onestà che puoi ottenere |
Cosa Aiuta Davvero
Nulla di tutto ciò significa che il backtesting sia inutile. Significa che un backtest è un filtro che elimina le cattive idee, non una promessa su quelle buone. Alcune pratiche riducono significativamente il divario tra il backtest e la realtà. Riserva dati out-of-sample che il modello non ha mai toccato, e usa il walk-forward testing. Sconta aggressivamente in base al numero di parametri. Testa deliberatamente su regimi diversi, comprese le fasi più brutte. E conferma che l'esecuzione reale possa effettivamente ottenere i riempimenti e le dimensioni delle posizioni assunte dal backtest, perché un sistema che fa silenziosamente affidamento su entrate perfette o ignora le tue regole di position sizing si comporterà in modo molto diverso con denaro reale in gioco.
Il filtro finale è il paper trading, seguito da un piccolo trading dal vivo. Un backtest vive in un mondo senza riempimenti mancati, senza emozioni e senza sorprese. L'esecuzione reale è l'unico test che include tutte e tre queste cose.
Punti Chiave
- Un backtest è il migliore tra molti tentativi rumorosi, quindi è distorto verso l'alto ancora prima che tu lo legga.
- Il survivorship bias testa solo gli asset sopravvissuti; il look-ahead bias negozia su informazioni che non avevi.
- L'overfitting cresce con il numero di parametri e il numero di combinazioni provate, quindi sconta di conseguenza.
- I costi vengono addebitati per ogni trade e possono trasformare un grande rendimento lordo in un netto saldamente negativo.
- Un backtest a regime singolo codifica quel regime come una legge e si rompe quando il regime cambia.
Un backtest ti dice che una strategia avrebbe funzionato. Non ti dice mai che funzionerà. Il divario tra queste due frasi è dove muoiono la maggior parte dei conti di trading.
Disclaimer: Questo contenuto ha uno scopo puramente educativo e non costituisce consulenza finanziaria. Il trading comporta un rischio sostanziale di perdita. Le performance passate non garantiscono risultati futuri.