Come Testare il Strategy Hopping
Cosa significa strategy hopping, prima di testarlo
Lo strategy hopping è la pratica di passare da una strategia di trading all’altra nel tempo (ad esempio, “Strategia A quando si verifica X, altrimenti Strategia B”). L’idea chiave da testare non è che il passaggio avvenga, ma se tale passaggio migliori la qualità delle decisioni rispetto a un’alternativa stabile.
Poiché il passaggio tra strategie può essere influenzato da molti fattori, un test utile inizia separando:
- Meccaniche stabili: come si decide quale strategia è attiva (la regola di switching).
- Condizioni variabili di mercato/fornitore: regimi di volatilità, spread, liquidità, qualità di esecuzione e altri fattori in cambiamento.
Quando si testa lo strategy hopping, si cerca di isolare l’effetto della regola di switching, mantenendo costante il metodo di valutazione. I risultati storici possono essere fuorvianti se riflettono periodi fortunati, costi variabili o informazioni future accidentalmente incorporate.
Un design concreto di test: ipotesi, baseline e suddivisione dei dati
1) Scrivere un’ipotesi verificabile
Trasformare l’idea vaga “lo strategy hopping potrebbe funzionare” in qualcosa di misurabile. Ad esempio, si potrebbe ipotizzare che:
- In condizioni definite, una regola di switching migliori la performance netta dopo i costi rispetto al mantenimento di una strategia di riferimento fissa.
Per evitare valutazioni ambigue, decidere in anticipo quale metrica si considera rilevante (ad esempio, rendimento netto medio per trade, profondità del drawdown o una statistica aggiustata per il rischio). Definire anche l’orizzonte temporale di misurazione, come “per mese” o “per settimana”.
2) Scegliere una baseline che renda il confronto equo
Una baseline deve rappresentare un’alternativa senza switching, valutata con gli stessi dati, ipotesi di esecuzione e calcolo delle metriche.
Tipi comuni di baseline (sceglierne uno):
- Strategia fissa: utilizzare sempre la stessa definizione di strategia.
- Allocazione statica: mantenere regole di esposizione costanti se le strategie originali modificano l’esposizione.
- Controllo con switching casuale: passare da una strategia all’altra con la stessa frequenza ma senza logica decisionale.
La baseline è importante perché lo strategy hopping spesso trae vantaggio dal fatto che i ricercatori selezionano inconsciamente periodi in cui il passaggio sembra funzionare. Una baseline equa aiuta a rilevare questo fenomeno.
3) Definire la suddivisione dei dati e dove la regola decisionale può apprendere
Un approccio pratico è suddividere i dati in in-sample (per selezionare parametri e validare la regola di switching) e out-of-sample (per stimare la performance senza ulteriori ottimizzazioni).
Ad esempio:
- Utilizzare una finestra di training per definire la struttura logica o le soglie della regola di switching.
- Utilizzare una finestra di validazione per confermare le scelte (opzionale ma utile).
- Utilizzare una o più finestre di test per misurare i risultati out-of-sample.
Se si modifica la regola di switching dopo aver visto i risultati del test, il test non è più indipendente. L’approccio più sicuro è: una volta bloccata la regola, trattare il set di test come intoccato.
Costi e ipotesi: la parte “netta” del test
4) Includere esplicitamente costi di transazione ed esecuzione
Lo switching tra strategie di solito aumenta l’attività (più entrate/uscite, ri-ottimizzazioni o cambiamenti di regime più frequenti). Anche se la logica della strategia grezza appare simile, i risultati netti possono cambiare drasticamente una volta considerati i costi.
Nel piano di test, specificare le ipotesi per ogni calcolo possibile. Ad esempio:
- Un modello di commissione per trade.
- Uno spread medio o un costo effettivo per entrata/uscita.
- Assunzioni su slippage che riflettano scenari peggiori o tipici di qualità di esecuzione.
Non è necessario disporre di dati di mercato in tempo reale per progettare la struttura del test, ma si devono trattare i costi come una variabile. Una verifica di robustezza comune è l’analisi della sensibilità: rieseguire la stessa valutazione con ipotesi di costo più alte e più basse per vedere se le conclusioni cambiano.
5) Utilizzare regole di esecuzione coerenti tra le strategie
Per confrontare lo switching con la baseline, l’esecuzione deve essere modellata in modo coerente:
- Stesso criterio temporale per gli ordini (ad esempio, decisioni alla chiusura del bar vs intrabar).
- Stessa logica e limiti di dimensionamento della posizione.
- Stesse assunzioni per gestione di stop e limit.
Se l’esecuzione differisce tra le strategie o tra il sistema di switching e la baseline, le differenze di performance potrebbero derivare da meccaniche piuttosto che dall’idea di switching.
Evidenze ed esempi: cosa cercare nei risultati
6) Distinguere “funziona una volta” da “funziona in diverse condizioni”
Un rischio chiave dello strategy hopping è che possa apparire efficace solo in determinati regimi storici. La soluzione è testarlo in più condizioni e periodi.
Progettare la valutazione includendo:
- Più finestre di test out-of-sample (diversi anni o mesi).
- Suddivisioni per regimi (ad esempio, periodi ad alta vs bassa volatilità), definite senza anticipare i risultati futuri.
L’obiettivo è osservare se performance netta e caratteristiche di rischio rimangono plausibili in tutte le suddivisioni, invece di essere concentrate in una ristretta finestra storica.
7) Aggiungere verifiche di robustezza che stressino la regola decisionale
Almeno una di queste verifiche dovrebbe far parte del piano di verifica:
- Sensibilità alla frequenza di switching: testare cosa accade se lo switching è forzato a essere meno o più frequente.
- Stabilità dei parametri: modificare leggermente le soglie e misurare se i risultati peggiorano bruscamente.
- Esperimento di controllo: randomizzare il segnale di switching mantenendone le proprietà distributive (es. frequenza).
Se lo switching “vince” solo quando i parametri sono ottimizzati su un campione specifico, questo è un segnale di allarme.
Limitazioni e modalità di fallimento da documentare
8) Limitazioni materiali
Anche un test storico ben progettato non può dimostrare la performance futura. Le relazioni osservate in un periodo potrebbero fallire in seguito.
Modalità di fallimento materiali per lo strategy hopping includono:
- Overfitting della regola di switching: la logica apprende rumore che non si generalizza.
- Leakage: uso indiretto di informazioni future (ad esempio, usare risultati per decidere quale strategia avrebbe dovuto essere attiva).
- Sottostima dei costi: ignorare spread, commissioni o slippage fa apparire lo switching migliore di quanto possa essere al netto delle frizioni reali.
- Mancata corrispondenza nell’esecuzione: assunzioni diverse nella gestione degli ordini tra strategie possono distorcere i risultati.
- Non stazionarietà: la relazione tra segnali e risultati cambia mentre i mercati si adattano.
9) Interpretare l’incertezza, non la certezza
Quando si riportano i risultati del test, includere quanto questi siano sensibili a ipotesi e suddivisioni. Se la performance crolla con costi leggermente più alti o diverse finestre di test, l’evidenza è debole.
Questo è particolarmente importante per lo strategy hopping perché la regola di switching aggiunge complessità. Maggiore complessità aumenta la probabilità che un vantaggio apparente sia una coincidenza statistica.
Verifica e prossima domanda
10) Cosa si può verificare in modo indipendente
Per verificare in modo indipendente i fatti rilevanti, si può controllare se il design del test è internamente coerente:
- La regola di switching è stata bloccata prima della valutazione out-of-sample.
- La baseline utilizza lo stesso modello di esecuzione e costi.
- La performance netta è calcolata dopo i costi espliciti.
- I risultati sono mostrati su più finestre out-of-sample e analisi di sensibilità.
Una prossima domanda importante è se la regola di switching sia sostanzialmente diversa dalla baseline. Se lo switching non cambia materialmente il comportamento (ad esempio, seleziona quasi sempre la stessa strategia), il test dovrebbe rifletterlo.