Signal Pilot
🟡 Intermedio • Lezione 32 di 82

Backtesting e realtà: quell'aspettativa perfetta ti sta mentendo

16 min di lettura • Validazione della strategia
Signal Pilot
Formazione professionale sul trading
0%
Stai facendo progressi!
Continua a leggere per completare questa lezione

Il tuo backtest: aspettativa 8R. Fattore di profitto 3,5. 50.000 $ di utile su un conto da 10.000 $.

Passi al reale. Prima settimana: aspettativa -2R. Fattore di profitto 0,4. Conto giù del 12 %.

Che cosa è successo? Il tuo backtest ha mentito.

🚨 Parliamoci chiaro

La maggior parte dei backtest è pura fantasia. Dà per scontate esecuzioni perfette, zero slippage, nessuno spread ed entrate magiche che nel mercato reale non esistono.

Se il tuo backtest sembra troppo bello per essere vero, lo è. Ti sei adattato al rumore, non al segnale.

In questa lezione imparerai:

  • Perché il 90 % dei backtest fallisce una volta portato in reale
  • I 4 peccati capitali: sovradattamento, bias di anticipazione, costi irrealistici, bias del sopravvissuto
  • Come modellare lo slippage e gli spread in modo che rispecchino davvero la realtà
  • In-sample contro out-of-sample (l'unica validazione che conta)
⚡ Risultati rapidi per domani (clicca per aprire)
  1. Aggiungi costi realistici al tuo backtest — Metti in conto uno slippage dello 0,03-0,05 % per operazione più lo spread effettivo. Se i risultati crollano, il tuo vantaggio era finto.
  2. Dividi i dati 70/30 — Ottimizza sul 70 % dei dati e valida sul 30 % che non hai mai visto. Se l'out-of-sample non tiene, hai sovradattato.
  3. Fai 30 giorni di carta prima del reale — Se i risultati su carta si discostano parecchio dal backtest, qualcosa non va. Non passare al reale finché non coincidono.

Esempio reale: come un backtest «perfetto» con aspettativa 1,3R è diventato un disastro da -0,45R in reale

Contesto: Nel marzo 2024 Chris (esempio composito) ha messo a punto una strategia sui breakout dopo 6 mesi di ottimizzazione. Il backtest sembrava incredibile: aspettativa 1,3R, fattore di profitto 4,9, 67 % di operazioni vincenti, testato su 2 anni di dati SPY (2022-2023). Ad aprile 2024 sono stati messi in campo 50.000 $. A giugno 2024 il conto era in perdita di 8.400 $ (-16,8 %). Ecco l'autopsia completa.

Il backtest «perfetto» (dati 2022-2023)
Risultati del backtest (gen. 2022 - dic. 2023, 2 anni)
Metrica Valore Che cosa pensava Chris
Operazioni totali 156 Campione di buone dimensioni
Percentuale di successo 67.3% (105W / 51L) «Incredibile! Ben sopra la media.»
Vincita media / perdita media +2.4R / -1R «Ottimo R:R, i vincenti valgono 2,4× i perdenti.»
Fattore di profitto 4.9 «Un numero da professionista.»
Aspettativa +1,3R per operazione «Territorio da Sacro Graal.»
drawdown massimo -8.2% «Un drawdown minuscolo. Sicurissimo.»
Rendimento totale (2 anni) +$40,600 (+406%) «È questa. Mi licenzio.»

Il processo di ottimizzazione di Chris:

  • Ha provato 50 periodi di EMA diversi (ha trovato che EMA(34) era «perfetta»)
  • Ha provato 20 moltiplicatori di ATR per gli stop (ha trovato che 1,47× ATR era «ottimale»)
  • Ha provato 15 livelli di obiettivo (ha trovato che 2,8R era «il migliore»)
  • Strategia finale: incrocio di EMA(34) + stop a 1,47× ATR + obiettivo 2,8R
  • Combinazioni provate in tutto: 50 × 20 × 15 = 15.000 varianti

Che cosa Chris non ha messo nel backtest:

  • Lo slippage (esecuzioni perfette ai prezzi esatti date per scontate)
  • Il denaro-lettera (spread pari a zero dato per scontato)
  • Le commissioni (dimenticate)
  • Il rifiuto degli ordini (100 % di esecuzione dato per scontato)
  • Il test out-of-sample (mai provato su dati mai visti)
La realtà in reale (aprile-giugno 2024, 10 settimane)
Risultati in reale (10 settimane, conto da 50.000 $)
Metrica Backtest Realtà in reale Differenza
Percentuale di successo 67.3% 51.4% (19W / 18L) -15,9 punti peggio
Vincita media +2.4R (+$1,200) +1.8R (+$900) -25 % più piccola
Perdita media -1R (-$500) -1.3R (-$650) -30 % più grande
Fattore di profitto 4.9 1.46 -70 % di crollo
Aspettativa +1.3R -0,45R al netto dei costi -1,75R NEGATIVO
drawdown massimo -8.2% -21.4% 2,6× peggio
Rendimento totale (10 settimane) +9.600 $ previsti -$8,400 (-16.8%) 18.000 $ di scarto
La contabilità completa: dove sono finiti i 18.000 $
Anatomia dello scarto di rendimento (37 operazioni, 10 settimane)
Voce di costo Descrizione Impatto
1. Sovradattamento (curva adattata) EMA(34) + 1,47× ATR funzionava alla perfezione sui dati 2022-2023, ma era ottimizzato sul rumore storico. Le condizioni del 2024 = un altro rumore. -$6,200
2. Slippage (non modellato) Slippage medio dello 0,08 % per operazione × 25.000 $ di posizione media × 37 andate e ritorni = 1.480 $ di costi di slippage -$1,480
3. Denaro-lettera Spread dello SPY 0,01 $ × 500 azioni in media × 37 operazioni = 185 $. Opzioni (usate per la leva) spread = 0,03 $ per azione × 100 azioni per contratto × 20 contratti × 37 operazioni = 2.220 $ di costo totale di spread -$2,405
4. Commissioni Opzioni: 0,65 $ per contratto × 20 contratti × 37 operazioni × 2 (andata e ritorno) = 962 $ -$962
5. Rifiuto degli ordini In 8 operazioni gli ordini limite non sono mai stati eseguiti (5 vincenti mancate, 3 perdenti mancate). Costo opportunità netto: 5 vincenti a +1,8R mancate (-9R) meno 3 perdenti a -1,3R evitate (+3,9R) = -5,1R = 2.550 $ -$2,550
6. Bias di anticipazione Il codice del backtest usava close[0] per calcolare l'entrata ed entrava sulla chiusura di quella stessa candela (in reale impossibile). In reale si entra all'apertura della candela successiva. Un'entrata peggiore dello 0,3 % in media = 2.775 $ di degrado -$2,775
7. Ritardi di esecuzione Latenza della piattaforma + tempo di controllo dell'ordine = 2-8 secondi di ritardo. I breakout veloci si spostavano in media dello 0,15 % prima dell'esecuzione = 1.387 $ di slippage dovuto ai ritardi -$1,387
DEGRADO TOTALE RISPETTO AL BACKTEST: -$17,759

I conti:

  • Utile previsto dal backtest (10 settimane): +9.600 $
  • Meno i costi di degrado: -17.759 $
  • Risultato atteso in reale: -8.159 $
  • Risultato effettivo in reale: -8.400 $ — la contabilità arriva a 250 $ da ciò che è davvero successo
Che cosa si sarebbe dovuto fare: la validazione fatta bene
Passo Che cosa ha fatto Chris (sbagliato) Che cosa si dovrebbe fare (giusto)
1. Divisione dei dati Ha usato tutti i dati 2022-2023 per ottimizzare Ottimizzare sul 2022 e tenere da parte il 2023 per il test out-of-sample
2. Ottimizzazione Ha provato 15.000 combinazioni di parametri Usare parametri standard (EMA 20/50, stop a 2× ATR). Limitare le prove a meno di 10 varianti
3. Modellazione dei costi Ha dato per scontati costi pari a zero Modellare 0,10 % di slippage + 0,01 $ di spread + 2 $ di commissione per operazione = almeno -30 $ a operazione
4. Controllo dell'anticipazione Ha usato la chiusura della stessa candela per segnale ed esecuzione Segnale su close[0], esecuzione su open[1] (candela successiva). Tempi realistici.
5. Test out-of-sample Non ha mai provato su dati mai visti Provare sui dati del 2023 (intatti). Se il rendimento peggiora di oltre il 30 %, la strategia è sovradattata
6. Walk-forward Un solo periodo di backtest Finestre di ottimizzazione di 6 mesi, prova sui 3 mesi successivi. Ripetere avanzando. Controllare la coerenza.
Il test out-of-sample che Chris avrebbe dovuto fare

Il metodo corretto:

  1. Periodo in-sample: Ottimizzare solo sui dati del 2022 (non toccare il 2023)
  2. Trovare i parametri: EMA(34) + 1,47× ATR (stesso risultato, ma ottenuto solo con il 2022)
  3. Congelare i parametri: NESSUN ALTRO CAMBIAMENTO. I parametri sono fissati.
  4. Test out-of-sample: Far girare esattamente quei parametri sui dati del 2023
  5. Confrontare i risultati: Se il rendimento del 2023 scende sotto il 70 % di quello del 2022, la strategia è sovradattata

Che cosa sarebbe successo:

Periodo Aspettativa Fattore di profitto Verdetto
2022 (in-sample) +1.4R 3.1 Rendimento ottimizzato
2023 (out-of-sample) +0.4R 1.4 ⚠️ 71 % di degrado
Conclusione: La strategia è gravemente sovradattata. L'aspettativa del 2023 è il 29 % di quella del 2022. Con costi realistici (-30 $ a operazione = -0,15R) l'aspettativa netta resta a +0,25R (appena sopra lo zero). NON METTERE IN PRODUZIONE.

La lezione: il backtest di Chris era una fantasia. Provare 15.000 combinazioni di parametri garantisce che ne troverai una che si incastra alla perfezione con il rumore storico. Quell'aspettativa «perfetta» da 1,3R era spazzatura adattata alla curva. Un test out-of-sample lo avrebbe rivelato prima di perdere 8.400 $. Il backtesting non serve a trovare il miglior rendimento passato, ma a trovare ciò che funzionerà d'ora in avanti. E per questo servono dati mai visti, costi realistici e zero bias di anticipazione.

Parte 1: i quattro modi in cui i backtest mentono

Perché la tua strategia perfetta fallirà in reale

Partiamo dalla verità scomoda: se hai ottimizzato una strategia perché si incastrasse con i dati storici, non hai trovato un vantaggio. Hai trovato rumore.

Adattare la curva al rumore casuale

Che cos'è: Ottimizzare i parametri finché il backtest non sembra perfetto

Esempio:

  • Provi 100 periodi di EMA diversi (10, 11, 12… 110)
  • EMA(47) dà 4,2R di aspettativa nel backtest
  • Credi di aver trovato il «numero magico»

Realtà: EMA(47) si incastrava per puro caso con quel preciso insieme di dati. E nel test in avanti? Aspettativa -0,8R. Hai imparato il rumore, non il segnale.

Meglio: Limita l'ottimizzazione. Usa parametri standard. Prova su dati mai visti.

Usare dati futuri (in reale è impossibile)

Che cos'è: Codice che «sbircia» le candele future per decidere adesso

Esempio:

if close[0] > high[5]:  # usa le 5 candele FUTURE
    enter_long()

Il problema: Nel backtesting hai i dati futuri. In reale no.

Realtà: Questo codice in reale semplicemente non può essere eseguito. Il tuo backtest sta provando una strategia che non esiste.

Meglio: Usa solo i dati disponibili nel momento in cui decidi.

Dare per scontate esecuzioni perfette a prezzi perfetti

Ipotesi del backtest: «Compro esattamente a 100,00 $»

Realtà: L'ordine a mercato viene eseguito a 100,12 $ (spread + slippage)

Impatto su 100 operazioni:

  • Utile del backtest: 5.000 $
  • Costo dello spread (0,10 $ a operazione): -1.000 $
  • Slippage (0,05 $ a operazione): -500 $
  • Commissioni (2 $ a operazione): -200 $

Realtà: Utile vero = 3.300 $ (il 34 % in meno rispetto al backtest)

Provare solo sui sopravvissuti

Che cos'è: Fare backtesting solo sui titoli che compongono oggi l'S&P 500

Il problema: Stai escludendo oltre 200 titoli usciti dal listino o falliti

Esempio:

  • Backtest sull'elenco S&P 500 del 2024: aspettativa 1,8R, fattore di profitto 2,1
  • Ma in quell'arco di tempo saresti stato lungo su Hertz (fallita nel 2020), su SVB Financial (crollata nel 2023) e su ogni altro nome finito a zero.

Realtà: La tua aspettativa lascia fuori le perdite catastrofiche delle uscite dal listino. Aspettativa vera: -0,2R (un sistema in perdita).

💡 il momento della verità

Un backtest non è la realtà. È una simulazione. E se la tua simulazione contiene ipotesi impossibili, anche i tuoi risultati in reale lo saranno.

Parte 2: modellare costi realistici

I costi nascosti che uccidono le strategie

Ecco che cosa la maggior parte dei backtest ignora, ed ecco perché il tuo è probabilmente ottimista del 20-40 %:

Passo 1: modellare il denaro-lettera

Che cos'è: La differenza fra prezzo di acquisto e prezzo di vendita

Esempio:

  • SPY denaro: 450,00 $ / lettera: 450,01 $ → spread = 0,01 $
  • Compri: paghi 450,01 $ (mezzo spread = 0,005 $)
  • Vendi: incassi 450,00 $ (mezzo spread = 0,005 $)

Costo per andata e ritorno: $0.01

Per 1.000 azioni: 0,01 $ × 1.000 = 10 $ a operazione

100 operazioni: 1.000 $ di costi di spread

Passo 2: modellare lo slippage

Che cos'è: Differenza fra il prezzo voluto e l'esecuzione effettiva

Slippage realistico secondo le condizioni:

  • Liquidità normale: 0.01-0.02%
  • Mercati volatili: 0.05-0.10%
  • Liquidità scarsa: 0.10-0.30%
  • Posizione di grandi dimensioni: 0.20-0.50%

Ipotesi prudente: 0,05 % a operazione

Posizione da 10.000 $ × 0,05 % = 5 $ di slippage per lato = 10 $ andata e ritorno

Passo 3: modellare le commissioni

Esempio: Interactive Brokers

  • 0,005 $ per azione, minimo 1 $
  • 200 azioni × 0,005 $ = 1 $ per lato
  • Andata e ritorno = 2 $

100 operazioni: 200 $ di commissioni

Passo 4: costo realistico totale

Per operazione (andata e ritorno):

  • Spread: 10 $
  • Slippage: 10 $
  • Commissione: 2 $

Totale: 22 $ a operazione

Se la tua strategia rende 50 $ lordi a operazione → 28 $ netti (il 44 % in meno!)

Esempio di correzione del backtest

Prima e dopo i costi realistici

Strategia: 100 operazioni, 50 $ di utile medio a operazione


Backtest (fantasia):

100 operazioni × 50 $ = 5.000 $ di utile


Dopo i costi realistici:

  • Lordo: 5.000 $
  • Spread: -1.000 $
  • Slippage: -1.000 $
  • Commissioni: -200 $

Utile netto: 2.800 $ (il 44 % in meno)

Parte 3: in-sample contro out-of-sample

L'unica validazione che conta

Ecco come validano una strategia i professionisti:

Dividi i dati in due periodi.

  1. In-sample (60-70 %): Qui sviluppi e ottimizzi la tua strategia
  2. Out-of-sample (30-40 %): Validazione su dati MAI VISTI

🎯 Esempio: 6 anni di dati (2018-2024)

In-sample: 2018-2022 (ottimizza qui)

  • Prova parametri diversi
  • Trova le regole che rendono di più
  • Affina la logica di entrata e uscita

Out-of-sample: 2023-2024 (valida qui)

  • Fai girare la strategia senza NESSUNA modifica
  • Confronta il rendimento con quello in-sample
  • Se è simile → non è sovradattata!
  • Se è molto peggiore → sovradattata al rumore in-sample

Campanelli d'allarme del sovradattamento

🚩 Segnali che la tua strategia è adattata alla curva

  • Sharpe sopra 3,0: Troppo bello per essere vero
  • Aspettativa sopra 5R: Estremamente raro (verifica le tue ipotesi di esecuzione)
  • Solo 20-30 operazioni: Campione troppo piccolo (statisticamente privo di senso)
  • Curva del capitale perfetta: Una linea liscia senza drawdown (impossibile)
  • Provata su un solo strumento: Probabilmente adattata a quel preciso regime
  • 10 o più parametri ottimizzati: Hai adattato il rumore, non il segnale
Parte 4: analisi walk-forward

Il metodo di validazione professionale

In-sample contro out-of-sample va bene. Walk-forward va meglio.

Come funziona:

📊 Lo schema walk-forward

Periodo 1: Addestra sul 2018-2019 → prova sul 2020

Periodo 2: Addestra sul 2019-2020 → prova sul 2021

Periodo 3: Addestra sul 2020-2021 → prova sul 2022

Periodo 4: Addestra sul 2021-2022 → prova sul 2023


Se è coerente su tutti i periodi: Strategia robusta

Se il rendimento peggiora: Sovradattata o dipendente dal regime

🎓 Punti chiave

  • Modella costi realistici: Spread, slippage, commissioni (20-40 % di utile in meno)
  • Evita il sovradattamento: Limita i parametri, prova su più mercati
  • In-sample contro out-of-sample: Sviluppa sul 60-70 %, valida sul 30-40 %
  • Prova walk-forward: Verifica la coerenza nel tempo
  • Campanelli d'allarme: Sharpe sopra 3,0, aspettativa sopra 5R, meno di 30 operazioni
  • Prova in avanti prima del reale: Almeno 3-6 mesi su carta
Esercizio pratico

🎯 Esercizio di validazione del backtest

Esercizio: valida la tua strategia con il rilevatore di campanelli d'allarme

Prendi la tua strategia attuale (o una che stai valutando) e passala per la validazione:

  1. Fai il backtest sul 60 % dei tuoi dati (in-sample). Annota: operazioni, aspettativa, Sharpe, DD massimo
  2. Individua i parametri usati (EMA, soglie ecc.). Li hai ottimizzati provando più valori?
  3. Prova sul restante 40 % dei dati (out-of-sample). Confronta con l'in-sample.
  4. Usa la scheda di validazione del modello (8 categorie, 60 punti al massimo)
  5. Calcola il punteggio: 50-60 = si procede, 40-49 = da rivedere, sotto 40 = da buttare
  6. Se il punteggio arriva a 50: fai da 30 a 60 operazioni su carta prima di passare al reale

Obiettivo: Individua l'adattamento alla curva, il bias di anticipazione e le ipotesi irrealistiche PRIMA che ti distruggano il conto reale. Meglio buttare una strategia scadente nel backtesting che perdere soldi veri.

Verifica quello che hai capito

🎮 Verifica veloce

D: Fai il backtest di una strategia: aspettativa 5,2R, indice di Sharpe 4,2, provata su 25 operazioni, con EMA(47) perché è quella che ha dato il risultato migliore dopo aver provato 100 periodi diversi. Che cosa non va?

A) Niente, ottima strategia!
B) Tutto: campione troppo piccolo, Sharpe e aspettativa troppo alti, EMA(47) è adattata alla curva
C) Solo l'aspettativa, troppo alta
D) Solo il campione, troppo piccolo
Esatto! Tre campanelli d'allarme seri: (1) solo 25 operazioni = statisticamente insignificante, (2) Sharpe 4,2 = sospettosamente alto (probabilmente sovradattata), (3) EMA(47) trovata provando 100 periodi = adattata al rumore. Questa strategia fallirà in reale. Servono: oltre 100 operazioni, uno Sharpe realistico (1,5-2,5), parametri standard.

Fai il backtest di una strategia di ritorno alla media sullo SPY dal 2010 al 2024. Risultati: aspettativa 2,8R, 68 % di operazioni vincenti, 120.000 $ di utile. I dati contengono solo i titoli che compongono oggi l'S&P 500 (quelli presenti nell'indice adesso). Passi al reale nel 2025 e fallisce. Che cosa è andato storto?

A) Niente: le condizioni di mercato del 2025 sono cambiate, era imprevedibile
B) Bias del sopravvissuto: il backtest ha escluso il 30-40 % dei titoli usciti dal listino o falliti fra il 2010 e il 2024
C) Campione troppo piccolo: servono più di 14 anni di dati
D) Aspettativa troppo alta: 2,8R è irrealistico per un ritorno alla media
Esatto! La classica trappola del bias del sopravvissuto. Provare sui «titoli che compongono oggi l'S&P 500» significa che hai provato solo sui VINCENTI: titoli sopravvissuti 14 anni e arrivati nell'indice di oggi. Hai lasciato fuori aziende fallite, titoli usciti dal listino e modelli di business naufragati (il 30-40 % del totale). Sono proprio quei titoli morti che avrebbero fatto scattare le tue entrate di ritorno alla media senza mai riprendersi. È esattamente questo che trasforma l'aspettativa di 1,8R dell'esempio qui sopra in un -0,2R vero. Soluzione: usa dati point-in-time che contengano TUTTI i titoli esistenti a ciascuna data, compresi quelli usciti dal listino in seguito. Il bias del sopravvissuto gonfia i risultati del backtest del 20-50 %.

Fai una prova walk-forward della tua strategia: addestri sul 2018-2020 e provi sul 2021 (passa). Addestri sul 2018-2021 e provi sul 2022 (passa). Addestri sul 2018-2022 e provi sul 2023 (passa). Non hai modellato né lo slippage né le commissioni. Dovresti operare questa strategia in reale?

A) Sì: ha passato tutte le prove walk-forward, è una strategia robusta
B) No: prima vanno aggiunti costi realistici (0,2-0,4 % di slippage più commissioni) e va riprovata. Se resta redditizia, allora sì.
C) Sì: la validazione walk-forward basta, i costi contano poco
D) No: per validarla servono almeno 10 periodi walk-forward
Esatto! Le prove walk-forward dimostrano la robustezza (cioè che non è adattata a un unico periodo), ma DEVI modellare costi realistici prima di operare in reale. Lo slippage (0,1-0,2 % per lato = 0,2-0,4 % andata e ritorno) più le commissioni (2-5 $ a operazione) possono ridurre l'aspettativa del 30-60 %. Una strategia con aspettativa 2,5R senza costi può scendere a 1,2R con i costi: ancora redditizia, ma per poco. Il caso di Chris qui sopra è esattamente questo fallimento: un backtest da 1,3R uscito a -0,45R in reale non appena i costi sono diventati veri. Aggiungi i costi PER ULTIMI (dopo il walk-forward); se l'aspettativa resta sopra 1,5R e le vincenti sopra il 45 %, portala in reale. Non saltare mai la modellazione dei costi: è la differenza fra l'utile e il dolore.

Nel backtesting la perfezione è sospetta. Il realismo è il vantaggio. Modella i costi, evita il sovradattamento, prova in avanti — oppure fallisci in reale.

Lezioni correlate

Intermedio #34

Padroneggiare il diario di trading

Segui il rendimento in reale e confrontalo con i risultati del backtest.

Leggi la lezione →
Principiante #9

Dimensionamento della posizione

Applica un dimensionamento corretto nei backtest, per risultati realistici.

Leggi la lezione →
Intermedio #30

Riconoscimento del regime

Prova la tua strategia su tutti i regimi per verificarne la robustezza.

Leggi la lezione →

⏭️ Prossimamente

Lezione #33: gestione avanzata del rischio — gli schemi professionali — Impara il criterio di Kelly, il dimensionamento dinamico e i protocolli per il drawdown.

Solo a scopo educativo. Il trading comporta un rischio sostanziale di perdita. I risultati passati non garantiscono risultati futuri.

💬 Discussione (0 commenti)

0/1000

Caricamento dei commenti…

← Lezione precedente Lezione successiva →

Pronto a operare con Signal Pilot?

Metti in pratica la tua formazione con indicatori professionali e strumenti di analisi di mercato in tempo reale.

Torna a Signal Pilot →
Solo a scopo educativo. Il trading comporta un rischio sostanziale di perdita. Non è una consulenza finanziaria. I risultati passati non garantiscono risultati futuri.