Trading Dev AcademyFree quant education

Free lesson · Volatility

Implied volatility is a model inversion

Open interactive lessonPractice calculationsExplore labs

Start with the idea

An implied volatility quote is the input needed to make a chosen pricing model match an option price.

Symbols, units & horizon
  • C_model: European call model price per underlying unit using fixed spot, strike, annual continuous rate and years to expiry
  • C_observed: premium per unit
  • σ_IV>0: annualized volatility fraction solving the equation
  • equality is numerical inversion, not a physical forecast

When and why to use this

Compare option quotes using a consistent model convention and inspect bid/ask uncertainty.

An implied volatility quote is the input needed to make a chosen pricing model match an option price.

A European non-dividend call’s price increases with positive volatility under the benchmark. Bisection searches between two volatility values whose model prices bracket the observed premium. Bracketing failure is a useful sign of bad inputs, inappropriate models or an insufficient search range.

Bid and ask prices imply an interval, not a single precise tradable value. Near expiry or deep in/out of the money, low price sensitivity can make implied volatility numerically unstable. Contract mismatch cannot be fixed by a better root solver.

Cmodel(σIV)=Cobserved
Numerical root finding under a fixed pricing model

Implied volatility is a model inversion

  1. Select a volatility bracket and compute model prices at both ends.
  2. Evaluate at the bracket midpoint; retain the half whose price range contains the observed premium.
  3. Repeat until the bracket is narrow, then verify the repriced premium matches within a declared currency tolerance.
Work it by hand

At spot=strike=100, zero rate and one year, premium 7.9655674554 corresponds to volatility .2. Initial bracket [.1,.3] has midpoint .2 and reaches the matching value immediately.

Apply it in a strategy

  • Freeze inputs at the stated decision time and record their units.
  • Compare option quotes using a consistent model convention and inspect bid/ask uncertainty.
  • Recompute the example, then change the material assumption and explain the difference.

Research deliverable

Implied volatility is a model inversion: produce the worked calculation, a timestamped input record and a written decision addressing this limitation: An implied volatility depends on model and contract conventions; it is not an unbiased estimate of future realized volatility.

These are synthetic mechanics examples, not historical performance or paper replications. Module evidence and research boundaries record the 12 September 2026 review.

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

# Python 3.10+; standard library and NumPy only.
# Synthetic teaching inputs; conventions and units are defined in the notation above.
from math import log,sqrt,exp,erf

def call_iv(price,spot,strike,rate,years,low=.000001,high=5):
    if min(spot,strike,years,low)<=0 or high<=low: raise ValueError('Invalid positive inputs or bracket')
    def call(vol):
        n=lambda z:.5*(1+erf(z/sqrt(2)))
        d=(log(spot/strike)+(rate+vol*vol/2)*years)/(vol*sqrt(years))
        return spot*n(d)-strike*exp(-rate*years)*n(d-vol*sqrt(years))
    if not call(low)<=price<=call(high): raise ValueError('Price outside search bracket')
    for _ in range(100):
        mid=(low+high)/2
        if call(mid)<price: low=mid
        else: high=mid
    vol=(low+high)/2
    return vol,call(vol)-price

vol,error=call_iv(7.9655674554,100,100,0,1)
assert abs(vol-.2)<1e-9 and abs(error)<1e-9
print(vol,error)

Continue learning

Volatility: Measurement, Surfaces & Variance Risk — all lessons
  1. Realized variance starts with squared returns
  2. EWMA as a causal variance baseline
  3. A multi-horizon realized-variance forecast
  4. Implied volatility is a model inversion
  5. Term structure through total and forward variance
  6. Strike convexity and a butterfly consistency check
  7. Vega requires a volatility-unit convention
  8. Variance exposure and the difference from arbitrage

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations