Implied volatility
An option price expressed in the coordinate system of a chosen model
01Separate an observed option premium from the volatility inferred through Black–Scholes.
02Derive the scalar root problem and explain why vega controls conditioning.
03Implement a bracketed inversion with price-bound and residual checks.
04Identify when stale inputs, conventions or near-zero vega make an implied quote unreliable.
Build the state before the equation.
Implied volatility is not measured from returns. It is the volatility input that forces a specified pricing model to reproduce an observed option premium. It is therefore a model-dependent quote coordinate, not a direct forecast.
One premium becomes one implied volatility only after spot, strike, time, rates, dividends, payoff and settlement conventions are fixed.
Different strikes normally return different implied volatilities; that failure of a constant-volatility model is useful market information.
Low vega makes the inverse unstable: a small price error can become a large volatility error.
The product exists before the model.
Volatility normalizes premiums across strikes and expiries, allowing desks to compare relative richness, build surfaces and communicate risk in a familiar unit.
European calls and puts
listed equity options
FX vanilla options
caps, floors and swaptions under their own conventions
Equity volatility is commonly displayed in annualized percentage points. FX and rates require explicit delta, ATM, premium, normal/lognormal and settlement conventions before values are comparable.
Notation, units and exact claims.
C_mkt: observed call premiumC_BS(σ): Black–Scholes call valueν = ∂C/∂σ: raw vegaT: ACT/365-like year fraction in this lessonInverse definition
Implied volatility is the root of a monotone scalar equation when vanilla no-arbitrage bounds hold.
Black–Scholes call
The inverse depends on every state variable and convention used by the forward pricing model.
Conditioning
When vega approaches zero, premium noise is magnified in volatility space.
Do not jump to the final expression.
From premium to a stable volatility root
The derivation is an inverse-function argument, followed by a numerical method that respects the financial domain.
- 01
Fix the pricing state
Hold spot, strike, expiry, curves, dividends and payoff convention fixed. Only volatility is unknown.
- 02
Establish feasible bounds
For a non-dividend call, discounted intrinsic value is the lower bound and spot is the upper bound. Reject premiums outside these bounds before solving.
- 03
Use monotonicity
European vanilla vega is positive away from degenerate limits, so the Black–Scholes price rises with volatility and the root is unique.
- 04
Bracket, then solve
A bracketed method such as Brent combines reliability with fast convergence. Newton can be fast but may leave the domain when vega is small.
- 05
Interpret the inverse sensitivity
Implicit differentiation converts price error into volatility error. This is why deep in/out-of-the-money short-dated quotes can be numerically fragile.
A reliable implied-volatility quote is a validated inversion result with complete state and convention lineage.
Fit, compute, then challenge the assumptions.
Compute the model premium for candidate volatility and solve the residual inside a positive bracket. Use parity or the more liquid option side where desk convention calls for it.
Implied-vol inversion is pointwise calibration. Surface calibration begins only after those points are normalized into a consistent coordinate system.
No constant volatility fits the full strike-expiry grid.
The value is model and convention dependent.
Wide spreads and low vega produce unstable implied quotes.
Implementation with current QuantLib
Current QuantLib represents market state through quote and term-structure handles and exposes implied-volatility inversion around a pricing engine. The library manages plumbing; it does not remove the need to understand bounds, conventions and conditioning.
API authority: upstream QuantLib reference pinned in the source registry.Theory → implementation → checks.
Bracketed Black–Scholes inversion
Recover a known volatility from a generated premium and reject impossible prices.
from __future__ import annotations from math import exp, log, sqrtfrom scipy.optimize import brentqfrom scipy.stats import norm def call_price(spot: float, strike: float, time: float, rate: float, vol: float) -> float: if min(spot, strike, time, vol) <= 0.0: raise ValueError("spot, strike, time and vol must be positive") root_t = sqrt(time) d1 = (log(spot / strike) + (rate + 0.5 * vol**2) * time) / (vol * root_t) d2 = d1 - vol * root_t return spot * norm.cdf(d1) - strike * exp(-rate * time) * norm.cdf(d2) def implied_vol(price: float, spot: float, strike: float, time: float, rate: float) -> float: lower = max(0.0, spot - strike * exp(-rate * time)) upper = spot if not lower <= price <= upper: raise ValueError("price violates no-arbitrage bounds") objective = lambda sigma: call_price(spot, strike, time, rate, sigma) - price return float(brentq(objective, 1e-8, 5.0, xtol=1e-12, rtol=1e-12)) target = call_price(100.0, 105.0, 0.75, 0.03, 0.27)solved = implied_vol(target, 100.0, 105.0, 0.75, 0.03)assert abs(solved - 0.27) < 1e-10print(f"Implied volatility: {solved:.4%}")Move the state. Challenge the equation.
Implied-volatility inversion
The deterministic quant lab solves the same bracketed inverse with residual diagnostics.
Where the model meets the book.
“Volatility is the desk language; premium remains the cash value.”
bid/offer premium
spot or forward
discount and carry curves
expiry and settlement
strike/delta convention
Invert bid, mid and offer consistently. Preserve the premium spread rather than presenting mid volatility as executable truth.
RISKvega and volga
spot-vol cross sensitivity
calendar and dividend jumps
surface interpolation risk
- clean quotes
- normalize conventions
- solve implied vols
- flag low-vega points
- fit and validate the surface
Production failure modes
- stale spot paired with fresh options
- wrong dividend or foreign curve
- calendar mismatch
- silent percent/decimal conversion
- solver success with a poor residual
Map the transmission channel.
Macro uncertainty enters option prices
Policy and event risk change forward distributions and demand for convex protection; the effect is visible in both the level and shape of implied volatility.
widens distribution of possible outcomes
moves wing premiums and skew
translates premiums into comparable coordinates
Most failures begin outside the formula.
Calling implied volatility a forecast without qualification.
Solving against a mid from asynchronous market inputs.
Using Newton without a bracket or vega guard.
Comparing values built under different quote conventions.
Attribution with implementation authority.
Lecture 04 — Implied Volatility
Research map for inversion, smile and numerical interpretation; explanation and code are original.
- Source
- Computational Finance Course
- Author
- L. A. Grzelak
- Ref
- main
Current instrument/process/volatility architecture
Implementation reference for professional library abstractions.
- Source
- QuantLib upstream
- Author
- QuantLib contributors
- Ref
- v1.42.1