TQBTHEQUANTBATEMAN
TQB/ learn/ equity/ volatility smileEN · DARK
volatility · intermediate

Volatility smile and skew

Reading strike-dependent option prices as distributional shape

BY THE END, YOU CAN

01Transform strikes into forward log-moneyness.

02Relate skew and curvature to risk-neutral distribution shape.

03Distinguish sticky-strike and sticky-delta dynamics.

04Check strike slices for monotonicity and convexity.

01
INTUITION

Build the state before the equation.

A smile is the strike slice of a surface at one expiry. Its slope and curvature summarize relative option premiums, but only option-price derivatives—not a visual curve—determine arbitrage consistency.

01

Equity index skew is often downside-heavy rather than symmetric.

02

Forward log-moneyness removes much of the carry distortion.

03

A static fit and a rule for how the smile moves are different model claims.

02
WHY MARKETS CARE

The product exists before the model.

Smile shape drives relative-value trades, barrier exposure, delta conventions and every model calibrated beyond ATM.

INSTRUMENTS

puts and calls by strike

risk reversals

butterflies

digitals and barriers

QUOTE CONVENTION

Use k=ln(K/F_T) unless a market-native delta convention is required. State premium inclusion, forward and option type.

03
MATHEMATICS

Notation, units and exact claims.

k=ln(K/F_T): forward log-moneynessw(k,T)=σ²T: total variance∂K C: digital information∂KK C: density information
QUANT NOTESYNTHETIC · EDUCATIONAL

Smile slope

Local ATM slope in log-forward-moneyness coordinates.

Skew(T)=kσimp(k,T)k=0\operatorname{Skew}(T)=\left.\partial_k\sigma_{imp}(k,T)\right|_{k=0}
Read the equation together with its financial domain and convention.
QUANT NOTESYNTHETIC · EDUCATIONAL

Breeden–Litzenberger density

Convex call prices imply a non-negative terminal density.

fSTQ(K)=D(0,T)1KKC(K,T)f_{S_T}^{Q}(K)=D(0,T)^{-1}\partial_{KK}C(K,T)
Read the equation together with its financial domain and convention.
QUANT NOTESYNTHETIC · EDUCATIONAL

Wing convexity

The fundamental butterfly-arbitrage requirement lives in price space.

KKC(K,T)0\partial_{KK}C(K,T)\ge 0
Read the equation together with its financial domain and convention.
04
DERIVATION

Do not jump to the final expression.

DERIVATION

From strike prices to a terminal density

Differentiate a continuum of call payoffs with respect to strike.

  1. 01

    Write the call as an integral

    A discounted call is the integral of terminal payoff against the risk-neutral density.

    C(K)=DK(sK)f(s)dsC(K)=D\int_K^\infty(s-K)f(s)ds
  2. 02

    Differentiate once

    The first strike derivative is minus the discounted tail probability.

    KC=DQ(ST>K)\partial_K C=-D\,Q(S_T>K)
  3. 03

    Differentiate twice

    The second derivative recovers discounted density.

    KKC=Df(K)\partial_{KK}C=Df(K)
  4. 04

    Translate prices to implied vol

    Inverting each premium through Black–Scholes produces the displayed smile; arbitrage checks must still be performed on reconstructed prices.

  5. 05

    Specify smile dynamics

    Sticky-strike, sticky-delta, local-vol and stochastic-vol rules imply different P&L when spot moves.

The smile is a quote coordinate for relative option prices; convex prices and explicit dynamics determine whether it is usable.

05
MODEL / PRICING

Fit, compute, then challenge the assumptions.

METHOD

Clean one expiry, convert to forward moneyness, fit total variance or prices with shape constraints, and validate reconstructed premiums.

CALIBRATION

Weight liquid nodes by spread or vega, constrain wings, and separate interpolation from extrapolation.

LIMITATIONS

Sparse wings are weakly identified.

Implied-vol smoothness does not guarantee price convexity.

A single expiry says nothing about calendar arbitrage.

MODEL COMPARISON

Static fit is not dynamics.

QuestionBlack–ScholesLocal volatilityHeston
Volatility stateOne constant σσ(S,t) deterministicvₜ stochastic
Fits today’s surfaceNoExactly, in ideal theoryApproximately by calibration
Forward dynamicsFlat smileSpot-drivenVariance + correlation driven
Primary strengthTransparent baselineVanilla-consistent diffusionRicher smile dynamics
Primary failureNo smileOften unrealistic forward skewParameter and calibration instability
ComputeLowMedium: PDE/MCMedium–high: Fourier/PDE/MC
Hedge implicationGreeks at one σState-localized vol hedgeVariance and vol-of-vol risk
Implementation with current QuantLib

Current QuantLib separates market structures, processes, instruments, engines and calibration helpers. Use those abstractions only after the lesson’s conventions, domains and numerical checks are explicit.

API authority: upstream QuantLib reference pinned in the source registry.
06
PYTHON LAB

Theory → implementation → checks.

PYTHON 3 · NUMPY / SCIPY

Finite-difference density check

Recover a non-negative density proxy from a convex call-price slice.

REUSABLE EXAMPLE
01from __future__ import annotations
02
03import numpy as np
04
05def density_proxy(strikes: np.ndarray, calls: np.ndarray, discount: float) -> np.ndarray:
06 if strikes.ndim != 1 or calls.shape != strikes.shape or not np.allclose(np.diff(strikes), np.diff(strikes)[0]):
07 raise ValueError("use an aligned uniform strike grid")
08 h = strikes[1] - strikes[0]
09 density = (calls[:-2] - 2.0 * calls[1:-1] + calls[2:]) / (h * h * discount)
10 return density
11
12k = np.arange(80.0, 125.0, 5.0)
13c = np.array([22.0, 18.0, 14.5, 11.5, 9.0, 7.0, 5.5, 4.5, 3.8])
14f = density_proxy(k, c, 0.98)
15assert np.isfinite(f).all() and np.all(f >= -1e-12)
16print(np.round(f, 5))
EXPECTED OUTPUTA non-negative interior density proxy for the teaching slice.
SANITY CHECKS

Strike spacing is uniform.

Convexity is checked in price space.

Discounting is explicit.

07
INTERACTIVE LAB

Move the state. Challenge the equation.

STRIKE GEOMETRY AND DENSITY

Smile geometry lab

Move spot, skew and curvature; inspect the smile, risk-neutral density proxy and arbitrage flags.

SYNTHETIC · CONTROLLED SCENARIOS
ATM20.00%
ATM skew-0.126
70% wing30.60%
ACTIVE STATE

Base smileModerate downside skew. Move the intensity control and inspect every series with pointer or touch.

08
FRONT OFFICE

Where the model meets the book.

ON THE DESK
A wing quote is cheap until the extrapolator makes it expensive.
VISIBLE INPUTS

forward

strike premiums

discount factors

spread weights

wing rules

CALIBRATION

Weight liquid nodes by spread or vega, constrain wings, and separate interpolation from extrapolation.

RISK

skew delta

wing vega

digital risk

smile dynamics

DAILY WORKFLOW
  1. normalize strikes
  2. invert premiums
  3. fit slice
  4. reprice
  5. check convexity
Production failure modes
  • stale forward
  • mixed call/put sides
  • unconstrained splines
  • unstable wing extrapolation
09
MACRO CONNECTION

Map the transmission channel.

MACRO CONNECTION

Downside skew and crash insurance

Leverage, jump risk and demand for protection concentrate risk-neutral mass in the downside tail.

Risk-off demand

raises put premiums

Downside skew

steepens left wing

Density

reprices tail states

Hedge

creates spot-vol cross risk

10
COMMON PITFALLS

Most failures begin outside the formula.

01

Treating a smooth line as arbitrage-free.

02

Comparing raw strikes across expiries.

03

Using mid quotes in illiquid wings without uncertainty bands.

04

Assuming sticky strike by default.

11
SOURCES / FURTHER READING

Attribution with implementation authority.

researchBSD-3-Clause

Volatility, Monte Carlo and stochastic-volatility lectures

Research map for the mathematical progression and numerical experiments; prose, examples and code are original.

Source
Computational Finance Course
Author
L. A. Grzelak
Ref
main
OPEN ORIGINAL SOURCE ↗LICENSE ↗
implementation referenceQuantLib permissive license

Current volatility structures, processes, calibration helpers and tests

Implementation reference for production abstractions and validation patterns.

Source
QuantLib upstream
Author
QuantLib contributors
Ref
v1.42.1
OPEN ORIGINAL SOURCE ↗LICENSE ↗