Il backtest troppo bello: cinque modi in cui ti racconta una favola

Ciao trader,
ieri è uscito sul mio Instagram un reel corto su una storia che mi è capitata qualche settimana fa.
Un follower mi manda la sua equity.
Un backtest su diversi mercati, con una linea che sale pulita da sinistra a destra. Di quelle che ti fanno pensare “ok, ho finito di lavorare”.
Guardandolo meglio, sulla candela a un minuto c’erano spesso stop e target dentro la stessa candela.
E a decidere quale dei due arrivava prima non era il mercato.
Era il backtest.
Nel reel c’era spazio per un solo motivo. Qui te ne racconto cinque, perché quella linea pulita di solito non ne ha uno solo.
1. Stop e target nella stessa candela
Partiamo da quello del reel.
Una candela a un minuto ti dice quattro cose: apertura, massimo, minimo, chiusura.
Non ti dice in che ordine sono arrivati il massimo e il minimo.
Se il minimo di quella candela arriva fino al tuo stop e il massimo fino al tuo target, dentro quel minuto sono stati toccati tutti e due.
Ma quale per primo?
La candela non lo sa. E se non lo sa la candela, non lo sa nemmeno il backtest.
Quindi il software deve indovinare.
MultiCharts e TradingView, per esempio, di base immaginano che il prezzo vada prima verso l’estremo più vicino all’apertura. MetaTrader 5, se non gli dai i tick veri, se li inventa.
Ognuno a modo suo, ma è sempre un’ipotesi, e non è detto che tu sappia quale ha usato il tuo.
Ora facciamo i conti, con numeri tondi e inventati apposta.
Cento trade, stop e target alla stessa distanza, quindi ogni trade vale più o meno 1 R.
Ottanta sono chiari: 42 vinti e 38 persi. Fa +4 R. Un sistema che campa a malapena.
Gli altri venti sono ambigui, stop e target nella stessa candela.
Se il backtest li conta tutti vinti, chiudi a +24 R. Equity da copertina.
Se in realtà erano tutti persi, chiudi a -16 R.
Stesso sistema, stessi trade. La differenza la fa un’ipotesi che non hai scelto tu e che magari non sai nemmeno di aver fatto.
Più il tuo stop e il tuo target sono stretti rispetto al timeframe, più casi ambigui hai. E più casi ambigui hai, più il risultato lo decide l’ipotesi del software invece del mercato.
La soluzione vera è una: dove stop e target cadono nella stessa candela, si va a vedere i tick. Quasi tutti i software ce l’hanno: Bar Magnifier su MultiCharts e TradingView, alta risoluzione dei fill su NinjaTrader, “ogni tick basato su tick reali” su MetaTrader 5.
Se i tick non li hai, almeno contali come persi. Se il sistema regge anche così, comincia a interessarti.
2. Il tocco regalato
Secondo regalo, parente stretto del primo.
Il tuo ordine limite è a 100. Il prezzo arriva a 100 e torna indietro.
Molti backtest, con le impostazioni di partenza, scrivono: eseguito.
Sul mercato vero, quando il prezzo tocca il tuo livello e se ne va, non è detto che tu sia dentro. Davanti a te possono esserci altri ordini allo stesso prezzo, e un tocco solo non basta a smaltirli tutti.
E nota il dettaglio cattivo: i tocchi che il backtest ti regala più volentieri sono proprio quelli dove il prezzo ti sfiora e si gira subito a tuo favore. Cioè i trade migliori.
Regola semplice per non farti fregare: in backtest un limite lo consideri eseguito solo se il prezzo lo attraversa di almeno un tick. Perdi qualche trade sulla carta, ma quelli che restano sono veri.
3. I costi tolti “per semplicità”
Lo vedo fare spessissimo, anche da gente brava.
“I costi li metto dopo.”
Poi dopo non arriva mai.
Commissioni del broker e fee della borsa, e per gli stop e gli ordini a mercato anche lo slippage, cioè la differenza fra il prezzo che volevi e quello che ti danno. Un limite che sta davvero nel book non ti esegue peggio del tuo prezzo, al massimo non ti esegue, come abbiamo visto sopra. Lo stop invece, quando scatta, diventa un ordine a mercato, e lì lo slippage lo paghi.
Su un sistema che fa due trade a settimana con un target da trenta punti, i costi sono rumore.
Su un sistema che fa dieci trade al giorno con un target da tre tick, i costi sono il sistema. Un profitto medio per trade di un tick e mezzo, se ne paghi uno fra commissioni e slippage, perde due terzi per strada.
Il test da fare è banale: guarda il profitto medio per trade e mettilo accanto al costo di un trade, andata e ritorno. Se i due numeri sono vicini, non hai un sistema. Hai un modo elegante di pagare il broker.
4. Sbirciare il futuro
Questo è difficile da vedere, perché nel codice sembra tutto a posto.
Il sistema usa un’informazione o un prezzo che, nel momento in cui avrebbe dovuto decidere, non aveva a disposizione.
Qualche esempio che ho visto:
- il segnale si calcola sulla chiusura della candela, ma l’ingresso viene messo all’apertura della stessa candela;
- si usa il massimo o il minimo della giornata per decidere un trade fatto a metà mattina;
- un indicatore che ridisegna, cioè cambia i valori passati quando arrivano dati nuovi, e nel backtest ti fa vedere sempre la sua versione “col senno di poi”;
- le candele Heikin Ashi usate come se fossero prezzi veri. Sono medie: l’apertura di una candela Heikin Ashi non è il prezzo a cui potevi entrare in quel momento. Se il backtest ti fa entrare lì, entri a un prezzo che sul mercato, in quell’istante, non c’era.
Il campanello d’allarme è sempre lo stesso: un win rate troppo alto, troppo stabile, con pochissime giornate storte. Il mercato non è così gentile con nessuno.
5. Troppe manopole
Ultimo, e forse il più umano.
Hai un sistema con cinque parametri. Lunghezza della media, distanza dello stop, distanza del target, orario di inizio, orario di fine.
Fai girare l’ottimizzatore su due anni di dati e trovi la combinazione perfetta.
Il problema è che non hai trovato il sistema che funziona. Hai trovato quello che si adatta meglio a quei due anni, rumore compreso. Più manopole hai e più combinazioni provi, più è facile che la migliore sia migliore per caso.
Non è un’impressione mia. C’è un filone di ricerca serio su questo.
David Bailey, Marcos López de Prado e due colleghi matematici hanno mostrato che, provando abbastanza varianti, è relativamente facile trovare un backtest bellissimo anche per una strategia senza nessun vantaggio vero.
E Campbell Harvey e Yan Liu suggeriscono di “tagliare” i risultati di un backtest tanto più quante più prove hai fatto per arrivarci.
Cosa fai in pratica:
- tieni da parte un pezzo di dati che non tocchi mentre ottimizzi, e lo guardi solo alla fine, una volta;
- guarda se i parametri vicini a quello migliore funzionano quasi uguale. Se la media a 20 è fantastica e quella a 19 e a 21 sono un disastro, non hai trovato un sistema, hai trovato un incidente;
- meno manopole è meglio. Ogni parametro in più è un posto in più dove nascondere il caso.
È capitato anche a me
Non te la racconto dall’alto.
Mi è successo più di una volta di guardare equity stupende, test incredibili, e poi rifare i conti con i dati giusti e scoprire che il sistema, nella realtà, non stava in piedi.
L’ultima volta è stata poco fa. Ho ripreso dei backtest fatti su barre e li ho rifatti sui tick, con i costi veri e i fill onesti. Alcuni sistemi che sulla carta erano belli sono scesi a un profit factor sotto uno.
Cioè perdevano.
Non è stato piacevole. Ma molto meno piacevole sarebbe stato scoprirlo con il conto.
Le cinque domande da fare al tuo backtest
Prima di fidarti di una linea che sale, fagli queste domande.
- Quante volte stop e target cadono nella stessa candela? E come le ha contate il software?
- Un limite toccato lo conta eseguito? O chiede che il prezzo lo attraversi?
- I costi ci sono? Commissioni, e slippage sugli stop e sugli ordini a mercato.
- Il sistema usa qualcosa che al momento della decisione non poteva sapere? Chiusure, massimi del giorno, indicatori che ridisegnano, candele che non sono prezzi.
- Quante varianti hai provato prima di questa? E come va sui dati che non hai mai usato per ottimizzare?
Se dopo queste cinque la linea sale ancora, bene. Ma non è finita.
L’ultimo test lo fa il mercato
Il backtest più onesto del mondo resta un’ipotesi.
Il passo dopo è farlo girare in avanti, in demo o con size minima, e confrontare trade per trade quello che fa il sistema con quello che diceva il backtest. Quanti fill mancano, quanto slippage paghi davvero, quanti trade “da backtest” nella realtà non sono mai esistiti.
Per questo confronto ti serve un posto dove segnare i trade veri. Se non ce l’hai, usa il TradingBlog Diary: è gratuito, e alla fine del mese i numeri li hai davanti invece di doverli ricordare.
Se la differenza fra carta e realtà è piccola, hai qualcosa in mano.
Se è grande, il backtest ti ha raccontato una favola.
Meglio saperlo adesso.
Un backtest è un’ipotesi, non un risultato. Il risultato lo scrive il mercato.
Suerte Amigo!
Tiziano Brunno
Tradingblog
Fonti
- David H. Bailey, Jonathan M. Borwein, Marcos López de Prado, Qiji Jim Zhu, “Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance”, Notices of the American Mathematical Society, 2014.
- Campbell R. Harvey, Yan Liu, “Backtesting”, The Journal of Portfolio Management, 2015.
Vuoi mettere alla prova la tua lettura dei mercati?
Confrontati e sfida altri trader dentro un’Arena in ambiente demo, senza rischio di capitale reale. Scopri i Performance Arena Event di The Thunder Trader.
Disclaimer: contenuto puramente informativo ed educativo. Non costituisce consulenza finanziaria né un invito a operare. Il trading comporta rischio di perdita del capitale.

Tiziano Brunno, trader dal 2014. Ho iniziato come junior in una prop firm e ne sono uscito da CEO: il settore lo conosco da dentro, trucchi compresi. Qui scrivo di mercati, macro e crypto senza cravatta e senza fuffa – solo roba verificata. Oggi costruisco The Thunder Trader, dove contano solo le performance.


