Come si possono testare in modo responsabile le strategie MACD?
Cosa significa fare un backtesting MACD “responsabile”
Un backtesting responsabile è il processo di verifica di una strategia MACD basata su regole, applicata a dati storici di prezzo, in modo da permettere ad altri di riprodurre esattamente i calcoli, le assunzioni e il metodo di valutazione. Tratta inoltre i risultati come incerti: le performance storiche non garantiscono risultati futuri, e diversi mercati, condizioni di esecuzione o scelte di parametri possono alterare gli esiti.
Per farlo correttamente, occorre separare la meccanica stabile dalle condizioni variabili. La meccanica stabile comprende il calcolo dell’indicatore e le regole della strategia definite (ad esempio, quando un incrocio del MACD è considerato “valido”). Le condizioni variabili includono il regime di mercato, la liquidità, gli spread denaro-lettera, i ritardi nell’esecuzione degli ordini e tutti i costi aggiuntivi.
Meccanismo: input, assunzioni e cosa si sta misurando
Un indicatore MACD utilizza tipicamente due medie mobili del prezzo e una serie derivata di “differenza”, eventualmente con una linea segnale e un istogramma. Anche se si conosce la formula standard, un backtesting responsabile inizia dichiarando esplicitamente le scelte effettuate.
Definire chiaramente questi elementi:
- Dati: timeframe utilizzato (ad es. barre minuti vs. barre giornaliere), e se si usano prezzi midpoint, close, ask o bid. Se si hanno solo barre OHLC, va specificato come vengono approssimati i fill.
- Parametri dell’indicatore: tipi di medie mobili, periodi di riferimento (veloce/lento), lunghezza della media di smoothing per la linea segnale e qualsiasi scala applicata.
- Regole della strategia: logica precisa di entrata/uscita, inclusa la gestione dei casi di parità (es. quando il MACD uguaglia la linea segnale), e se si agisce alla chiusura della barra o intrabar.
- Modello di posizione: se si è completamente investiti, come si dimensionano le posizioni e come si gestiscono i ribaltamenti.
- Costi: costi e attriti di trading inclusi, come spread e commissioni. Se non si può modellare direttamente lo spread, va descritto il proxy utilizzato (ad es. un costo fisso per operazione) e quanto i risultati siano sensibili a tale assunzione.
Quello che si misura deve corrispondere all’obiettivo. Metriche comuni includono rendimento totale, drawdown, hit rate e durata media delle operazioni. Un approccio responsabile registra anche metriche operative come numero di operazioni e tempo sul mercato, poiché queste interagiscono fortemente con i costi.
Evidenza o esempio: una struttura fuori campione con controlli del bias
Un modo pratico per ridurre risultati fuorvianti è utilizzare un design di valutazione che rispecchi le decisioni prese in tempo reale.
- Mantenere un periodo finale di test che non viene mai toccato durante la selezione dei parametri.
- Ottimizzare i parametri solo su una finestra di training/validation separata (o con suddivisioni walk-forward), usando una procedura fissa.
- Utilizzare le stesse regole decisionali e assunzioni sui costi in tutte le suddivisioni.
- Riportare i risultati per ogni suddivisione, non solo un singolo valore aggregato.
I controlli del bias sono importanti perché i backtest spesso “migliorano” i risultati per errore:
- Bias di look-ahead: uso di informazioni dalla stessa barra che non sarebbero state disponibili al momento dell’esecuzione.
- Bias di selezione e di sopravvivenza: limitazione a mercati o periodi che casualmente funzionano.
- Overfitting: selezione di parametri che si adattano al rumore nel dataset di training.
Per controllarli:
- Fissare il calcolo dell’indicatore e la logica decisionale prima di testare più suddivisioni.
- Mantenere le ricerche di parametri limitate e documentate.
- Preferire interpretazioni semplici delle regole quando possibile, poiché la complessità può nascondere l’overfitting.
Verifica costi-caratteristiche (un semplice stress test)
Dopo aver calcolato i risultati di base, eseguire test di stress sui costi. Ad esempio, rivalutare i risultati con spread/commissioni ipotizzati più alti e un’esecuzione leggermente ritardata. Questo non “dimostra” che una strategia fallirà, ma aiuta a identificare se il vantaggio apparente dipende da condizioni irrealisticamente favorevoli.
Limitazioni e rischi: almeno un modo significativo di fallimento
Anche con un lavoro accurato, i backtest MACD possono fallire per motivi non visibili in una semplice tabella di risultati. Un modo significativo di fallimento è lo spostamento di regime: il comportamento basato su momentum e incroci può funzionare in determinate condizioni di volatilità e trend, ma deteriorarsi quando la dinamica di mercato cambia.
Altre limitazioni importanti:
- Realismo dell’esecuzione: i backtest basati su barre possono assumere fill a prezzi irraggiungibili, specialmente durante movimenti rapidi o bassa liquidità.
- Omissione della microstruttura: gli spread e lo slippage non sono costanti; modellarli come fissi può sovrastimare la performance.
- Instabilità dei parametri: piccole variazioni nelle lunghezze del MACD possono alterare significativamente i segnali, quindi i risultati potrebbero non generalizzare.
- Non stazionarietà: la relazione storica tra comportamento dell’indicatore e risultati può variare nel tempo.
A causa di queste incertezze, i risultati del backtest vanno considerati come evidenza sulle tue assunzioni e il tuo modello, non come prova di performance future.