Capstone 4 - Volatility Modeling
Measure realized volatility, back out implied volatility, model conditional variance with GARCH, and confront the volatility smile.
Leads to: Volatility estimates feed risk models and execution (Capstones 5–7); the smile motivates model risk.
Learning Objectives
Click a status chip to cycle: Not started → In progress → Studied → Practiced → Needs review → Mastered.
- Estimate realized volatility from returns and annualize it correctly.
- Invert Black–Scholes to recover implied volatility and explain its meaning.
- Fit a GARCH(1,1) conditional-variance model and interpret persistence.
- Explain the volatility smile/skew and why it falsifies constant-volatility Black–Scholes.
- Validate a volatility estimate against a simulated ground truth.
Key Vocabulary
- Realized volatility
- An estimate of \(\sigma\) from historical returns, e.g. \(\sqrt{252}\cdot\text{sd of daily returns}\).
- Implied volatility
- The \(\sigma\) that makes the Black–Scholes price equal the observed market price of an option.
- Volatility smile
- The empirical pattern that implied vol varies with strike/moneyness, contradicting constant-\(\sigma\) BS.
- GARCH(1,1)
- A model \(\sigma_t^2=\omega+\alpha\epsilon_{t-1}^2+\beta\sigma_{t-1}^2\) capturing volatility clustering.
- Volatility clustering
- The tendency of large moves to follow large moves; autocorrelation in squared returns.
- Persistence
- In GARCH, \(\alpha+\beta\); close to 1 means shocks to variance decay slowly.
Intuition & Motivation
The empirical smile is the crack in the Black–Scholes edifice: if the model were literally true, implied vol would be flat across strikes. It isn’t. That single fact - visible in every option market - is the honest starting point for everything in Phase 15 and a standing reminder that models are approximations, not truth (a theme for Capstone 5’s model risk).
The brief
Build a small volatility toolkit: realized vol, implied vol (inverting the Capstone-3 pricer), and a GARCH(1,1) fit. Validate the realized estimator against a simulated series with known \(\sigma\), and document the smile qualitatively. Deliverable: code, a validation showing recovery of the true \(\sigma\), and a paragraph on why the smile matters.
Required theory recap
- Realized vol (Phase 12): \(\hat\sigma_{\text{ann}}=\sqrt{252}\;\text{sd}(r_t)\) for daily log returns \(r_t\).
- Implied vol (Phase 15): solve \(C_{\text{BS}}(\sigma_{\text{imp}})=C_{\text{mkt}}\) for \(\sigma_{\text{imp}}\) (vega \(\gt 0\) ⇒ unique).
- GARCH (Phase 12): \(\sigma_t^2=\omega+\alpha\epsilon_{t-1}^2+\beta\sigma_{t-1}^2\); stationary if \(\alpha+\beta\lt 1\).
- Smile (Phase 15): implied vol as a function of strike is not flat - skew/smile encodes fat tails and jumps.
Realized volatility and its estimation error
For daily log returns, the annualized realized volatility and its own sampling error are:
Implied volatility: inverting the pricer
Because the call price is strictly increasing in \(\sigma\) (positive vega), the equation \(C_{\text{BS}}(\sigma)=C_{\text{mkt}}\) has a unique root, found by bisection or Newton. Implied vol is the market’s consensus forward-looking volatility - a quote in vol units, not a physical measurement.
GARCH(1,1): volatility clusters
Squared returns are autocorrelated: big days cluster. GARCH captures this with a variance that mean-reverts but remembers recent shocks. The long-run (unconditional) variance and persistence are:
Typical equity estimates have \(\alpha+\beta\approx0.95\text{–}0.99\): shocks to volatility decay slowly, which is why a turbulent week raises expected vol for many days.
The volatility smile
Plotting implied vol against strike (or moneyness) for a fixed maturity yields a smile or skew, not a flat line. Under exact Black–Scholes it would be flat. The smile is the market pricing in fat tails, jumps, and stochastic volatility - the empirical falsification of the constant-\(\sigma\) assumption, and the reason Phase 15 exists.
The implied-vol module reuses the Capstone-3 bs_call as its single source of truth (17.4); the validator uses simulation because only then is the true \(\sigma\) known.
- Annualizing with 365 instead of ~252 trading days, or mixing simple and log returns.
- Treating a realized-vol point estimate as exact - ignoring its \(\sim\hat\sigma/\sqrt{2n}\) standard error.
- Expecting the implied-vol smile to be flat because ‘Black–Scholes says so’ - it never is.
- Fitting GARCH with \(\alpha+\beta\ge1\) and calling it stationary (it isn’t; variance is non-stationary).
- Confusing implied vol (forward, from prices) with realized vol (backward, from returns) - they need not match.
- Validating a vol estimator on real data where the ‘true’ \(\sigma\) is unknown, so you can’t grade it.
- Annualize with the actual periods-per-year of your data; state the convention explicitly.
- Always report a vol estimate with its standard error \(\hat\sigma/\sqrt{2n}\).
- Recover implied vol by bisection on the monotone price–vol relation; reuse your validated pricer.
- Check GARCH stationarity \(\alpha+\beta\lt 1\); interpret \(\alpha+\beta\) as persistence.
- Validate estimators on simulated data with a known \(\sigma\); only there do you have ground truth.
Interactive: realized vol and implied vol, validated
Implement the realized-vol estimator and an implied-vol solver, then confirm the realized estimator recovers a simulated true \(\sigma\) and the implied solver inverts the pricer.
Knowledge Check
Practical Exercise
You are handed 250 daily returns and asked whether the asset’s volatility ‘increased’ from the first half to the second half (0.16 vs 0.19 annualized). (a) Compute the approximate standard error of each half’s estimate. (b) Is the increase statistically meaningful? (c) What model would you fit if you believe volatility genuinely changes over time, and what parameter would you inspect?
(a) Each half has \(n\approx125\) days, so \(\text{SE}\approx\hat\sigma/\sqrt{2n}=\hat\sigma/\sqrt{250}\approx\hat\sigma/15.8\)): about \(0.16/15.8\approx0.010\) and \(0.19/15.8\approx0.012\).
(b) The gap is \(0.19-0.16=0.03\); the SE of the difference is \(\sqrt{0.010^2+0.012^2}\approx0.016\). So the change is \(0.03/0.016\approx1.9\) standard errors - borderline, not clearly significant at 95%. With only 125 days per half you cannot confidently claim volatility rose.
(c) Fit a GARCH(1,1) (or EWMA) to model time-varying conditional variance. Inspect the persistence \(\alpha+\beta\): high persistence supports genuine, slowly-decaying regime changes rather than noise, and the fitted \(\sigma_t\) path shows when vol rose.
Lesson Summary
Retrieval Practice
Close the lesson and answer from memory before checking. This is deliberate, effortful recall - the single highest-yield study action.
A: \(\hat\sigma_{\text{ann}}=\sqrt{252}\,\text{sd}(r_t)\) for daily log returns, with \(\text{SE}(\hat\sigma)\approx\hat\sigma/\sqrt{2n}\) - so vol estimates from one year of data are only ~4.5% precise.
A: That implied volatility varies with strike, whereas exact constant-\(\sigma\) Black–Scholes predicts a flat curve. The smile falsifies the constant-vol assumption and motivates stochastic-volatility and jump models.
Completion Checklist
- I can explain the core ideas in my own words
- I worked the derivations/examples by hand
- I completed the interactive workbench(es)
- I passed the knowledge check
Source References
This lesson synthesizes and paraphrases concepts from the sources below. No copyrighted text, problem sets, or solutions are reproduced. Return to the originals for full depth.
- The Volatility Surface (Jim Gatheral, 2006) foundational - Ch. 1-3 - The volatility surface, implied vol, and the smile/skew as the empirical falsification of flat BS.
- Time Series Analysis (James Hamilton, 1994) foundational - Ch. 21 - GARCH conditional-variance models, volatility clustering, and stationarity conditions.
- Monte Carlo Methods in Financial Engineering (Paul Glasserman, 2004) foundational - Ch. 3 - Simulating GBM returns to validate volatility estimators against a known ground truth.