Come il Vortex può essere sottoposto a backtest in modo responsabile
Cosa significa “backtesting responsabile” per il Vortex
Il backtesting responsabile è un metodo strutturato per verificare se un approccio basato sul Vortex produce risultati coerenti utilizzando dati di mercato storici—senza considerare i risultati passati come prova di risultati futuri. L’obiettivo non è prevedere, ma produrre un test trasparente e ripetibile che altri possano esaminare.
Una definizione pratica: si costruisce un backtest che (1) definisce il calcolo del Vortex e i suoi input, (2) applica ipotesi chiaramente dichiarate, (3) include costi e vincoli di esecuzione, (4) riduce le forme comuni di bias e (5) verifica le performance utilizzando periodi fuori campione.
Come funziona il Vortex in un test (meccanica e ipotesi)
Prima di analizzare le implicazioni, definire la meccanica da testare. Per un approccio basato sul Vortex, ciò significa solitamente decidere quali serie di prezzo alimentano il calcolo (ad esempio, specifici campi OHLC) e quale timeframe e regole di barra si utilizzano. È inoltre necessaria una regola per trasformare l’output dell’indicatore in una decisione nel test.
Per mantenere il test verificabile, documentare esplicitamente le ipotesi:
- Dati: quale universo di strumenti, timeframe e intervallo di date sono inclusi.
- Tempistica del calcolo: se i valori sono calcolati alla chiusura della barra, intrabar o con un ritardo specifico.
- Mappatura delle decisioni: se il metodo utilizza soglie, ranking o un’altra regola per trasformare i valori dell’indicatore in un’azione.
- Modello di esecuzione: come si entra ed esce rispetto al timestamp del segnale calcolato.
Esempio di ipotesi rilevante: se si assume un’esecuzione “all’apertura della barra successiva” ma il calcolo utilizza la “chiusura della barra corrente”, tale differenza temporale deve essere riflessa in modo coerente. Se non si riesce a giustificare il timing, ci si deve aspettare risultati fuorvianti.
Costi, caratteristiche e ipotesi di esecuzione (evitare risultati gonfiati)
I backtest spesso appaiono migliori della realtà perché ignorano i costi e semplificano l’esecuzione. Anche quando il metodo è puramente basato su indicatori, il test richiede comunque un modello di costi e di esecuzione.
Componenti di costo comuni da includere come ipotesi (anche se stimati):
- Spread o costo di transazione per operazione.
- Slippage: movimento aggiuntivo del prezzo tra il fill teorico e quello ipotizzato.
- Commissioni o tariffe, se applicabili.
Vincoli di esecuzione da modellare concettualmente:
- Liquidità limitata: posizioni più grandi possono peggiorare i fill.
- Incertezza sul fill: se si assume che i fill siano sempre possibili al prezzo scelto.
- Effetti della frequenza di trading: cambi frequenti amplificano i costi.
Se si varia solo la logica dell’indicatore mantenendo i costi a zero, si rischia di sovrastimare le performance.
Controlli del bias (come prevenire l’overfitting)
Molti test di indicatori “riusciti” falliscono perché il design del test adatta accidentalmente il metodo al passato. Utilizzare controlli del bias per mantenere il test onesto.
Principali verifiche:
- Bias di anticipazione (look-ahead): assicurarsi che il test non utilizzi mai informazioni future per calcolare decisioni correnti.
- Bias di sopravvivenza (survivorship): assicurarsi che gli strumenti nel campione storico riflettano ciò che era effettivamente negoziabile all’epoca.
- Data-snooping: evitare di provare molte varianti e selezionare quella con i migliori risultati senza un passaggio di validazione rigoroso.
- Overfitting dei parametri: se si ottimizzano i parametri (ad esempio, soglie o lunghezze di finestra), è necessario validarli su dati separati.
Una pratica responsabile consiste nel predefinire cosa si misurerà (ad esempio, rendimenti, drawdown, numero di operazioni) e come si confronteranno le varianti, piuttosto che modificare le regole dopo aver visto i risultati.
Validazione fuori campione e verifiche di stabilità
Per testare se i risultati sono generalizzabili, suddividere la cronologia temporale. Una struttura comune è:
- Finestra di addestramento o sviluppo: utilizzata per finalizzare ipotesi e scelte di parametri.
- Finestra di validazione: utilizzata per valutare i design candidati.
- Finestra di test: utilizzata una sola volta, alla fine, per un controllo finale.
Si dovrebbe inoltre valutare la stabilità attraverso diverse condizioni di mercato. Invece di concentrarsi su un singolo periodo con risultati forti, esaminare se le performance peggiorano in modo simile in più regimi.
Evitare di considerare piccole differenze come significative. Se il test è sensibile a piccoli cambiamenti nelle ipotesi, il metodo potrebbe essere troppo fragile per essere affidabile.
Limitazioni materiali e modalità di fallimento
I backtest storici non possono garantire risultati futuri. Specifiche modalità di fallimento da monitorare includono:
- Cambiamento di regime: variazioni nella volatilità, nel comportamento dello spread o nella struttura di mercato possono rompere le relazioni.
- Mismatch nell’esecuzione: i fill reali possono differire dal modello di fill del backtest.
- Fragilità del modello: piccoli cambiamenti nel timing, nei costi o nei parametri producono forti oscillazioni nei risultati.
- Overfitting mascherato da performance: risultati di validazione e test che non erano veramente indipendenti.
Un riassunto responsabile riconosce l’incertezza. Se il test migliora solo assumendo costi irrealisticamente bassi o fill perfetti, ciò indica una debolezza del metodo.