Come si può fare backtest responsabilmente del Kaufman Efficiency Ratio?
Definisci la meccanica dell’indicatore prima del backtest
Il Kaufman Efficiency Ratio (spesso abbreviato in “Kaufman ER”) è un modo per esprimere quanto direttamente un percorso di prezzo si muove dal punto iniziale a quello finale in una finestra temporale di riferimento. L’intuizione principale è:
- Se il mercato si muove principalmente in modo lineare e persistente, il percorso è “efficiente”, quindi l’ER è relativamente alto.
- Se il mercato si muove in modo irregolare, con movimenti avanti e indietro, il percorso è inefficiente, quindi l’ER è relativamente più basso.
Un backtest responsabile inizia dichiarando con precisione gli input e i calcoli che verranno utilizzati:
- Serie dei prezzi: quale prezzo si utilizza (ad esempio, close-to-close), e in quali unità.
- Lunghezza della finestra di riferimento: la dimensione della finestra su cui viene calcolato l’ER.
- Frequenza temporale: se l’ER viene calcolato su barre orarie, giornaliere o un altro intervallo.
- Direzione e scala: se si tratta l’ER in modo simmetrico e come si confrontano i valori nel tempo.
Poiché le formule degli indicatori possono essere implementate leggermente in modo diverso (soprattutto riguardo alla scelta della serie e alla gestione dei bordi), due backtest possono produrre risultati diversi anche se entrambi affermano di “usare il Kaufman ER”. Il tuo obiettivo è rendere la tua definizione inequivocabile, in modo che un’altra persona possa riprodurre il tuo risultato.
Separa la meccanica stabile dalle condizioni variabili
Il backtest non riguarda solo l’indicatore. Dipende anche da condizioni variabili che possono cambiare il significato dell’output dell’indicatore.
Dividi il tuo modello in due parti:
-
Meccanica stabile (definizione dell’indicatore)
- Il calcolo dell’ER a partire dalla serie dei prezzi e dalla finestra di riferimento scelta.
- Il metodo per allineare i valori dell’ER a qualsiasi periodo successivo di valutazione.
-
Condizioni variabili (ciò che trasforma i dati in performance)
- Costi: spread, commissioni e qualsiasi altra frizione modellata.
- Esecuzione: assunzioni su quando è possibile agire rispetto alla barra osservata.
- Regime di mercato: tendenze rispetto a mercati laterali possono cambiare il modo in cui la “direttrice” si traduce in movimenti futuri.
Un errore comune è mescolare questi aspetti. Ad esempio, modificare costi ed esecuzione finché i risultati non sembrano buoni, pur affermando di aver validato l’indicatore. Invece, mantieni fisso il calcolo dell’ER e verifica come diverse assunzioni ragionevoli sui costi/e l’esecuzione influenzino le conclusioni.
Usa esplicitamente le assunzioni e controlla il bias dei parametri
Per fare un backtest responsabilmente, ogni calcolo deve avere assunzioni dichiarate. Esempi di assunzioni che dovresti riportare chiaramente:
- Orizzonte di test: stai valutando la relazione tra ER e i rendimenti futuri nei prossimi N periodi, o qualcos’altro?
- Quando viene campionato l’ER: ER al tempo t allineato all’esito del periodo successivo, o ER calcolato su finestre sovrapposte.
- Come gestisci i bordi: i primi periodi della finestra, barre mancanti e aggiustamenti simili a quelli per eventi societari (anche se nel forex questi sono meno comuni).
I controlli del bias sono cruciali:
- Parametri fissi vs ottimizzati: se cerchi tra diverse lunghezze della finestra, soglie o regole decisionali, devi avere un piano per prevenire l’overfitting.
- Test out-of-sample: usa un periodo per scegliere eventuali parametri, quindi un periodo separato per valutarli.
- Niente “sbirciatine”: il passaggio di valutazione non deve influenzare scelte precedenti di parametri.
Anche senza segnali di trading, puoi comunque valutare l’ER in modo responsabile misurando quanto coerentemente l’ER si relaziona ai movimenti futuri sotto le tue assunzioni dichiarate di allineamento e orizzonte.
Includi costi e frizioni di esecuzione nel modello di valutazione
Se valuti performance o qualsiasi risultato sensibile ai costi, modella le frizioni in modo coerente con le tue assunzioni.
Punti chiave:
- I costi non sono opzionali in un backtest realistico quando si confrontano piccole differenze tra periodi.
- I tempi di esecuzione sono importanti: agire alla fine di una barra rispetto all’apertura può cambiare i risultati effettivi.
- Slippage e comportamento dello spread possono differire tra regimi; condizioni irregolari possono comportare frizioni effettive più elevate.
Un approccio responsabile è eseguire verifiche di sensibilità: ripeti la stessa valutazione con diverse configurazioni plausibili di costi/esecuzione per vedere se le tue conclusioni dipendono da un particolare insieme di assunzioni.
Identifica almeno una limitazione materiale e un modo di fallimento
I backtest del Kaufman ER possono fallire in diversi modi. Un modo di fallimento materiale è la dipendenza dal regime: una metrica basata sulla “direttrice del percorso” può comportarsi diversamente quando il mercato è in trend rispetto a quando è laterale. Ciò significa che una relazione osservata in un periodo potrebbe non valere in seguito.
Altri modi di fallimento importanti da testare:
- Sensibilità alla frequenza: calcolare l’ER su un diverso intervallo di barre può cambiare la “direttrice” misurata.
- Qualità dei dati ed effetti di microstruttura: interpolazione, barre mancanti o differenze tra prezzi bid/ask e mid price possono alterare l’ER.