1. Definizione Statistica di Mean Reversion
In statistica, un processo è detto mean-reverting (o stazionario) se tende nel tempo a ritornare verso un valore centrale — la sua media. Formalmente, una serie temporale X(t) è mean-reverting se esiste una media μ tale che quando X(t) > μ il processo tende a diminuire e quando X(t) < μ tende ad aumentare.
Applicata ai prezzi finanziari, la mean reversion afferma che i prezzi che si allontanano significativamente dalla loro media storica hanno una probabilità statistica superiore alla media di tornare verso quel livello. Non è una certezza — è una probabilità condizionale misurabile. Il concetto opposto è il random walk: ogni variazione di prezzo è indipendente dalle precedenti e il prezzo futuro non è prevedibile dalla posizione corrente rispetto alla media.
Quando X(t) > μ: il termine θ(μ − X) è negativo → forza verso il basso.
Quando X(t) < μ: il termine è positivo → forza verso l’alto.
Alto θ = ritorno rapido. Basso θ = ritorno lento. Questo modello si stima empiricamente dai dati storici.
Il modello di Ornstein-Uhlenbeck (OU) è il framework teorico standard per la mean reversion in finanza quantitativa. La sua stima empirica sul mercato che ti interessa dice quanto forte è la forza di ritorno alla media — un dato fondamentale per calibrare take profit e holding period di un sistema mean reversion.
2. Come Testare se un Mercato È Mean-Reverting: Hurst e ADF
Prima di costruire qualsiasi strategia mean reversion, devi verificare statisticamente se il mercato che analizzi ha effettivamente questa proprietà. I due strumenti standard dei quant trader sono l’esponente di Hurst e il test ADF.
L’Esponente di Hurst: la memoria della serie
L’esponente di Hurst (H) misura la “memoria” di una serie temporale. Sviluppato dall’idrologo Harold Hurst negli anni ’50 studiando le piene del Nilo, è diventato uno strumento centrale nell’analisi delle serie finanziarie.
H = 0,5 → Random walk puro (no memoria)
H > 0,5 → Trend following (serie persistente)
Valori empirici tipici — XAUUSD H4: H ≈ 0,47–0,52 (vicino al random walk, con lievi tendenze MR in regime di bassa volatilità).
Valori empirici tipici — VIX: H ≈ 0,30–0,38 (forte mean reversion, come atteso da uno strumento di volatilità).
Il Test ADF: stazionarietà formale
L’ADF (Augmented Dickey-Fuller) test verifica la presenza di radice unitaria nella serie. Una serie con radice unitaria è un random walk integrato (I(1)) — non mean-reverting. Una serie senza radice unitaria è stazionaria — potenzialmente mean-reverting.
In pratica: i prezzi assoluti di XAUUSD raramente passano il test ADF (sono I(1)). Gli spread rispetto a una media mobile di lungo periodo tendono a essere più stazionari. È su questi spread che si costruisce la strategia. Il codice Python per il test ADF usa statsmodels.tsa.stattools.adfuller(serie, autolag='AIC') — se il p-value < 0,05 rifiuti l’ipotesi nulla di radice unitaria e puoi concludere che la serie è stazionaria con confidenza del 95%.
3. Quali Mercati Mostrano Mean Reversion e Quando
Non tutti i mercati hanno uguale propensione alla mean reversion. La proprietà dipende dal mercato specifico, dal timeframe e dal regime di volatilità corrente.
| Mercato | Propensione MR | Timeframe ottimale | Note |
|---|---|---|---|
| Tassi di interesse | Alta | Mensile / Settimanale | Ancorati fondamentalmente all’inflazione |
| VIX / Volatility | Alta | Daily / Weekly | La volatilità torna sempre a livelli normali |
| Spread obbligazionari | Alta | Settimanale | Pairs trading obbligazionario |
| XAUUSD (oro) | Media-alta condizionale | H4 — solo con Ulcer Index gate | MR forte solo in fasi di drawdown estremo |
| Forex majors | Media | H4 / Daily in fasi range | Solo in fasi laterali, non in trend |
| S&P500 equity | Media | Daily / Weekly | Trend di lungo, MR su correzioni |
| Crypto | Bassa in bull market | N/A in regime bull | Alta persistenza del trend |
💡 Mean reversion condizionale, non incondizionale
Non basta dire “XAUUSD è mean-reverting”. La domanda corretta è: “XAUUSD è più probabile che sia mean-reverting adesso, date le condizioni correnti degli indicatori statistici?” Oracle v78 usa l’Ulcer Index come gate condizionale: entra solo quando la probabilità empirica di mean reversion è massimizzata, non in modo generico.
4. Strategie Operative: RSI, Bollinger, Z-Score
RSI in Ipervenduto / Ipercomprato
L’RSI (Wilder 1978) misura la velocità delle variazioni di prezzo. RSI < 30 = ipervenduto (potenziale segnale long MR). RSI > 70 = ipercomprato (potenziale segnale short MR). Problema: in mercati in trend forte, l’RSI può rimanere in territorio estremo per decine di candele. Il segnale RSI è necessario ma non sufficiente per la mean reversion — genera molti falsi segnali senza un filtro di regime.
Bande di Bollinger
Le Bollinger Bands (1983) tracciano ±2 deviazioni standard dalla media mobile a n periodi. La logica teorica: prezzi fuori dalla banda hanno il 95% di probabilità di tornare dentro (se i rendimenti fossero normali). Problema: i rendimenti finanziari non sono normali — hanno code pesanti (fat tails). Le rotture di banda in alta volatilità tendono a essere segnali di momentum, non di mean reversion. Usato come segnale standalone, sovraperforma in backtesting ma sottoperforma in forward test.
Z-Score rispetto alla media mobile
Il metodo più robusto. Lo Z-Score misura di quante deviazioni standard il prezzo corrente si discosta dalla sua media mobile a N periodi. Soglie operative: Z < −2 = potenziale segnale long; Z > +2 = potenziale segnale short. L’uscita avviene quando Z ritorna verso 0 (ritorno alla media).
Soglie empiriche per XAUUSD H4 (analisi su 5 anni):
• Z < −1,5 con Ulcer Index > 80° percentile: WR empirico ~46%
• Z < −1,5 senza filtro Ulcer: WR empirico ~39%
• Il filtro Ulcer aggiunge ~7 punti percentuali di win rate selezionando le condizioni migliori.
5. I 4 Errori Fatali nella Mean Reversion
Errore 1: Comprare “perché è sceso tanto”
La mean reversion statistica non dice che il prezzo tornerà a una media specifica in un tempo specifico. Un prezzo che è sceso molto può continuare a scendere se il mercato è in trend direzionale. Comprare “perché è sceso tanto” è scommettere su MR senza verifica statistica del regime. I dati dicono che questa strategia ha WR intorno al 39% su XAUUSD H4 senza filtri — positivo, ma non ottimale.
Errore 2: Applicare MR in mercati in trend forte
In un mercato con H > 0,6 (alta persistenza del trend), le deviazioni dalla media non sono temporanee — sono la struttura del trend stesso. Un sistema mean reversion applicato in trend forte genera operazioni con perdite sistematiche: le perdite sono grandi (il trend continua contro di te) e i profitti sono piccoli (il prezzo rimbalza poco prima di riprendere il trend). È uno dei pattern di perdita più distruttivi nel trading sistematico.
⛔ Vendere “perché è troppo salito”
Aprire una posizione short su un mercato in uptrend forte basandosi su mean reversion è una delle cause principali di perdite gravi tra i trader retail. Il mercato può continuare a salire indefinitamente. Senza un gate di regime che discrimina tra fasi di trend e fasi laterali, la strategia MR diventa un modo sistematico per vendere allo scoperto in mercati rialzisti.
Errore 3: Nessuno stop loss — “tornerà prima o poi”
Un sistema mean reversion senza stop loss si basa sull’assunzione che il prezzo tornerà sempre alla media. “Prima o poi” può significare mesi o anni durante i quali il drawdown aperto cresce fino alla margin call. Ogni sistema MR deve avere un livello di stop loss che invalida la tesi: “a questo punto, il mercato non è in regime mean-reverting, è in trend”. Oracle v78 usa uno stop fisso su ogni operazione — non esistono trade aperti a tempo indefinito.
Errore 4: Overfitting dei parametri
Ottimizzare i parametri di un sistema MR (lunghezza della MA, soglie Z-Score, periodi RSI) sulla finestra storica disponibile produce risultati eccellenti in backtest e medi o negativi in forward test. La soluzione: usare parametri conservativi basati su fondamento teorico (come l’Ulcer Index) e testare su finestre out-of-sample separate. La differenza tra un sistema robusto e uno overfittato è sempre evidente nel primo anno di operatività live.
6. Oracle v78 e la Mean Reversion sull’Oro: i Dati
Oracle v78 usa un approccio di mean reversion condizionale su XAUUSD H4. Non è MR pura — è un sistema ibrido che sfrutta la mean reversion in condizioni specifiche, filtrate dall’Ulcer Index percentile, con gestione del trade in stile trend following (RR 1:3).
Il gate di mean reversion di Oracle v78 funziona così: per ogni potenziale segnale, il sistema calcola l’Ulcer Index corrente su H4 e lo confronta con la distribuzione storica degli ultimi 100 periodi. Solo se l’Ulcer Index corrente supera l’80° percentile della distribuzione storica — ovvero il prezzo è in un drawdown statisticamente estremo rispetto alla norma recente — il segnale viene trasmesso ai gate successivi del sistema. Questo filtro riduce il numero di segnali totali ma aumenta la qualità statistica di quelli che passano.
| Condizione Ulcer Index | Win rate empirico | Frequenza segnali | Utilizzo Oracle |
|---|---|---|---|
| UI < 50° percentile | ~33% | Alta | ✘ Filtrato — non genera segnali |
| UI 50°–79° percentile | ~38% | Media | ⚠ Ingresso parziale con conferma |
| UI ≥ 80° percentile | ~46% | Selettiva | ✔ Zona preferenziale Oracle v78 |
7. Implementazione MQL5: Gate Ulcer Index per Mean Reversion
// Gate di mean reversion basato su Ulcer Index percentile
// Componente semplificata del sistema Oracle v78
input int ULCER_PERIOD = 14;
input int PERCENTILE_WIN = 100;
input double PERCENTILE_THR = 80.0;
double CalcolaUlcerIndex(int period, int shift = 0)
{
double maxHigh = 0;
double sumSq = 0;
for(int i = shift; i < shift + period; i++)
{
double h = iHigh(_Symbol, PERIOD_H4, i);
if(h > maxHigh) maxHigh = h;
double c = iClose(_Symbol, PERIOD_H4, i);
if(maxHigh > 0)
{
double dd = (maxHigh - c) / maxHigh * 100.0;
sumSq += dd * dd;
}
}
return MathSqrt(sumSq / period);
}
double CalcolaUlcerPercentile()
{
double ui_now = CalcolaUlcerIndex(ULCER_PERIOD, 0);
int cnt = 0;
for(int i = 1; i <= PERCENTILE_WIN; i++)
if(CalcolaUlcerIndex(ULCER_PERIOD, i) < ui_now) cnt++;
return (double)cnt / PERCENTILE_WIN * 100.0;
}
bool GateMeanReversion()
{
double pct = CalcolaUlcerPercentile();
Print("Ulcer percentile: ", DoubleToString(pct, 1), "%");
return (pct >= PERCENTILE_THR);
}
8. Mean Reversion vs Trend Following: Quale Scegliere
| Caratteristica | Mean Reversion | Trend Following |
|---|---|---|
| Win rate tipico | 55–70% | 35–45% |
| Rapporto R/R tipico | 1:1 – 1:1,5 | 1:2 – 1:5 |
| Performance in mercati laterali | Ottima | Scarsa — whipsaw continui |
| Performance in trend forte | Scarsa — taglia profitti | Ottima |
| Drawdown in trend prolungati | Elevato (va contro il trend) | Basso |
| Oracle v78 usa questo approccio | ✔ Ingresso condizionale (UI gate) | ✔ Gestione trade (RR 1:3) |
Oracle v78 usa un approccio ibrido deliberato: la logica di ingresso è di tipo mean reversion (Ulcer Index gate > 80° percentile seleziona le condizioni di massima probabilità di rimbalzo), mentre la logica di gestione del trade è di tipo trend following (RR 1:3, take profit lontano 3 volte lo stop loss). Questo combina l’alta qualità degli ingressi della MR con l’asimmetria favorevole del TF — ed è ciò che spiega il 42,1% di win rate con Profit Factor 1,44 su 65.587 operazioni.
✔ La combinazione vincente
Entrare solo in condizioni di mean reversion statisticamente favorevoli (Ulcer Index > 80° percentile) ma gestire il trade con RR 1:3 produce il meglio di entrambi gli approcci: alta selettività degli ingressi grazie alla MR, profitti asimmetrici grazie al TF. Questo è il nucleo quantitativo di Oracle v78.