Come si può backtestare in modo responsabile l’estensione di Fibonacci?
Definire l’estensione di Fibonacci e i suoi input verificabili
L’estensione di Fibonacci è uno strumento basato su rapporti che proietta potenziali livelli oltre un movimento precedente, utilizzando percentuali fisse derivate dalle distanze tra punti selezionati su un grafico. In un backtest responsabile, devi prima tradurre il concetto visivo in meccaniche verificabili.
Un backtest richiede input espliciti. Gli input tipici includono:
- Quali due punti definiscono il movimento precedente (spesso chiamati punti di ancoraggio e di inizio/fine).
- Quali rapporti di Fibonacci verranno valutati (ad esempio, insieme di livelli A rispetto all’insieme di livelli B).
- La regola per decidere quando il mercato “raggiunge” un livello (contatto, chiusura, range intrabar, e come vengono gestiti i pareggi).
- La regola per misurare gli esiti dopo un contatto (orizzonte fisso in barre/tempo, o fino al verificarsi di una condizione di uscita).
Se una di queste decisioni rimane soggettiva durante il test, il backtest diventa difficile da verificare in modo indipendente.
Separare le meccaniche stabili dalle condizioni di mercato e del provider variabili
Per mantenere il backtest attuale e verificabile in modo indipendente, separa ciò che controlli da ciò che non puoi controllare.
Meccaniche stabili (da mantenere costanti durante il test):
- Il calcolo dei livelli di estensione dai punti e dai rapporti scelti.
- La definizione dell’evento (cosa conta come “livello raggiunto”).
- La corrispondenza tra movimento del prezzo e misurazione dell’esito.
Condizioni variabili (da dichiarare esplicitamente):
- Assunzioni sull’esecuzione, come se gli ordini vengano eseguiti al livello quotato, al prezzo successivo disponibile o con slittamento.
- La modellazione di spread e commissioni, se stai valutando risultati simili a quelli di un trading.
- Problemi di qualità dei dati, come barre mancanti, timestamp irregolari o differenze tra i feed di prezzo.
Un approccio pratico è eseguire le stesse meccaniche di base con diverse assunzioni di “ambiente” (ad esempio, diversi livelli di spread/slittamento) per verificare se le conclusioni rimangono valide, piuttosto che assumere una singola condizione ideale.
Modellare costi ed esecuzione in modo che i risultati non siano un artefatto
Molti backtest sembrano migliori della realtà perché trattano gli eseguiti come se il livello fosse sempre ottenuto esattamente al prezzo desiderato e senza ritardi.
Quando backtesti in modo responsabile l’estensione di Fibonacci, includi almeno:
- Un modello di costo: spread/commissione come costo per operazione o per unità.
- Un modello di esecuzione: se un ordine verrebbe eseguito al primo contatto con il livello, e come gestisci il fatto che potresti non conoscere il percorso esatto intrabar.
- Un’assunzione di ritardo nell’esecuzione: ad esempio, “esegui all’apertura della prossima barra dopo il contatto” (o un’altra regola chiaramente dichiarata).
Anche se non simuli operazioni, dovresti comunque definire come viene rilevato il “raggiungimento” rispetto ai dati delle barre. Se il tuo grafico utilizza dati a candela, il comportamento intrabar può cambiare se un livello è stato effettivamente superato.
Controllare i bias con regole trasparenti e predefinite
Il backtesting può essere distorto da scelte che involontariamente si adattano ai dati storici. Le fonti comuni di bias includono:
- Bias di anticipazione (lookahead bias): utilizzare informazioni che non sarebbero state note al momento della decisione.
- Bias di selezione: scegliere i punti di swing dopo aver visto il movimento futuro.
- Overfitting: provare molteplici insiemi di rapporti, orizzonti o filtri finché il backtest non corrisponde al passato.
Per controllare questi effetti, definisci a priori:
- Regole di selezione degli ancoraggi (come scegli i punti di swing senza usare informazioni future).
- Intervalli di parametri e dimensioni dei passi se stai effettuando tuning.
- Una regola di arresto per il test (quante varianti proverai prima di selezionare la configurazione finale).
Documenta quindi la configurazione in modo che un’altra persona possa riprodurre lo stesso processo di identificazione dei livelli.
Validare con controlli fuori campione
Le prestazioni storiche non garantiscono risultati futuri. Un backtesting responsabile include quindi una strategia di validazione fuori campione.
Una struttura comune è:
- Campione interno (sviluppo): regola i parametri e conferma che le meccaniche si comportino come previsto.
- Campione esterno (valutazione): utilizza le regole finali senza ulteriori regolazioni per stimare se lo schema si generalizza.
Per rafforzare la conclusione, ripeti la valutazione su più periodi e regimi di mercato. Se i risultati appaiono solo in una finestra temporale, considerali un artefatto fragile piuttosto che una prova di robustezza.
Una limitazione significativa: discrezionalità e ancoraggi inconsistenti
Un punto critico nei backtest dell’estensione di Fibonacci è l’incoerenza nella scelta dei punti di swing. Poiché lo strumento è spesso applicato visivamente, lo stesso grafico può produrre diversi ancoraggi a seconda della persona o dell’algoritmo.
Se il tuo backtest permette diverse interpretazioni degli ancoraggi, le metriche di performance potrebbero riflettere il metodo di selezione piuttosto che il concetto di estensione. Un flusso di lavoro responsabile prevede:
- Un metodo rigoroso e algoritmico per identificare i punti di swing, oppure
- L’uso di molteplici varianti di selezione degli ancoraggi e la verifica della stabilità delle conclusioni.