Come si può fare il backtest del Ciclo di Tendenza Schaff in modo responsabile?
Definire il concetto dell’indicatore prima di misurarlo
Il Ciclo di Tendenza Schaff (spesso abbreviato in STC) è un indicatore di tendenza che trasforma il movimento dei prezzi in una serie limitata simile a un oscillatore. Un backtest responsabile inizia separando le meccaniche stabili dalle condizioni variabili:
- Meccaniche stabili: come viene calcolato l’indicatore a partire dai suoi input (medie mobili, smoothing e qualsiasi mappatura oscillatore).
- Condizioni variabili: il periodo di mercato, la fonte del prezzo, il metodo di esecuzione e l’ambiente di trading.
Anche se ti interessa solo l’indicatore, il backtest richiede comunque una definizione precisa di ciò che costituisce un “risultato”. Ad esempio, potresti valutare se un determinato livello o cambio di direzione dello STC corrisponde al movimento successivo del prezzo. Tale scelta deve essere dichiarata in anticipo, perché regole di valutazione diverse possono produrre risultati diversi.
Impostare esplicitamente le ipotesi sui dati e sui costi
Un backtest accurato dipende dalla pipeline dei dati. Dichiara queste ipotesi prima di qualsiasi calcolo:
- Dati sui prezzi: quale serie utilizzi (ad esempio, bid/ask rispetto a mid/last) e come vengono gestiti i timestamp mancanti.
- Allineamento temporale: se i valori dell’indicatore al tempo t vengono calcolati utilizzando solo informazioni disponibili a t.
- Resampling: se utilizzi barre temporali native o effettui resampling, e come vengono allineati i bordi.
I costi sono importanti perché le valutazioni basate sugli indicatori possono apparire redditizie se i costi vengono ignorati. Utilizza ipotesi esplicite per:
- Costi di transazione: commissioni, spread o entrambi (espressi in modo coerente con la serie di prezzi scelta).
- Slippage: come il prezzo di esecuzione si discosta dal prezzo di riferimento utilizzato per il backtest.
- Latenza: se si assume che gli ordini vengano eseguiti all’apertura, alla chiusura o secondo un’altra regola della barra successiva.
Per controllare l’incertezza, esegui lo stesso backtest in più scenari di costo plausibili (ad esempio, slippage basso/medio/alto). Se le conclusioni cambiano drasticamente, questo è un segnale di avvertimento sulla robustezza.
Controllare i bias con test fuori campione e controlli di stabilità dei parametri
Un errore comune nei backtest degli indicatori è l’overfitting: regolare parametri e regole di selezione finché il periodo storico sembra buono, senza garantire prestazioni future. Puoi ridurlo separando le fasi del flusso di lavoro:
- Definisci una volta: decidi la regola di valutazione (quale evento attiva la metrica) e i limiti dell’insieme di parametri prima di esaminare i risultati.
- Ottimizza con una finestra di addestramento: se regoli dei parametri, fallo solo su un segmento di addestramento.
- Valida fuori campione: testa la configurazione scelta su dati successivi non utilizzati per l’ottimizzazione.
- Ripeti con più suddivisioni: usa diversi segmenti mobili o in avanti (walk-forward) per ridurre la probabilità che i risultati derivino da un singolo periodo fortunato.
Un controllo pratico contro i bias è la stabilità dei parametri: verifica che piccole variazioni dei parametri non capovolgano la conclusione. Ad esempio, se i risultati dipendono da un intervallo ristretto di parametri, la relazione è probabilmente instabile.
Valutare almeno una limitazione materiale o una modalità di fallimento
Il successo di un backtest storico non garantisce risultati futuri. Tratta le metriche di performance come condizionate al regime e alle ipotesi di esecuzione. Al minimo, testa una modalità di fallimento materiale, come:
- Cambiamento di regime: gli indicatori di tendenza spesso si comportano diversamente in periodi laterali rispetto a quelli con tendenze sostenute.
- Ritardo dell’indicatore: lo smoothing può causare risposte tardive; valuta se la regola di valutazione misura gli esiti dopo il ritardo informativo dell’indicatore.
- Sensibilità ai costi/esecuzione: se l’indicatore “funziona” solo rimuovendo gli spread o assumendo esecuzioni irrealistiche, la conclusione è fragile.
Verifica anche la fuga di dati (data leakage): assicurati che i valori dell’indicatore siano calcolati usando solo dati disponibili al momento della decisione. La fuga di dati può far apparire accurati i backtest degli oscillatori anche quando le meccaniche non sarebbero state disponibili in tempo reale.
Verifica e la prossima domanda che dovresti porre
Un processo di verifica responsabile risponde a due domande in modo indipendente:
- Riproducibilità: riesci a rieseguire il backtest con le stesse definizioni di dati e ottenere gli stessi risultati?
- Validità esterna: le conclusioni persistono in diverse finestre fuori campione e scenari di costo?
Come prossimo passo, chiarisci la tua regola di valutazione e le metriche. Ad esempio, decidi se stai misurando l’allineamento direzionale, la precisione temporale basata su eventi o la redditività di una regola ipotetica. Quindi ripeti il processo fuori campione modificando un solo elemento alla volta. Se i risultati sono validi solo in un’unica configurazione ristretta, la tua conclusione dovrebbe essere formulata come “condizionata alle ipotesi”, non come una promessa generale.
Collegare la pagina del concetto può anche aiutarti a mantenere coerenti il calcolo e la regola di test.