Joint SPX/VIX Volatility Research System  ·  14 components  ·  573 tests  ·  live market data  ·  by Navnoor Bawa
κ (kappa)
1.7685
Mean reversion speed
Half-life = 98.7d
θ (theta)
0.06656
Long-run variance
√θ = 25.8% ann vol
σ (vol-of-vol)
0.4603
Vol of variance
Controls smile curvature
ρ (rho)
-0.95
Spot-vol correlation
AT BOUNDARY
v₀ (v-naught)
0.01265
Initial variance
√v₀ = 11.25% spot vol
SPX IV RMSE
0.523 vol pts
Good fit
VIX Futures RMSE
0.528 pts
Acceptable futures fit
VIX Options RMSE
DISABLED
Heston CIR density underestimates vol-of-vol path uncertainty. RMSE was 37.14 pts — structural failure. w₃ = 0.0 (was 0.2).
Calibration Performance
11.1s
7,974 evaluations
DE (120 iter × 40) + L-BFGS-B
SPX Implied Volatility Smile — All Maturities
Calibrated Parameter Summary
Parameter Symbol Value Interpretation
Mean reversion κ 1.7685 Half-life ≈ 99 trading days
Long-run vol √θ 25.8% Steady-state implied vol target
Vol-of-vol σ 0.4603 High: drives strong skew / smile
Correlation ρ -0.95 ⚠ BOUNDARY Extreme leverage effect — needs jumps
Spot vol √v₀ 11.25% Current instantaneous vol
Risk-free rate r 4.5% USD 6M SOFR (2026-03)
Dividend yield q 1.3% SPX continuous div yield
Feller margin 2κθ − σ² +0.023562 PASS — variance stays positive
SPX level: 7580.1
As-of date: 2026-05-31
Fit time: 11.1s
DE evaluations: 7,974
RMSE Decomposition — Loss Components
HMM Regime Classifier — Limitations
HMM trained 2010–2019. Out-of-distribution on 2025 tariff regime — misclassifies 2025-04-09 as R1. Use XGBoost for production classification. HMM is available as a research alternative via HMMRegimeClassifier in regime_classifier.py.
C13 — Two-Factor Quintic OU Model (Research)
σ(t) = g₀(t) · p(Z_t)  ·  Z_t = θX_t + (1−θ)Y_t  ·  p(z) = α₀ + α₁z + α₃z³ + α₅z⁵  ·  VIX priced via 2D Gauss-Hermite ≈ 500 pts
Parameter Symbol Value Description
Fast OU speed λx 168.48 Fast factor half-life ≈ 1.04d
Slow OU speed λy 10.543 Slow factor half-life ≈ 16.6d
Factor weight θ 2.8539 Fast-factor loading in Z_t
Poly constant α₀ 0.4061 Sets vol floor
Poly linear α₁ -0.9404 Linear skew driver
Poly cubic α₃ 0.8877 Smile curvature
Poly quintic α₅ -0.4895 Wing correction
Leverage (corr) ε -0.1823 Spot-vol correlation (leverage)
MetricHestonQuintic OUΔ
SPX IV RMSE (vp) 0.523 2.343 +1.820
VIX Fut RMSE (pts) 0.528 0.001 -0.527
VIX Opt RMSE (vp) DISABLED 17.53
Fit time: 2751.8s
Evaluations: 2,813
MC paths: 6,000/expiry
VIX quad: 18² = 324 pts
Key advance over Heston: VIX options are analytically tractable via 2D Gauss-Hermite quadrature — no structural failure of the pricing kernel. The non-affine polynomial structure captures steep SPX left skew without rho saturating. VIX futures fit to 0.001 pts (ξ₀ bootstrapped from the VIX term structure). Model: models/quintic_ou.py · Calibrator: calibration/quintic_calibrator.py
Honest limitation: VIX-option RMSE of ~17.5 vp beats Heston's 37.1 vp (a ~53% reduction) but does not yet reach the <10 vp research target. The residual is in the VIX-smile wings — the degree-5 polynomial under-fits far-OTM VIX calls. A higher-degree map or a second stochastic driver is the next step. Reported as measured, not as a hit target.