La media mobile adattiva

“Chi non s'adatta si estingue”. È una legge universalmente applicabile a cominciare dai processi biologici ma che si estende anche alle dinamiche economiche. Perché tale principio non dovrebbe essere valido ugualmente nel Trading Automatico?

Vediamo dunque come applicare questa semplice teoria ad un Trading System basato su una tecnica fondamentale: il prezzo di un qualunque Asset che supera dall’alto verso il basso, o viceversa, il valore di una media mobile calcolata su un determinato numero di periodi.
È una tecnica primaria che però, a meno di significativi movimenti direzionali del mercato, va in sofferenza soprattutto quando il mercato presenta frequenti cambi di direzione, cioè quando il mercato si dice che sta lateralizzando.

Il concetto di avere frequenti cambi di direzione è però un concetto relativo, perché al diminuire del numero di periodi della media mobile quello che può essere interpretato come un repentino cambio di direzione può essere invece valutato come l’inizio di un nuovo trend seppure di ampiezza limitata.
Cambiando quindi il periodo della media mobile quello che potrebbe essere un movimento sfavorevole potrebbe invece essere colto come un’occasione da cui trarre un profitto anche se limitato.

È questo il concetto di media mobile adattiva: trasformare un parametro che solitamente viene considerato fisso (il numero di periodi) come una variabile che assume diversi valori al variare delle dinamiche del mercato.
Una prima idea potrebbe essere quella di creare una relazione di proporzionalità diretta tra il numero di barre su cui calcolare la media mobile e la volatilità del mercato. Ossia tanto maggiore sarà l’ampiezza media delle barre, valore facilmente calcolabile ad esempio mediante l’indicatore Average True Range, tanto maggiore sarà il numero di barre considerate nella media mobile.

La codifica di questa logica potrebbe essere riassunta nelle seguenti righe di codice ProRealTime:

Nrange=14    //periodo su cui calcolare l’ampiezza media
r=AverageTrueRange[Nrange]  //calcolo dell’ampiezza media delle barre
if r<v1 then
//periodo della media mobile se l’ampiezza media è inferiore ad un valore v1
N=10
elsif r>=v1 and r<v2 then
//periodo della media mobile se l’ampiezza media è compresa tra v1 e v2
N=20
elsif r>=v2 and r<v3 then
//periodo della media mobile se l’ampiezza media è compresa tra v2 e v3
N=30
else
//periodo della media mobile se l’ampiezza media è superiore a v3
N=50
endif
m=Average[N](Close)  //calcolo della media mobile dei prezzi con periodo N

Data l’estrema variabilità delle dinamiche dei vari Asset, tutti i parametri del codice precedente devono essere ottenuti da un’ottimizzazione usando i backtest effettuati sullo strumento su cui si vuole operare.

Vediamo come si comporta un Trading System Automatico che opera mediante la logica della Media Mobile Adattiva applicato all’indice EuroStoxx a 15 minuti, analizzandone la curva dei profitti.

Media Mobile adattiva

Si può osservare un ottimo andamento crescente dei guadagni ma come al solito, quando si utilizza il metodo di ottimizzazione dei parametri, è importante valutare il comportamento della curva dei profitti nella zona dove si presentano dati non conosciuti al sistema (metodo Walk-Forward) per verificarne la stabilità nel futuro.

Si può osservare appunto nella zona a destra dell’Equity Line una progressione costante dei profitti, della stessa entità che si realizza nella zona a sinistra, dando quindi conferma dell’efficacia della Strategia della Media Mobile Adattiva sui dati futuri.