Back

GARCH Volatility Modeler

Fit a GARCH(1,1) to daily returns, visualize volatility clustering, and compare GARCH-based position sizing against simple rolling window methods.

Feb 23, 2026, Eric

The Core Idea

Volatility clusters — big moves follow big moves, quiet periods follow quiet periods. GARCH (Generalized Autoregressive Conditional Heteroskedasticity) models this by making tomorrow's volatility a function of today's return and today's volatility. This is how professional desks forecast vol for position sizing and options pricing. A simple rolling window reacts slowly; GARCH updates immediately after every observation.

Data & Parameters

500 observations loaded

GARCH(1,1) Parameters

ω (omega)

8.927e-6

α (alpha)

0.08

β (beta)

0.90

Persistence (α+β)

0.980

Unconditional Vol (ann.)

33.5%

Half-life (days)

34.3

Log-likelihood

1257.0

Volatility Analysis

Returns with GARCH ±2σ Bands

-9.7%-4.8%0.0%4.8%9.7%

Conditional Volatility: GARCH vs Rolling Window

0%18%36%54%73%GARCH20-day Rolling

Position Size ($100k account, 1% risk)

0726145221782904GARCH sizingRolling sizing

What This Means

Persistence = 0.980. Volatility shocks take ~34 days to decay by half. This is very persistent (near IGARCH) — a single bad day affects your volatility estimate for weeks. Common in equity markets.
Alpha = 0.08 controls reactivity. Low alpha means the model updates gradually — it doesn't overreact to individual outliers. Beta = 0.90 controls memory. Moderate beta means the model forgets past volatility somewhat quickly.
Position sizing edge: GARCH adjusts position size immediately after volatility spikes, while the 20-day rolling window takes weeks to fully react. This faster adjustment means smaller positions during dangerous periods and larger positions when the market calms down.