
Il Monte Carlo backtesting parte dal risultato di un backtest ordinario e pone una domanda più difficile: come si sarebbe comportata questa strategia lungo molte storie plausibili, e non solo quella singola che è effettivamente accaduta? Si rimescolano i trade, si ricampionano i rendimenti o si perturbano i dati di prezzo migliaia di volte. Poi si legge la dispersione dei risultati invece di un'unica equity curve. Se la strategia funziona solo sull'esatta sequenza che hai testato, la simulazione lo mette in evidenza.
Questa guida copre i principali metodi, come eseguirli passo dopo passo, come interpretare l'output e dove la tecnica fallisce. Affronta anche il problema della qualità dei dati che sta alla base di tutto questo.
TL;DR
- Un backtest normale ti dà un solo percorso. Il Monte Carlo ti dà una distribuzione di percorsi, così puoi vedere drawdown, rendimento e rischio di rovina come intervalli.
- I due metodi più comuni sono il rimescolamento dell'ordine dei trade (bootstrapping della tua lista di trade) e la simulazione basata su candele su dati di prezzo modificati o sintetici.
- La simulazione non può riparare input scadenti. Se la lista dei trade proviene da dati minute con gap o non puliti, stai solo misurando il rumore con maggiore precisione.
- Non dare mai per scontati rendimenti normali senza verificarli. I mercati reali hanno code grasse e skew negativo, e un modello normale sottostima il danno.
- Leggi i percentili, non le medie: il drawdown al 95° percentile conta più della mediana.
Indice
- Cosa fa realmente il Monte Carlo backtesting
- I principali metodi
- Come eseguire un test Monte Carlo, passo dopo passo
- Come leggere i risultati
- Dove il Monte Carlo sbaglia
- Il Monte Carlo non sostituisce il walk-forward testing
- Il nostro punto di vista: i dati vengono prima della simulazione
- Ottenere dati minute puliti per il test
- Un workflow pratico da replicare
- FAQ
- Fonti
Cosa fa realmente il Monte Carlo backtesting
Un backtest standard riproduce un'unica sequenza specifica di prezzi e trade del passato. L'analisi Monte Carlo, come la descrive la lettura di backtesting e simulazione del CFA Institute, simula un gran numero di esiti potenziali così da poter approssimare la distribuzione completa dei risultati, inclusa la probabilità di diversi livelli di performance. Lo fa variando i parametri, rimescolando l'ordine dei trade o generando dati sintetici.
Questo cambio di prospettiva è importante perché una singola equity curve nasconde la fortuna. Due strategie possono registrare lo stesso profitto netto, ma una ci è arrivata attraverso una sequenza fluida di vincite e l'altra sopravvivendo a una serie di perdite capitate per caso all'inizio. Nel trading live non puoi scegliere l'ordine. Il Monte Carlo ti mostra gli ordini che avresti potuto ottenere.
Alcuni ricercatori quantitativi vanno oltre e trattano come default l'atteggiamento di diffidenza verso qualsiasi backtest. In questa impostazione, trattata nel capitolo sulla simulazione di strategia di ML for Trading, il Monte Carlo è uno strumento di falsificazione. Il suo compito è cercare di rompere la strategia, non confermare che sembri buona. È un atteggiamento utile da portare in ogni run.
I principali metodi
Rimescolamento dell'ordine dei trade (bootstrapping)
È l'approccio più semplice e comune. Prendi la lista dei trade chiusi dal tuo backtest e ne estrai campioni a caso, con reinserimento, per costruire molte equity curve alternative. La documentazione di AmiBroker definisce il bootstrapping il modo più diretto e affidabile per eseguire il calcolo. Poiché utilizza risultati di trade reali, espone il rischio nascosto nella sequenza dei trade senza modellare fattori di mercato esterni.
Il problema sta nell'assunzione. Si considera la distribuzione storica dei risultati dei trade come rappresentativa del futuro. Se il tuo campione proviene da un unico regime di volatilità, le curve rimescolate ereditano quel bias. Il rimescolamento distrugge anche qualsiasi dipendenza seriale tra i trade, come le serie che si raggruppano nei mercati in trend o in laterale.
Simulazione basata su candele
In questo caso non si riordinano i trade. Si riesegue la strategia su dati di mercato modificati o sintetici che mantengono gli schemi strutturali del mercato. La documentazione di Jesse sull'analisi Monte Carlo elenca entrambi gli approcci: rimescolamento dell'ordine dei trade e simulazione basata su candele. Testano parti diverse di una strategia. Il rimescolamento testa la sensibilità alla sequenza. La simulazione basata su candele testa se la logica regge quando il percorso dei prezzi stesso cambia.

Le simulazioni basate su candele sono più pesanti, perché la strategia deve essere eseguita di nuovo per ogni serie simulata. Espongono anche meglio le regole di entrata overfittate. Un sistema calibrato esattamente sulle oscillazioni di un anno di dati tende a sgretolarsi quando quelle oscillazioni vengono perturbate.
Variazione dei parametri
Un terzo approccio modifica casualmente input come la lunghezza dei lookback, le distanze degli stop o le ipotesi sullo spread entro un intervallo plausibile. Se la performance crolla quando una media mobile passa da 50 a 55, hai trovato un ottimo fragile. Questo si abbina naturalmente ai controlli sull'overfitting della nostra guida su come gestire l'overfitting nei sistemi di trading.
| Metodo | Cosa varia | A cosa risponde | Debolezza principale |
|---|---|---|---|
| Rimescolamento dell'ordine dei trade | Sequenza dei trade | Quanto può peggiorare il drawdown per sfortuna nell'ordinamento? | Assume che la distribuzione storica dei trade sia rappresentativa |
| Simulazione basata su candele | Serie di prezzi | La logica sopravvive a un percorso diverso? | I dati sintetici potrebbero non cogliere la vera struttura del mercato |
| Variazione dei parametri | Input della strategia | L'ottimo è robusto o è un picco isolato? | Richiede un intervallo di campionamento sensato |
Come eseguire un test Monte Carlo, passo dopo passo
- Parti da un backtest pulito e completo. Usa il campione più lungo di cui ti fidi, con ipotesi realistiche di spread, commissioni e slippage. Il nostro articolo sui costi di transazione nel backtesting spiega come testare diversi regimi di costo.
- Esporta la lista dei trade. Ti serve il profitto o la perdita per trade, idealmente in R-multiple o in percentuale dell'equity, così il position sizing è confrontabile.
- Scegli il metodo. Per un primo passaggio, fai il bootstrap dei trade. Aggiungi la simulazione basata su candele o la variazione dei parametri una volta che il risultato di base sembra solido.
- Imposta il numero di run. I professionisti spesso eseguono migliaia di simulazioni, ad esempio 10.000, così la distribuzione dei risultati converge, secondo la lettura del CFA Institute. Esegui qualche migliaio di run, poi riesegui con un seed diverso. Se i percentili si spostano molto, servono più run.
- Registra gli output per ogni run. Equity finale, drawdown massimo, serie di perdite più lunga, e se il conto ha raggiunto la tua soglia di rovina.
- Leggi la distribuzione. Guarda il 5°, il 50° e il 95° percentile, non la media.
- Decidi in anticipo cosa costituisce un fallimento. Ad esempio: scarta la strategia se il drawdown al 95° percentile supera ciò che puoi tollerare, o se più di una certa quota di run termina sotto il saldo iniziale.
Come leggere i risultati
Il senso dell'esercizio è sostituire un numero con un intervallo. Supponiamo che il tuo backtest mostri un drawdown massimo del 14%. La simulazione potrebbe mostrare un drawdown peggiore mediano del 17% e un 95° percentile del 29%. Il 14% era un'estrazione da quell'intervallo, probabilmente favorevole. (Queste cifre sono un'illustrazione, non il risultato di una strategia reale.)
Letture utili:
- Percentili del drawdown. Dimensiona le posizioni rispetto alla coda sfavorevole, non alla mediana.
- Probabilità di rovina. La quota di percorsi simulati che infrange un limite di perdita che definisci tu, come uno stop di conto o una regola di drawdown di una prop firm.
- Dispersione dei rendimenti. Se una parte consistente della distribuzione finisce piatta o negativa, il vantaggio potrebbe essere debole.
- Lunghezza della serie di perdite. Ti indica cosa devi essere in grado di sopportare, psicologicamente e finanziariamente.
Se una strategia sembra andar bene alla mediana ma inaccettabile al 95° percentile, la risposta di solito è ridurre la dimensione, non abbandonarla. Se è la mediana stessa a essere debole, il backtest era probabilmente favorito dalla fortuna o dall'overfitting.
Dove il Monte Carlo sbaglia
La trappola della distribuzione normale
Quando simuli i rendimenti invece di ricampionare i trade, la distribuzione che scegli è la decisione più critica. Molti ricercatori adottano di default una normale multivariata perché è semplice. Il materiale del CFA Institute avverte che questo è spesso inadeguato, perché non riesce a catturare le code grasse e lo skew negativo che i rendimenti reali degli asset mostrano. Un modello normale ti dirà che una giornata a cinque sigma è praticamente impossibile. I mercati la pensano diversamente, con regolarità.
Generazione debole di numeri casuali
La simulazione dipende dai generatori di numeri casuali. Il documento del CFA Institute sulla validazione dei modelli segnala che il generatore deve essere robusto e correttamente inizializzato (seeded), perché una scarsa qualità pseudo-casuale può introdurre un bias non evidente. In pratica, usa un generatore di una libreria ben testata, registra il tuo seed e non scriverne uno tuo.
Garbage in, spazzatura misurata con precisione out
Il Monte Carlo ricampiona ciò che gli fornisci. Se il backtest sottostante è stato eseguito su barre con minuti mancanti, tick errati, rollover non adeguati o sessioni duplicate, la lista dei trade è già sbagliata. Rimescolarla mille volte costruisce solo una distribuzione dall'aspetto affidabile intorno a un centro viziato. Uno stop scattato su un picco fantasma verrà trattato come una perdita reale, e un movimento mancato non comparirà mai nel campione.

Non risolve il lookahead bias o il survivorship bias
La simulazione testa la sensibilità alla fortuna. Non rileva una strategia che sbircia dati futuri. Esegui prima i controlli sui bias, poi simula.
Il Monte Carlo non sostituisce il walk-forward testing
I due approcci rispondono a domande diverse. L'analisi walk-forward verifica se i parametri scelti su una finestra funzionano ancora sulla finestra successiva, mai vista. Il Monte Carlo testa quanto del risultato dipende dall'ordine e dal percorso degli eventi. Un processo solido usa entrambi: ottimizza e valida in walk-forward, poi simula la lista di trade validata per dimensionare il rischio. Trattiamo la prima metà nella nostra guida all'analisi walk-forward.
Per una classe di asset diversa, la stessa logica si applica ai derivati. Il principio secondo cui un backtest può sembrare solido a causa di un singolo percorso storico favorevole emerge anche nel lavoro sulle opzioni, come discusso in questa guida pratica al backtesting delle strategie su opzioni.
Il nostro punto di vista: i dati vengono prima della simulazione
Gran parte dei contenuti sul Monte Carlo che troverai si concentra sul simulatore. Noi vendiamo dati, quindi lo affrontiamo dall'altro lato. Gli ingegneri del nostro team raccolgono e verificano la storia dei dati minute, e le domande che arrivano a loro riguardano raramente la simulazione. Riguardano piuttosto il perché un backtest non si riproduce, perché la qualità del modeling è limitata, o perché compare un gap in un determinato anno.
Il nostro punto di vista è questo:
- Verifica i dati prima di ricampionare qualsiasi cosa. Un controllo barra per barra alla ricerca di gap, outlier ed errori di sessione richiede un pomeriggio. Il nostro audit dei dati in 7 passaggi per MT4 e MT5 è la checklist che useremmo.
- Documenta le rettifiche. Per i future, il back-adjustment cambia i livelli di prezzo. Se non sai come è stato fatto, non puoi giudicare se la distanza di uno stop nel test fosse realistica.
- Usa gli stessi dati per ogni run. Se confronti varianti di strategia su feed diversi, la differenza che osservi potrebbe essere il feed. Mantieni un dataset coerente così l'unica cosa che varia è il seed del Monte Carlo.
- Tratta la simulazione come una fase di falsificazione. Se una strategia sopravvive a dati puliti, costi realistici e una simulazione ostile, hai guadagnato un po' di fiducia. Se sopravvive solo a una di queste condizioni, non l'hai guadagnata.
- Testa il portafoglio, non solo ogni singolo sistema. I drawdown correlati sono dove i conti si rompono, ed è un tema trattato nel nostro approfondimento sul portfolio backtesting su MT4.
— Inizio
Ottenere dati minute puliti per il test
Se usi MT4 o MT5, la lista dei trade che alimenta la tua simulazione vale quanto la storia che c'è dietro. Pubblichiamo set di dati minute completi e puliti dal 2014 su forex, metalli, indici azionari, obbligazioni e materie prime, come download una tantum che si importa direttamente in MT4 e MT5. Puoi sfogliare la libreria di dati storici oppure iniziare con il Forex Major Full Pack se le tue strategie operano sulle principali coppie. Preferisci un accesso continuativo? Il piano annuale costa 119 EUR all'anno.
Un workflow pratico da replicare
Ecco una sequenza compatta che combina gli elementi visti sopra:
- Verifica i dati minute per i simboli e gli anni che testerai. Correggi o escludi i gap. Vedi l'audit annuale dei gap per MQL4.
- Esegui il backtest con ipotesi prudenti su spread e slippage.
- Controlla l'overfitting e valida in walk-forward.
- Esporta i trade e fai il bootstrap con almeno qualche migliaio di run.
- Aggiungi una simulazione basata su candele o sulla variazione dei parametri per testare la logica, non solo la sequenza.
- Stabilisci una regola in anticipo, ad esempio un drawdown massimo accettabile al 95° percentile, e dimensiona le posizioni in modo che la strategia la superi.
- Riesegui quando cambi dati, costi o regole. Una simulazione superata è fuorviante quanto un backtest superato.
Se stai testando su più di un simbolo, tieni presente che i costi del motore e le correlazioni cambiano i risultati. Il nostro articolo sul multi symbol backtesting è un buon complemento per questo passaggio.
FAQ
Cosa dice una simulazione Monte Carlo su una strategia di trading?
Ti dice quanto è ampio l'intervallo di esiti plausibili, invece di darti un unico risultato storico. Vedi quanto potrebbero approfondirsi i drawdown, quanto potrebbero durare le serie di perdite, e quanto spesso il conto raggiungerebbe un limite di perdita. Non predice il futuro. Mostra quanto del tuo backtest dipendeva dalla fortuna.
Quante simulazioni mi servono?
Non c'è un numero fisso, ma i professionisti usano comunemente migliaia di run, come 10.000, così la distribuzione dei risultati si stabilizza. Un test pratico è eseguire due volte con seed diversi. Se i percentili chiave si muovono poco, hai abbastanza run. Se si spostano in modo evidente, aggiungine altri.
Posso fare una simulazione Monte Carlo in Excel?
Sì, per il bootstrapping dell'ordine dei trade. Incolla i risultati dei trade in una colonna, campiona da essi casualmente con reinserimento per costruire molte equity curve, e registra il drawdown massimo per ciascuna. Diventa lento con un numero elevato di run, quindi molti trader passano a Python, R o alle funzionalità integrate del proprio software di trading per i lavori più pesanti.
Il Monte Carlo testing è sufficiente per validare una strategia?
No. Misura la sensibilità alla fortuna e alla sequenza, non la qualità degli input o i bias nascosti. Servono comunque dati storici puliti, costi realistici, controlli su lookahead e overfitting, e test out-of-sample come l'analisi walk-forward.
Fonti
- Backtesting & Simulation, CFA Institute
- Investment model validation brief, CFA Institute Research and Policy Center
- Monte Carlo simulation, AmiBroker documentation
- Monte Carlo Analysis, Jesse documentation
- Strategy Simulation, ML for Trading
Consigliati
- MT4 Portfolio Backtesting: Export Replay to Find Real Drawdowns
- Stop Fake Alpha: 5 Checks Quants Need for Hedging Backtesting Data
- Spread Modeling for Backtests: 3 Estimators to Stress Test ML Edge
- Fix Broken Backtests: Automated Strategy Tools with S&P 500 1mo Data
Risorse correlate
Esplora i pacchetti di dati storici di BacktestMarket per mettere in pratica le idee di questo articolo.

