UnifiedVol is a C++20 quantitative finance library for volatility surface modeling and calibration.
-
Full enforcement of static no-arbitrage conditions:
- Calendar arbitrage
- Butterfly spread arbitrage
- Positive minimum variance
- Roger Lee’s asymptotic wing slope bounds
-
Calibration methodology:
- Sequential Quadratic Programming (SQP) with constraint handling via NLopt
- Closed-form analytical gradients for improved speed and numerical stability
- Post-calibration validation to confirm absence of arbitrage violations
- SVI Calibration Fits (PDF)
- Market implied volatilities vs fitted SVI curves (SPY 2025-04-07) :

Planned extensions include:
- SSVI (Stochastic Volatility Inspired) parameterization
- SABR stochastic volatility model
- Heston stochastic variance model
- Stochastic Local Volatility (SLV) frameworks
- Integration with PDE solvers for local volatility pricing
- Roger W. Lee (2003), The Moment Formula for Implied Volatility at Extreme Strikes
- Jim Gatheral & Antoine Jacquier (2014), Arbitrage-Free SVI Volatility Surfaces
- Zeliade Systems (2012), Quasi-Explicit Calibration of Gatheral’s SVI Model (White Paper)
- Tahar Ferhati (2020), Robust Calibration for SVI Model Arbitrage-Free
Sample surfaces calibrated in this project are derived from publicly available option data:
- C++20 STL
- NLopt — nonlinear optimization library for SQP calibration, constraint enforcement, and stopping criteria
This repository is under active development. Interfaces, APIs, and model implementations are subject to further changes.