Come si può fare backtesting responsabilmente dell’Indicatore di Momentum?
Cosa significa “backtesting responsabile” per un Indicatore di Momentum
Il backtesting stima come si sarebbe comportata una regola basata su un Indicatore di Momentum utilizzando dati storici. Il backtesting responsabile si concentra meno sui risultati finali e più sul fatto che l’impostazione del test avrebbe potuto essere eseguita con informazioni effettivamente disponibili al momento.
Come minimo, dovresti essere in grado di spiegare:
- quali dati sono stati utilizzati dall’indicatore e come sono stati calcolati,
- quale regola ha trasformato i valori dell’indicatore in un’azione (se presente),
- quali ipotesi sono state fatte sui costi e sull’esecuzione,
- quali parti sono meccanismi stabili dell’indicatore e quali sono condizioni variabili del mercato e del fornitore di dati.
Le prestazioni storiche non possono mai dimostrare i risultati futuri, perché le relazioni possono cambiare e perché i backtest sono sensibili alla qualità dei dati, ai costi e ai bias metodologici.
Meccanismo e definizioni: separare la matematica dell’indicatore dalle ipotesi di test
L’Indicatore di Momentum è tipicamente un concetto di “variazione in un periodo di riferimento”: confronta un prezzo con il suo valore da un numero fisso di periodi fa. La formula esatta può variare a seconda della piattaforma (ad esempio, confrontando il close attuale con il close di N periodi fa, o usando una variante del tasso di variazione), quindi la prima responsabilità è fissare la definizione.
Un backtest responsabile inizia con definizioni fisse:
- Serie dei prezzi utilizzata (ad esempio, close-to-close).
- Lunghezza del periodo di riferimento (numero di periodi).
- Dettagli del calcolo (differenza rispetto alla variazione percentuale; eventuale smoothing).
- Regola temporale (quando il valore calcolato è noto e quando viene presa una decisione).
Quindi separare la meccanica dalle condizioni variabili:
- Meccanica stabile: calcolo dell’indicatore e qualsiasi regola di selezione puramente meccanica applicata.
- Condizioni variabili: costruzione delle candele, barre mancanti, gestione dei fusi orari, rollover, liquidità, comportamento dello spread bid/ask e modellazione dell’esecuzione.
Tipi di costi e attriti di esecuzione da modellare
I backtest spesso sovrastimano i risultati perché ignorano i costi. Anche nei controlli didattici (senza raccomandare alcuna azione), puoi modellare i costi in modo coerente con i dati:
- Spread o costo effettivo di transazione per operazione (come converti le differenze bid/ask in un singolo costo netto).
- Commissione o tariffa per ordine.
- Slippage: la differenza tra il prezzo di riempimento ipotizzato e quello effettivamente ottenibile.
- Tempistica degli ordini: se i riempimenti avvengono all’apertura della barra successiva, al close della stessa barra o altrove.
Per ogni input di costo, dichiara esplicitamente le ipotesi. Se non riesci a giustificare i numeri, considera il test come uno studio di sensibilità piuttosto che una dichiarazione di prestazioni.
Controlli contro i bias: prevenire look-ahead, overfitting e cherry-picking
Un errore comune è che il backtest utilizzi involontariamente informazioni future o ottimizzi i parametri su un singolo periodo finché “funziona”. Il backtesting responsabile utilizza controlli che rendono più difficile nascondere l’overfitting.
Controlli principali contro i bias
- Nessun look-ahead: assicurati che il valore dell’indicatore e qualsiasi soglia utilizzata per le decisioni fossero calcolabili al momento della decisione.
- Test walk-forward (out-of-sample): calibra o scegli i parametri su un segmento, quindi valutali su segmenti successivi mai visti.
- Diversi controlli di robustezza: varia ipotesi non essenziali (come il livello di costo entro un intervallo plausibile) per verificare se le conclusioni reggono.
Esempio di errore da individuare
Se la tua regola basata sull’indicatore funziona bene solo con un ristretto insieme di valori parametrici, potrebbe catturare rumore dal periodo di training. Un altro errore è un andamento dei risultati che scompare quando si cambia la costruzione del prezzo (o quando si ricampiona con una diversa dimensione delle barre), suggerendo che il backtest dipenda eccessivamente dai dati.
Limitazioni e rischi da dichiarare prima di interpretare i risultati
Almeno una limitazione significativa dovrebbe far parte della tua relazione di backtesting:
- Cambiamento di regime di mercato: relazioni che appaiono in un periodo potrebbero indebolirsi in seguito.
- Differenze nella qualità dei dati: le barre storiche potrebbero non replicare fedelmente liquidità e comportamento dei prezzi in tempo reale.
- Divergenza nell’esecuzione: il modello di riempimento ipotizzato (apertura successiva, close, mid) può dominare i risultati.
- Instabilità dei parametri: i risultati possono essere sensibili alla scelta della lunghezza del periodo di riferimento e delle soglie.
Un modo utile per esprimerlo è: anche se il backtest è internamente coerente, non dimostra che la stessa regola sarebbe generalizzabile.
Verifica e prossimi passi per rendere autonomo il tuo controllo
Per verificare in modo indipendente i fatti rilevanti, concentrati sulla riproducibilità:
- Ricrea l’Indicatore di Momentum esattamente come definito (incluso lo stesso periodo di riferimento e variante di calcolo).
- Rifai il backtest con lo stesso codice/pipeline di dati e verifica che ogni passaggio corrisponda alle tue ipotesi scritte.
- Conferma la tempistica: quando l’indicatore viene calcolato e quando viene presa una decisione.