Test di robustezza per strategie di trading
Hai costruito una strategia che nel backtest sembrava buona, e ora guardi una lista di nomi come Monte Carlo, System Parameter Permutations, walk-forward matrix e "Retest on additional markets". Quali ti servono, e in che ordine? Alla fine di questo testo saprai cosa rappresenta ciascuno di questi controlli e come si collegano tra loro in un esempio documentato.
Perché la lista dei cross-check scoraggia all'inizio
La maggior parte dei trader incontra per la prima volta i test di robustezza quando una strategia mostra già buoni numeri nel backtest e il software propone di verificarla ulteriormente. A quel punto compare una lunga serie di nomi, senza che sia subito chiaro cosa faccia ciascuno. Non è un caso: questi controlli non sono un singolo passaggio, ma una cassetta degli attrezzi con strumenti diversi per domande diverse.
Cosa verificano i test di robustezza e contro cosa dovrebbero aiutare
I test di robustezza, chiamati anche cross-check, sono descritti come parte integrante di StrategyQuant. Il loro scopo: verificare automaticamente come si comporta una strategia sotto pressione, per esempio quando alcuni trade vengono saltati o i valori dei parametri vengono leggermente modificati. L'idea di fondo è semplice: una strategia il cui risultato crolla già con piccole variazioni era forse troppo adattata ai dati disponibili.
Un punto importante: superare questi test non dimostra che una strategia non sia overfittata, e un risultato robusto in queste condizioni simulate non è una garanzia di profitti futuri. I test mostrano un comportamento sotto determinati disturbi, niente di più.
Le quattro verifiche integrate in sintesi
La documentazione del produttore descrive i test di robustezza integrati come un gruppo di quattro verifiche: simulazioni Monte Carlo, System Parameter Permutations, un controllo dell'Optimization Profile e una walk-forward matrix. Secondo la documentazione, queste quattro possono essere attivate o disattivate insieme come gruppo, per contrastare l'overfitting. Il nome esatto e la disposizione nella tua versione possono differire leggermente da questa sintesi, ma il principio di un gruppo unito resta lo stesso.

Attivare insieme queste quattro verifiche non sostituisce un'analisi personale dei risultati. Il gruppo aiuta a scartare presto le strategie evidentemente fragili, ma non ti toglie il compito di guardare da solo i candidati sopravvissuti.
Come funziona il Robustness Tests Tool con Monte Carlo
Dietro il test Monte Carlo c'è un meccanismo semplice: il Robustness Tests Tool ripete il test di una strategia con parametri di ingresso modificati casualmente e dati modificati casualmente. Da queste numerose ripetizioni nasce una simulazione Monte Carlo, il cui risultato viene mostrato insieme a livelli di confidenza.
Un livello di confidenza non è una promessa. Dice qualcosa sulla dispersione delle esecuzioni simulate, non su quello che accadrà davvero in live. E una singola esecuzione Monte Carlo non basta comunque come prova di robustezza, perché l'idea della ripetizione è pensata proprio per questo.
La documentazione più vecchia, valida fino alla versione 3.6.1, descriveva lo stesso principio di base con un numero fisso di test impostato dall'utente: la strategia veniva verificata su come reagiva a piccole modifiche negli input, nei dati storici o in altri elementi. Il principio di base, introdurre piccole variazioni e osservare la reazione, non è quindi nuovo, anche se le versioni attuali possono nominarlo o strutturarlo in modo diverso.
Un esempio semplice: retest su mercati aggiuntivi
Una delle verifiche più intuitive è il retest su mercati aggiuntivi. Qui la stessa strategia viene testata di nuovo su altri mercati, cioè su altri simboli o altri time frame rispetto a quelli su cui era stata originariamente costruita e testata.

È un buon punto di partenza, perché il principio è facile da seguire: una strategia la cui logica è calibrata solo sull'andamento esatto dei prezzi di un unico simbolo spesso va peggio su un simbolo diverso. Superare questa verifica, però, non dimostra che la strategia funzioni su qualsiasi mercato o time frame. Mostra solo come si è comportata sui mercati aggiuntivi effettivamente testati.
Un esempio di imbuto: come i cross-check si collegano tra loro
La lista dei controlli sembra lunga se la guardi nel suo insieme. Nella documentazione si trova un esempio di come i singoli cross-check possano susseguirsi in un ordine preciso, così che non ogni strategia debba passare ogni verifica in piena profondità.
In questo esempio, una strategia appena generata viene testata prima con la precisione più veloce disponibile. Se fallisce i filtri globali, viene scartata automaticamente, senza che vengano eseguiti controlli ulteriori e più impegnativi. Solo le strategie che superano questo primo passaggio vengono inoltrate a verifiche più precise, come un retest con precisione maggiore e un test Monte Carlo che modifica singoli trade.

È importante il contesto di questo esempio: è una configurazione possibile, non un percorso obbligato che ogni progetto deve seguire esattamente così. E anche chi supera tutto questo imbuto non ha ancora dimostrato che la strategia funzionerà allo stesso modo in live.
Il vecchio percorso in cinque passaggi come riferimento storico
La documentazione più vecchia, anch'essa valida fino alla versione 3.6.1, descriveva un percorso in cinque passaggi per verificare la robustezza di una strategia: prima esaminare il periodo out-of-sample, poi testare su simboli e time frame aggiuntivi, quindi eseguire test di robustezza basati su Monte Carlo e infine esaminare le curve di equity risultanti e una tabella dei livelli di confidenza in una vista dedicata all'analisi di robustezza.
Questo percorso resta utile come riferimento, perché mostra che l'idea di base, applicare in sequenza più controlli indipendenti, fa parte dello strumento già da tempo. Come guida esatta per una versione attuale non è adatto: i nomi dei tab e i singoli passaggi possono apparire diversi nelle versioni più recenti.
Cosa possono mostrare questi test, e cosa no
Ognuna delle verifiche descritte qui si basa sulla stessa idea di fondo: far girare una strategia sotto variazioni simulate di parametri passati, trade passati o dati passati, e osservare cosa succede. È un filtro utile per individuare strategie il cui buon risultato nel backtest era legato solo a condizioni molto specifiche.
Quello che questi test non offrono è una prova per il futuro. Un retest superato su mercati aggiuntivi, un buon livello di confidenza ottenuto da una simulazione Monte Carlo o la sopravvivenza a un intero imbuto di verifiche dicono qualcosa sul comportamento in quelle condizioni concrete e passate. Non dicono nulla su come si comporterà la stessa strategia in condizioni di mercato future, non ancora osservate.
Questo articolo ha scopo formativo e non è una consulenza sugli investimenti. I risultati passati, compresi quelli dei backtest, non garantiscono risultati futuri. Fare trading su strumenti finanziari comporta rischi e puoi perdere denaro.
Questo articolo ha scopo educativo e non è una consulenza finanziaria. I risultati passati non garantiscono risultati futuri.
Tu come fai? Raccontalo nella community. Gratis, nella tua lingua.
Iscriviti gratis