Come si può fare backtest responsabilmente dell’Ulcer Index?
Definisci l’Ulcer Index prima di testarlo
L’Ulcer Index è una statistica basata sul drawdown. Concettualmente, riassume quanto lontano e per quanto tempo una serie di prezzi rimane al di sotto del suo massimo recente. Per il backtesting, il punto chiave non è l’etichetta, ma la definizione esatta che implementi: a quale “massimo” fai riferimento, con quale frequenza campioni i dati, la finestra o il periodo utilizzato e come la serie di drawdown viene convertita nel numero finale.
Un approccio responsabile inizia col trascrivere il calcolo che intendi riprodurre. Se non riesci a descrivere con precisione l’intera procedura, non puoi testarla in modo affidabile. Tratta l’indicatore come uno strumento di misurazione che produce un valore a partire da input, non come un segnale di trading autonomo.
Separa meccaniche stabili da condizioni variabili
L’accuratezza del backtesting spesso fallisce quando si mescolano le meccaniche dell’indicatore con condizioni di mercato ed esecuzione in continuo cambiamento.
Mantieni distinti questi aspetti:
- Input dell’indicatore: la serie di prezzi usata per calcolare i drawdown, la frequenza di ricampionamento e la finestra dell’Ulcer Index.
- Ambiente del backtest: assunzioni su quando i valori sono “noti” (tempistiche), su come vengono eseguiti gli ordini e quali frizioni si applicano.
- Regola decisionale (se presente): come trasformi gli output dell’indicatore in una metrica di valutazione.
Anche se non stai creando una regola operativa, devi comunque definire un obiettivo. Ad esempio, potresti valutare se i periodi con un Ulcer Index più alto coincidono con drawdown maggiori nella serie sottostante. Questa è una verifica di relazione, non una previsione.
Dichiara le assunzioni sui dati e sui costi
Un backtesting responsabile documenta le assunzioni. Le categorie comuni di assunzioni includono:
1) Portata e continuità dei dati
- Utilizza una singola serie storica coerente.
- Definisci cosa succede in corrispondenza di dati mancanti o cambiamenti aziendali o strutturali (nel Forex, si tratta principalmente di continuità dei dati e di come viene costruita la serie).
2) Campionamento e tempistiche
- Definisci se calcoli l’Ulcer Index alla chiusura del bar, all’interno del bar o usando un’altra convenzione.
- Assicurati che il tuo “tempo decisionale” non utilizzi informazioni disponibili solo dopo quel momento.
3) Costi e frizioni Se la tua valutazione include azioni basate sull’indicatore, includi frizioni realistiche nella metrica di valutazione. Le frizioni tipicamente rilevanti sono spread, commissioni e slippage. Anche se il tuo obiettivo è didattico e non orientato alla performance, includere i costi aiuta a prevenire risultati che sembrano forti solo perché i costi sono stati ignorati.
Controlla il bias con verifiche esplicite di fallimento
Il bias è una causa principale di errore nei backtest degli indicatori. Includi verifiche specifiche progettate per invalidare il test.
Bias di anticipazione (look-ahead bias) Assicurati che il valore dell’Ulcer Index utilizzato al tempo t sia calcolato solo con dati disponibili fino al tempo t. Un errore comune è calcolare usando l’intero percorso di prezzo del bar quando la decisione sarebbe possibile solo alla chiusura del bar.
Bias da overfitting (test multipli) Se provi molte configurazioni di parametri (lunghezze della finestra, soglie, regole), puoi finire per selezionare una configurazione che si adatta al rumore. Limita lo spazio di ricerca oppure separa la selezione dei parametri dalla valutazione finale.
Bias di selezione Evita di valutare solo i periodi che “hanno funzionato” bene. Usa periodi di valutazione predefiniti o una procedura walk-forward.
Un modo pratico per farlo in modo responsabile è creare una checklist di ciò che potrebbe andare storto (errori di tempistica, perdita di parametri, omissione di costi) e verificare ciascun punto prima di interpretare i risultati.
Usa verifiche fuori campione per testare la robustezza
Le relazioni storiche non garantiscono risultati futuri. Per ridurre la possibilità che i tuoi risultati siano un artefatto di un singolo periodo, valuta i dati non utilizzati per la selezione dei parametri.
Strutture comuni e durature includono:
- Suddivisioni training/validation/test: scegli i parametri usando il training e conferma solo sulla validation, quindi finalizza sul test.
- Valutazione walk-forward (rolling): stima ripetutamente i parametri usando solo dati precedenti e valuta su periodi successivi.
Definisci una singola metrica di performance per la valutazione. Ad esempio, se stai studiando solo i drawdown, potresti confrontare la profondità del drawdown realizzato rispetto ai livelli dell’Ulcer Index. Mantieni la metrica stabile tra esperimenti diversi.
Conosci almeno una limitazione rilevante
Una limitazione evidente è che l’Ulcer Index comprime le informazioni sui drawdown in un singolo numero. Questo può nascondere dettagli distributivi. Due periodi possono avere valori simili di Ulcer Index ma differire per velocità di recupero, volatilità intorno ai massimi o concentrazione di movimenti estremi.
Inoltre, il comportamento dell’indicatore può variare a seconda del regime di mercato. Se il tuo backtest include un solo regime (ad esempio, condizioni prevalentemente tranquille), la relazione potrebbe non valere quando le condizioni cambiano.