GARCH Model nel Trading: Cos'è, Formula e Uso Operativo | Manuel Trotta

GARCH Model nel Trading: Formula, Volatility Clustering e Uso Operativo

Il GARCH è uno dei 6 modelli AI integrati in Oracle v78. Cattura il volatility clustering — il fenomeno per cui alta volatilità tende a seguire alta volatilità — e adatta il position sizing al regime corrente su ogni barra H4. Formula esatta, calibrazione, tre regimi di volatilità e impatto reale sui 65.587 trade verificati.

0.95
α+β Persistenza XAUUSD
+0,08
PF Guadagnato
8%
Trade in Alta Vol
O(1)
Complessità Calcolo

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.

◆ Formula GARCH(1,1) — Completa con Parametri Oracle
σ²(t) = ω + α · u²(t−1) + β · σ²(t−1)
dove: u(t) = r(t) − μ [rendimento inatteso]
Parametri Oracle XAUUSD H4: ω=0,0000018, α=0,10, β=0,85
Persistenza: α + β = 0,95 [alta, tipica mercati finanziari]
Varianza incondizionale: σ²_LT = ω / (1 − α − β) = 0,000036
Volatilità long-term annualizzata: √(0,000036 × 1512) ≈ 23,3%
α = 0,10: peso del rendimento inatteso recente. β = 0,85: peso della varianza stimata precedente (memoria). Alta persistenza (α+β = 0,95) significa che gli shock di volatilità si dissipano lentamente — confermato dal comportamento empirico dell'oro su H4.

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.

RegimeCondizioneSize AdjustmentWR Storico OracleNote
Bassa Volatilitàσ(t) < 0,8 × σ_media+10% size44,8%Trend più persistenti
Normale0,8 ≤ σ(t) ≤ 1,5 × σ_mediaSize standard42,1%Regime base del sistema
Alta Volatilitàσ(t) > 1,5 × σ_media−30% size38,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.

◆ Oracle v78 — GARCH come Filtro di Regime
+0,08 PF rispetto alla versione senza filtro GARCH.
Su 65.587 trade: 2.886 trade in regime di alta volatilità con size ridotta del 30%.
0.95
α+β Persistenza
+0,08
PF Guadagnato
8%
Trade in Alto Vol
O(1)
Complessità

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.

FAQ — GARCH Model Trading

Cos'è il modello GARCH nel trading? ▶
Modello statistico per la volatility condizionale. Formula GARCH(1,1): σ²(t) = ω + α·u²(t−1) + β·σ²(t−1). Cattura il volatility clustering: alta volatility tende a seguire alta volatility. Sviluppato da Bollerslev nel 1986 estendendo ARCH di Engle (Nobel 2003). Oracle usa α=0,10, β=0,85 su XAUUSD H4. Il filtro GARCH ha migliorato il PF di Oracle da 1,36 a 1,44 — +0,08 punti su 65.587 trade reali verificati.
Cos'è il volatility clustering? ▶
Il fenomeno per cui periodi di alta volatilità tendono a essere seguiti da altri periodi di alta volatilità. È uno dei fatti empirici più robusti della finanza quantitativa, documentato su tutti i mercati e timeframe. Il GARCH modella esplicitamente questo comportamento attraverso il parametro β (memoria della varianza passata). Su XAUUSD H4, la persistenza α+β=0,95 indica che gli shock di volatilità si dissipano in circa 20 barre H4 (~3,3 giorni).
Come si usano i parametri GARCH operativamente? ▶
Si stima σ(t) a ogni barra e si confronta con la media storica. Se σ(t) > 1,5×σ_media: regime alta volatilità, riduci size del 30%. Se σ(t) < 0,8×σ_media: regime bassa volatilità, puoi aumentare size del 10%. Non si usano come filtro che blocca i segnali: si usano come moltiplicatore dinamico della size — rischi di più quando le condizioni sono favorevoli, di meno quando non lo sono. Oracle v78 implementa questa logica dal 2019.
Qual è la differenza tra ARCH e GARCH? ▶
ARCH(q) modella solo la dipendenza dai rendimenti inattesi passati. GARCH(p,q) aggiunge dipendenza dalle varianze condizionali passate. GARCH(1,1) è il modello standard: usa 3 parametri ω, α, β e cattura il 95% del volatility clustering con la massima parsimonia. Modelli più complessi (GARCH con ordini maggiori, EGARCH, TGARCH) raramente migliorano out-of-sample — overfitting è il rischio principale. Oracle v78 usa GARCH(1,1) per questa ragione strutturale.
Il GARCH funziona su tutti i timeframe? ▶
Sì, il volatility clustering è osservabile da M1 a D1, ma i parametri cambiano. Timeframe bassi (M1-M15): persistenza minore α+β≈0,7-0,8 — il rumore microstrutturale domina. Timeframe alti (H4-D1): persistenza alta α+β≈0,95 — veri regime shift macroeconomici. Oracle v78 usa H4 perché bilancia numerosità di barre (sufficiente per stima stabile) e rilevanza dei regimi (persistenza elevata). Su M5 il GARCH è rumoroso, su W1 è troppo lento.
◆ Fonti Esterne e Approfondimenti
  • — 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
Manuel Trotta — Trader quantitativo, fondatore MTInvestments, autore Hoepli
◆ Scritto da

Manuel Trotta

Trader quantitativo italiano dal novembre 2007. Fondatore MTInvestments, creatore UlcerZenith Oracle v78 con 65.587 trade reali verificati. Autore di 18 libri sul trading e finanza personale: "Fare Trading con Excel" (Hoepli 2019), "Diventa Investitore Profittevole in 15 Minuti al Giorno", "Il Latte con la Mucca" (memoir 2026), più 2 volumi tecnici. Speaker IT Forum Rimini. Online dal 2007 — stesso nome, stessa P.IVA.

P.IVA 14349331000 Dal 2007 18 Libri su Amazon ↗ 150K+ Follower
Disclaimer MiFID II: Il trading su strumenti finanziari comporta rischio di perdita del capitale investito, fino alla perdita totale. I dati Oracle citati si riferiscono a performance storiche verificabili su conto reale — non costituiscono garanzia di risultati futuri. Le performance passate non sono indicative di risultati futuri. Nessun contenuto costituisce consulenza finanziaria ai sensi del D.Lgs. 58/1998 (TUF). Manuel Trotta / MTInvestments P.IVA 14349331000.