Skip to main content

SSVI (Surface SVI)

info

SSVI is a surface-level extension of SVI. Start there if you are not familiar with the per-slice model. For the full surface construction pipeline, see How Surfaces Are Built.

SSVI (Surface SVI) extends the SVI smile model from individual expiry slices to the entire volatility surface. The key advantage: calendar arbitrage freedom is guaranteed by construction. You never need to fit slices independently and then fix cross-expiry inconsistencies after the fact.

The Problem SSVI Solves

With per-slice SVI, you fit each expiry independently. Each slice may be internally consistent (no butterfly arbitrage), but the slices can contradict each other. Specifically, total variance at a given strike might decrease from one expiry to the next, creating a calendar arbitrage.

Fixing this after the fact (post-hoc adjustment) is fragile: you nudge one slice, which changes the fit, which may create a new violation elsewhere. SSVI avoids this entirely by modeling the surface jointly.

How It Works

SSVI describes total variance as a function of both log-moneyness kk and ATM total variance θt\theta_t:

The insight: instead of fitting 5 parameters per slice (25 parameters for 5 expiries), SSVI parameterizes the entire surface with a small number of global parameters plus the ATM total variance curve θt\theta_t.

The role of each piece

θt\theta_t (ATM total variance curve): This is the term structure backbone. It must be increasing in tt (a basic no-arbitrage requirement). You observe it directly from ATM option prices.

ρ\rho (skew): A single parameter controlling the tilt of the smile. Shared across all maturities. This is a simplification: in reality, skew can change with maturity, but SSVI trades this flexibility for calendar-free guarantees.

φ(θt)\varphi(\theta_t) (smile steepness function): Controls how wide the smile is at each maturity. As θt\theta_t grows (longer maturities), the smile typically flattens. φ\varphi encodes this decay.

Common choice for φ\varphi

The "power-law" form is standard:

The Trade-off

SSVI has fewer degrees of freedom than per-slice SVI. This is both its strength and its limitation.

Per-slice SVISSVI
Parameters5 per expiry (25 for 5 slices)3 global + ATM curve
Calendar arbitrageMust check and fix after fittingFree by construction
Fit quality per sliceExcellent (5 free params per slice)Good but constrained
Skew variationCan differ by expirySingle ρ\rho for all expiries
When to useIndividual slice analysis, sparse dataFull surface, production pricing

The biggest constraint: SSVI uses a single ρ\rho for all maturities. In practice, short-dated skew is often steeper than long-dated skew. SSVI handles this partially through φ\varphi (which controls wing steepness by maturity) but cannot capture all the variation that per-slice SVI can.

For most crypto and equity applications, this trade-off is worth it. The calendar-free guarantee eliminates an entire class of surface bugs.

When the Smile Flattens With Time

Term Structure

Backwardation: Near-term IV > far-term. Signals event risk priced in.

74%67%60%52%45%7d69%14d68%30d67%60d63%90d60%180d50%Time to Expiry

Toggle between shapes to see how term structure changes. Backwardation often signals an upcoming event.

SSVI naturally captures the observation that longer-dated smiles are flatter than shorter-dated smiles. The φ(θt)\varphi(\theta_t) function decays as θt\theta_t grows, which means the smile width decreases with maturity. This matches market behavior: near-term binary events create steep smiles, but far-term smiles average over many possible scenarios and flatten out.

Fitting SSVI

  1. Extract the ATM variance curve θt\theta_t from market data. This is just the ATM IV at each expiry, squared and multiplied by time.
  2. Fit ρ\rho, η\eta, γ\gamma by minimizing the weighted error between SSVI and observed IVs across all strikes and expiries simultaneously.
  3. Enforce constraints during optimization: η(1+ρ)<2\eta(1 + |\rho|) < 2, γ[0,1]\gamma \in [0, 1], θt\theta_t increasing.

The optimization is fast (3 parameters) and robust. No post-hoc calendar fixups needed.

SSVI vs. Per-Slice SVI

Use per-slice SVI when:

  • You only care about one expiry at a time
  • You need maximum fit quality per slice
  • You have sparse data (few expiries) and want flexibility
  • You are willing to handle calendar arbitrage checks manually

Use SSVI when:

  • You need the full surface for production pricing
  • Calendar arbitrage freedom is non-negotiable
  • You want a compact representation (3 params + ATM curve)
  • You are pricing across multiple expiries simultaneously

See also: