Come si può fare backtesting responsabilmente del Williams %R?
Definire il Williams %R prima del backtesting
Il Williams %R (spesso indicato come “Williams R”) è un indicatore di tipo momentum che confronta il prezzo di chiusura corrente con il massimo più alto e il minimo più basso in una finestra temporale scelta. L’idea principale è normalizzare la posizione del prezzo all’interno di un range recente, in modo che i valori siano interpretabili indipendentemente dal livello di prezzo.
Prima di effettuare il backtesting, annotare le esatte scelte di calcolo che utilizzerete, poiché piccole differenze possono alterare i risultati:
- Lunghezza della finestra temporale (numero di barre utilizzate per individuare il massimo più alto e il minimo più basso).
- Prezzo utilizzato per il punto “corrente” (tipicamente la chiusura della barra).
- Definizione di massimo/minimo (inclusione o esclusione della barra corrente, a seconda del metodo scelto).
Assunzione da dichiarare esplicitamente: si utilizza la stessa frequenza delle barre e la stessa definizione di “massimo” e “minimo” sia nei dati del backtest che in eventuali verifiche successive.
Costruire un dataset di backtest coerente con la realtà prevista
Un backtest responsabile parte da assunzioni sui dati che si possono difendere.
Considerare questi elementi legati ai dati:
- Costruzione delle barre: decidere se utilizzare barre temporali fisse (ad esempio, candele da 1 ora) o un altro schema. I valori dell’indicatore cambieranno se si modifica il tipo di barra.
- Effetti societari e strumentali: se il dataset include strumenti con discontinuità storiche non pulite, i risultati possono essere distorti. Anche nelle serie FX (dove i contratti vengono rinnovati), si dovrebbe tenere conto delle discontinuità in un modo descrivibile.
- Coerenza dell’universo di trading: se si testano più strumenti, mantenere l’universo coerente nel tempo, oppure giustificare come vengono gestiti i nuovi inserimenti.
Nota sull’incertezza: le relazioni storiche non garantiscono risultati futuri. Anche un calcolo “corretto” può fallire perché il comportamento del mercato cambia.
Modellare costi e tempistiche di esecuzione come parte del test dell’indicatore
Spesso i backtest sembrano migliori del dovuto perché ignorano le frizioni di mercato. Per il Williams %R, non si può trattare l’indicatore come se il trading fosse gratuito.
Costi e scelte di esecuzione da modellare (con assunzioni esplicite):
- Spread/costo di transazione: utilizzare un metodo coerente per sottrarre un costo da ogni trade completato.
- Slippage: decidere come approssimare l’esecuzione sfavorevole rispetto a un’esecuzione ideale.
- Tempistiche degli ordini: specificare se si assume di poter operare al prezzo di chiusura che ha generato il valore dell’indicatore, oppure se si opera alla barra successiva. Questo è una fonte importante di “look-ahead” accidentale.
Esempio di assunzione esplicita: “I segnali sono calcolati dai valori di chiusura delle barre e i trade sono aperti all’apertura della barra successiva.” Se non si fa questo, si può assumere involontariamente informazioni che non sarebbero state disponibili.
Controllare il bias con disciplina nei parametri e verifiche out-of-sample
I backtest del Williams %R possono diventare fragili quando si ottimizzano i parametri fino a farli adattare a un singolo periodo storico. Una pratica responsabile si concentra sulla riduzione del rischio di “overfitting”.
Principali controlli:
- Separazione tra periodi di training e testing: scegliere un set di parametri utilizzando un segmento (training), quindi valutarlo su un segmento diverso (testing).
- Validazione walk-forward: addestrare ripetutamente su una finestra mobile e testare sulla finestra successiva. Questo aiuta a simulare come si sarebbero aggiornate le regole nel tempo.
- Limitare il numero di parametri regolabili: se si testano molte lunghezze di finestra, soglie e filtri aggiuntivi, si aumenta la probabilità che una certa configurazione funzioni bene per caso.
Modalità di fallimento: una strategia può mostrare prestazioni forti nel campione di training ma comportarsi male fuori dal campione, perché ha imparato il rumore invece di un effetto ripetibile.
Definire cosa significa “segnale” – senza affermare potere predittivo autonomo
Un valore di indicatore da solo non è una regola di trading. In un backtest responsabile, si deve definire una regola che trasformi il comportamento dell’indicatore in decisioni, inclusi:
- Logica di entrata/uscita (ad esempio, quando una condizione del Williams %R attiva un cambio di posizione).
- Assunzione sulla dimensione della posizione (dimensione fissa, rischio fisso, o altra regola).
- Regole di mantenimento e rientro (come ci si comporta dopo le uscite).
Limitazione da riconoscere: le soglie dell’indicatore che sembrano significative su un dataset potrebbero non trasferirsi a un altro. Trattare ogni relazione rilevata come un’ipotesi.
Utilizzare una verifica indipendente dal motore di backtest
Infine, la verifica aiuta a confermare che i risultati non siano artefatti di una particolare implementazione.
Controlli indipendenti che si possono effettuare:
- Ricalcolare i valori dell’indicatore in modo indipendente: verificare i calcoli del Williams %R su un piccolo campione per individuare errori nella formula o nell’indicizzazione.
- Verifica della plausibilità delle distribuzioni: confermare che i valori di %R si comportino come previsto rispetto ai massimi e minimi recenti (ad es.