Cos'è il Modello GARCH e Perché è Fondamentale nel Trading?
Il GARCH nel trading è un modello statistico che stima la volatilità condizionale di una serie temporale dei prezzi, sviluppato da Tim Bollerslev nel 1986 come estensione del modello ARCH di Robert Engle (1982, Premio Nobel per l'Economia 2003). La formula GARCH(1,1) usa 3 parametri per catturare il volatility clustering — il fenomeno per cui alta volatilità tende a seguire alta volatilità. Oracle v78 applica GARCH su XAUUSD H4 con parametri α=0,10 β=0,85 ottenendo persistenza 0,95 e miglioramento Profit Factor di +0,08.
Il modello GARCH (Generalized Autoregressive Conditional Heteroskedasticity) è stato sviluppato da Tim Bollerslev nel 1986 come estensione del modello ARCH di Robert Engle (1982, Premio Nobel Economia 2003). L'intuizione fondamentale è semplice: la volatilità dei mercati finanziari non è costante nel tempo — varia e tende a raggrupparsi in cluster. Periodi di alta volatilità tendono a essere seguiti da altri periodi di alta volatilità. Periodi tranquilli tendono a restare tranquilli finché qualcosa non li rompe.
Questo fenomeno — il volatility clustering — è uno dei fatti empirici più robusti della finanza quantitativa, documentato su tutti i mercati e tutti i timeframe dal giornaliero all'intraday. Il GARCH lo cattura con un modello parsimonioso a 3 parametri che nella pratica supera modelli molto più complessi nella previsione della volatilità a breve termine.
Perché Engle Vinse il Nobel con ARCH
Robert Engle ricevette il Nobel 2003 per aver dimostrato che la volatilità è prevedibile anche quando i rendimenti sono imprevedibili. Prima di ARCH (1982), l'assunzione standard era omoschedasticità — varianza costante. Engle mostrò con evidenza empirica che la varianza cambia sistematicamente nel tempo e questa variazione è modellabile. Il modello ARCH apriva la strada a tutta la finanza quantitativa moderna, dai derivati alle strategie di risk management istituzionali.
La Generalizzazione di Bollerslev (GARCH)
Nel 1986 Tim Bollerslev, dottorando di Engle, estese il modello aggiungendo la dipendenza da varianze condizionali passate. Questa generalizzazione permette di catturare la persistenza della volatilità con molti meno parametri rispetto a un ARCH di ordine alto. GARCH(1,1) usa solo 3 parametri dove un ARCH(8) ne userebbe 9 — parsimonia = robustezza out-of-sample = meno overfitting. Per questa ragione GARCH(1,1) è lo standard de facto nell'industria 40 anni dopo la sua invenzione.
Quali Sono i Tre Regimi di Volatilità in Oracle v78?
Oracle v78 usa la volatilità GARCH stimata per classificare ogni barra H4 in uno di tre regimi. La classificazione non è soggettiva: è puramente quantitativa, basata sul rapporto tra σ(t) stimato e la media mobile a 252 barre della volatilità storica.
| Regime | Condizione | Size Adjustment | WR Storico Oracle | Note |
|---|---|---|---|---|
| Bassa Volatilità | σ(t) < 0,8 × σ_media | +10% size | 44,8% | Trend più persistenti |
| Normale | 0,8 ≤ σ(t) ≤ 1,5 × σ_media | Size standard | 42,1% | Regime base del sistema |
| Alta Volatilità | σ(t) > 1,5 × σ_media | −30% size | 38,3% | Pattern statistici degradati |
Perché la Soglia 0,8× per Bassa Volatilità
La soglia 0,8 per classificare il regime "bassa volatilità" non è arbitraria. È il percentile 25 della distribuzione storica di σ(t)/σ_media su XAUUSD H4 2009-2026. Sotto questa soglia cadono circa il 25% delle barre. Il +10% di size in questo regime sfrutta la persistenza aumentata dei trend in mercati tranquilli — documentata statisticamente dal differenziale di WR (44,8% vs 42,1% normale).
Perché la Soglia 1,5× per Alta Volatilità
La soglia 1,5 corrisponde al percentile 92 della distribuzione — cioè solo l'8% delle barre hanno volatilità "alta" secondo questa definizione. In questo regime i pattern statistici degradano: WR scende al 38,3% (-3,8pp vs normale), equity curve più frastagliata, drawdown intra-trade più profondi. La riduzione del 30% della size preserva l'aspettativa matematica ma riduce il rischio di rovina in serie avverse.
In regime di alta volatilità GARCH, il Win Rate di Oracle scende dal 42,1% al 38,3%. Non perché il segnale sia sbagliato — ma perché in quei periodi i movimenti estremi rendono i pattern statistici meno affidabili. Ridurre la size del 30% non elimina il trade: calibra il rischio al regime reale. — Manuel Trotta, Fondatore MTInvestments
Come Implementare GARCH in MQL5 per Oracle v78?
L'implementazione di GARCH(1,1) in MQL5 non richiede librerie esterne. La stima dei parametri ω, α, β viene fatta off-line (Python o Excel con Solver) e i valori calibrati vengono inseriti come input dell'indicatore. Il calcolo della volatilità condizionale in tempo reale è ricorsivo: richiede solo il rendimento inatteso corrente e la varianza stimata alla barra precedente.
Complessità computazionale: O(1) per barra — il calcolo GARCH è tra i più efficienti di Oracle. Non richiede finestre di dati ampie come Hurst o Copula. Su una VPS con CPU a 2,4GHz, il calcolo GARCH aggiunge meno di 0,01ms per barra H4 al tempo totale di elaborazione dell'indicatore.
Struttura del Codice OnCalculate
Il cuore dell'implementazione sta in OnCalculate: per ogni nuova barra completata, calcolare il rendimento r(t) = log(Close[t]/Close[t-1]), sottrarre la media mobile µ per ottenere u(t), elevare al quadrato e aggiornare σ²(t) secondo la formula ricorsiva. Le uniche variabili persistenti sono σ²(t-1) e u²(t-1) — la memoria richiesta è minima. Oracle espone il valore σ(t) come buffer dell'indicatore per lettura tramite iCustom dall'EA principale.
Stima Parametri Off-line con Python
La libreria arch di Kevin Sheppard (Oxford University) è lo standard per la stima GARCH in Python. Carichi la serie dei rendimenti H4, istanzi un modello arch_model(returns, vol='Garch', p=1, q=1) e chiami fit() — restituisce ω, α, β con intervalli di confidenza e diagnostica di fit. Oracle v78 ri-stima i parametri ogni 252 barre con questo pipeline automatizzato. I valori vengono salvati in file JSON letto dall'indicatore MQL5 all'OnInit.
Su 65.587 trade: 2.886 trade in regime di alta volatilità con size ridotta del 30%.
Il filtro GARCH ha migliorato il PF di Oracle da 1,36 a 1,44 (+0,08) mantenendo invariata la logica di segnale. L'impatto non proviene dall'eliminazione dei segnali in alta volatilità — ma dalla riduzione della size. I trade in regime alto continuano: pesano semplicemente meno sul risultato complessivo.
Questa è la potenza del risk management adattivo: non si tratta di prevedere il mercato meglio, ma di rischiare meno quando le condizioni statistiche sono meno favorevoli. Oracle v78 integra GARCH dal 2019 — prima di quella versione il PF era 1,36, dopo l'introduzione è salito stabilmente a 1,44.
Vedi GARCH in Azione su Oracle dal Vivo
Live gratuite: iscriviti alla prossima. Il regime di volatilità GARCH corrente è visibile sul dashboard Oracle in tempo reale — con classificazione dei tre regimi e size adjustment automatico.
Entra Gratis Ora → Hurst Exponent: Guida →Quali Sono gli Errori più Comuni con il GARCH?
Dopo anni di esperienza vedo sempre gli stessi sbagli ripetuti da trader che provano ad applicare GARCH senza capirlo a fondo.
Errore 1: Usare GARCH come Segnale Direzionale
GARCH stima la magnitudo della volatilità futura, non la direzione. Alta σ(t) stimata NON significa "il mercato salirà" o "il mercato scenderà" — significa "il mercato si muoverà con grande escursione". Per decidere la direzione serve un altro componente del sistema (breakout, trend following, pattern price action). GARCH è uno scaler di rischio, non un segnale di entrata.
Errore 2: Non Rispettare Vincolo di Stazionarietà
Il vincolo α + β < 1 è cruciale. Se α + β ≥ 1, il modello diventa "integrato" (IGARCH) e la varianza incondizionale è infinita — non ha senso statistico. Ho visto trader ottimizzare brutalmente ω, α, β senza vincolo e ottenere parametri instabili che rompono il backtest. Oracle v78 impone il vincolo in sede di calibrazione MLE.
Errore 3: Non Aggiornare i Parametri
I parametri GARCH cambiano nel tempo. Stimarli una volta nel 2015 e usarli nel 2026 è un errore. Oracle v78 ri-stima ogni 252 barre H4 (~42 giorni) su finestra rolling di 2000 barre. Questo aggiornamento è CONSERVATIVO — se i nuovi parametri differiscono >20% dai precedenti, Oracle applica smoothing per evitare jump bruschi che destabilizzerebbero l'equity curve.
Riepilogo: GARCH Model in 5 Punti Chiave
- Cosa misura: volatilità condizionale futura sulla base di rendimenti passati e varianze passate. GARCH(1,1): σ²(t) = ω + α·u²(t-1) + β·σ²(t-1).
- Chi l'ha inventato: Engle (ARCH 1982, Nobel 2003), Bollerslev (GARCH 1986, generalizzazione parsimoniosa).
- Parametri Oracle XAUUSD H4: α=0,10, β=0,85 — persistenza α+β=0,95 tipica dell'oro.
- Uso operativo: classificazione in 3 regimi (bassa/normale/alta volatilità) con size adjustment +10%/standard/-30%.
- Impatto misurato: +0,08 Profit Factor su 65.587 trade — passaggio da PF 1,36 a 1,44.
FAQ — GARCH Model Trading
- — Engle, R.F. (1982): "Autoregressive Conditional Heteroskedasticity with Estimates of the Variance of United Kingdom Inflation", Econometrica. Paper originale ARCH, Premio Nobel 2003. Econometrica Journal
- — Bollerslev, T. (1986): "Generalized Autoregressive Conditional Heteroskedasticity", Journal of Econometrics, vol. 31. Paper originale GARCH. Journal of Econometrics
- — Sheppard, K.: libreria Python arch (Oxford University) — standard per stima GARCH. GitHub arch-python
- — CONSOB — Quaderni di Finanza: ricerche su volatilità e rischio mercati. Quaderni CONSOB
- — Banca d'Italia — Temi di Discussione su modelli econometrici finanziari. Temi di Discussione BdI
