Learning Objectives
By the end of this section, you will be able to:
- Explain what implied volatility is and why it inverts the Black-Scholes relationship between price and .
- Prove (intuitively) that implied volatility exists and is unique by appealing to .
- Apply Newton's method on the BS price curve to back out from a market price by hand.
- Implement the solver in plain Python and again with PyTorch autograd — and recognise that the two implementations do exactly the same calculus.
- Recognise the volatility smile and skew as a fingerprint of the assumptions that Black-Scholes gets wrong.
- Read a real option chain's implied-vol curve and explain what each shape tells you about the market's beliefs.
The Big Picture: Inverting Black-Scholes
Up to this point Black-Scholes has been a one-way machine. Plug in five inputs — spot , strike , time , rate , and volatility — and out comes a price .
But on any options exchange the situation is reversed. The market broadcasts the price every second. Four of the five inputs — spot, strike, time, rate — are observed directly. The only thing the market does not hand us is . So we ask the reverse question:
Given a market price , what value of makes the Black-Scholes formula spit out exactly that price?
That single number is the option market's answer to "how volatile do you think the stock will be from now until expiry?". The number itself is called the implied volatility, and the whole machinery of modern options trading rests on it.
Definition: Implied Volatility
Fix and the observed market price . The implied volatility is the value that solves the equation
Look at what the equation says, in words: I have a function of one variable , namely , and I want the root of that function. Pure calculus.
Why IV Is Unique — Vega Is the Reason
How do we know the equation has a solution at all, and that the solution is unique? One word: Vega.
Recall from section-06 that for a European call,
for every . The price is therefore a strictly increasing function of on . Add the two boundary facts —
- As , the call price approaches its intrinsic value .
- As , the call price approaches the spot (you essentially own the upside, with zero downside discounted away).
— and the Intermediate Value Theorem gives us exactly what we wanted:
Existence + uniqueness of implied volatility. For any market price inside the no-arbitrage band , there is a unique such that .
This is the entire mathematical justification for talking about "the" implied volatility. It is a one-sentence consequence of Vega being positive — which itself is a one-line consequence of being positive.
Interactive: Inverting the BS Curve
Here is the situation drawn explicitly. The blue curve is . The dashed yellow horizontal line is the market price . The intersection — the green vertical line — is .
Blue curve: the Black-Scholes call price as a function of σ. Dashed yellow line: the market-quoted price you are trying to match. Each red dot is a Newton iterate; the short red line is the tangent (slope = vega). Where that tangent crosses the yellow line is the next iterate. Increase volatility ⇒ the curve goes up and eventually stalls (deep-OTM behavior). Hit Converge to see the algorithm finish in two or three steps for almost any reasonable starting σ₀.
Drag the "market price" slider up and down. The green vertical line slides with it. Notice three things:
- The blue curve is monotonic — it never has two crossings, so the implied vol is unique.
- Far from at-the-money the curve flattens, so a small price change translates into a large change in σ. That is why deep-OTM IVs are noisy — Vega is small there.
- The red tangent is the linear approximation Newton's method uses. The next iterate is where that tangent crosses the yellow line. Two steps almost always suffice.
Newton's Method on the BS Price Curve
Newton-Raphson on the function is the standard solver. The update rule is the one-line classic:
Each iteration: evaluate price and Vega at the current σ, take the Newton step, repeat until the error is below tolerance. The guarantee is quadratic convergence near the root — every iteration roughly squares the error.
For a deeply out-of-the-money option, Vega can be tiny — division blows up. The practical fix is to seed Newton sensibly (e.g. with the Brenner-Subrahmanyam approximation ) or fall back to bisection if a Newton step pushes σ outside a sensible band.
Worked Example (Try It By Hand)
Same inputs we used to derive the Greeks in section-06: , , years, . Today the market is quoting an ATM call at . What is the implied volatility?
Click to expand the by-hand Newton iteration
Step 0 — seed. Take . We already computed in section-06 that, at this seed,
Price at σ = 0.20:
Vega at σ = 0.20:
Error: . The model is below the market — we need more volatility.
Newton step:
Step 1 — verify. Re-evaluate at . Now
That is the market price to four decimals. Newton converged in one step from a generic 20% seed because the curve is so close to linear over this range.
Answer: .
What just happened geometrically: starting from on the BS curve, we drew the tangent of slope 19.66. That tangent crosses the horizontal line at — and that point is so close to the true root that the next BS evaluation already agrees to four decimals.
Plain Python: Newton Solver for IV
Here is the same algorithm, written in plain Python with only the standard math module. The code is short because the idea is short.
Running this prints:
σ_IV = 0.219588 in 2 iterations
Two iterations — same as the by-hand walk. Quadratic convergence on a smooth monotonic function is gorgeous.
PyTorch Autograd Solver for IV
The closed-form Vega is easy on a vanilla call. But once we move to exotic payoffs (barrier, Asian, lookback), the Vega has no clean formula. Autograd doesn't care — it computes directly from the price function you wrote.
The structural change versus the plain-Python solver is one line: instead of returning Vega from bs_call, we ask autograd for it. Everything else is identical.
Expected output:
σ_IV = 0.21958809... steps = 2
From One Number to a Curve: The Volatility Smile
So far we have produced one implied volatility from one option price. But a real options chain has dozens of strikes at each expiry. Repeat the inversion at every strike and you trace out a function:
If Black-Scholes were correct, this function would be a constant — every strike would imply the same , because the model assumes a single volatility for the underlying asset. The picture would be a flat horizontal line.
It is not. Across every liquid options market in the world, is a curve. On equity indices it slopes downward (puts are expensive relative to BS). On currencies it's a near-symmetric smile. On commodities you see both, often blended. The shape is called the volatility smile when symmetric, or the volatility skew when one-sided.
Interactive: Build Your Own Smile
Switch between the four shapes below. The dashed blue line is the flat Black-Scholes assumption. The orange curve is the market. Hover over the strike axis to read the implied vol at any point.
Dashed blue: the Black-Scholes world — one σ for every strike. Orange: the market. Hover anywhere along the strike axis to read an implied volatility. The skew preset mimics what you see on the S&P 500 and most single stocks (puts are more expensive than the BS model predicts). The smile preset mimics currencies and many commodities (out-of-the-money options on both sides are more expensive than ATM). Switch to custom and shape your own.
In the custom preset, the curve is a quadratic in log-moneyness:
Three numbers — ATM level, skew (slope at ATM), and curvature — capture nearly any one-expiry smile observed in practice. Real market-makers parametrize it more carefully (SVI, SABR, …) so that no-arbitrage conditions are guaranteed, but the spirit is the same: compress the whole smile into a handful of interpretable knobs.
Why the Smile Exists — Black-Scholes Is Wrong
The smile is not a flaw in the implied-vol algorithm. It is a feature of reality that Black-Scholes' assumptions cannot accommodate. Recall the assumptions:
- Stock returns are log-normal.
- Volatility is constant (not random, not strike-dependent, not time-dependent).
- Trading is continuous — no jumps, no gaps.
- The risk-free rate is constant and known.
Each of these is wrong in a specific way that bends the smile in a specific direction:
| Real-world feature | What it does to OTM puts | What it does to OTM calls | Resulting smile shape |
|---|---|---|---|
| Fat tails (kurtosis > 3) | More expensive | More expensive | Symmetric smile |
| Leverage effect (vol ↑ when price ↓) | More expensive | Slightly cheaper | Downward skew |
| Crash-o-phobia (jump risk on the downside) | Much more expensive | About the same | Steep downward skew |
| Stochastic volatility (σ is random) | More expensive | More expensive | Smile (mild) |
Equity indices show all four to varying degrees, but the leverage + crash effects dominate, producing the famous downward skew. FX markets are roughly symmetric (USD/JPY is just as scary as JPY/USD), so a near-symmetric smile dominates there.
The market's confession. The volatility smile is the option market openly saying: "We don't believe the log-normal assumption." The shape of the smile is exactly the correction the market applies to BS prices to compensate.
Skew, Smile, and Term Structure
Three orthogonal axes of departure from the flat BS world:
1. Skew
The slope of at the ATM strike:
For S&P 500 options this number is typically around to : a 1% lower strike implies a ~0.2–0.5% higher IV. Negative skew means downside protection is expensive.
2. Curvature (the "wings")
The second derivative at the ATM strike. Positive curvature ⇒ both wings rise above ATM ⇒ tail risk is priced in.
3. Term structure
Implied volatility also depends on time-to-expiry . Short-dated ATM IV is more reactive to recent events; long-dated ATM IV mean-reverts toward a cross-asset "normal". Plotting for a grid of strikes and expiries gives the implied volatility surface — the central object of every options desk's morning meeting.
Application: Reading the Market's Mind
Once you can compute for every listed strike, you have a window into the risk-neutral distribution of returns that the market is implicitly pricing in.
Breeden-Litzenberger (1978). If is the market price of a call with strike , then the second derivative with respect to strike,
is the risk-neutral density of . A flat smile would produce a perfect log-normal density. A downward skew produces a density with a fat left tail and a thin right tail — exactly the "crashes are worse than rallies" pattern equity investors fear.
So traders use the smile in several practical ways:
- Quoting. Bid/ask spreads on options are published as bid IV / ask IV. Two different option contracts can have wildly different dollar prices but compare directly via their IVs.
- Risk management. When the smile steepens, the market is paying up for tail protection — a signal for risk desks to widen Value-at-Risk bands.
- Relative-value trades. If two related options have a smile-inconsistent IV gap, sell the rich one and buy the cheap one — the classic skew trade.
- Model calibration. Local-vol and stochastic-vol models are calibrated so that the prices they imply reproduce today's entire smile surface. Then exotic options are priced consistently with the vanilla market.
Summary
Implied volatility is the single most important number on an options screen. Mathematically it is the root of a smooth, monotonic equation. Computationally it is a five-line Newton solver. Economically it is the market's consensus forecast of future volatility.
| Concept | What it is | Why it matters |
|---|---|---|
| σ_IV | The σ that satisfies BS(σ) = C_market | A normalized price every trader compares across strikes |
| Vega ν > 0 | ∂BS/∂σ is strictly positive | Guarantees a unique σ_IV — calculus is the proof |
| Newton on BS | σ_{n+1} = σ_n − (BS−C)/ν | Quadratic convergence; 2–4 steps for any sensible seed |
| Autograd IV | ∂price/∂σ via torch.autograd.grad | Generalizes to exotics with no closed-form Vega |
| Volatility smile | σ_IV(K) is not flat | The market saying log-normal returns are wrong |
| Skew | Slope of σ_IV at ATM | Measures crash-o-phobia / leverage effect |
| Vol surface | σ_IV(K, T) | Inputs to every modern derivatives pricing model |
Take-aways:
- Implied vol turns Black-Scholes from a forward map (inputs → price) into a two-way translator (price ↔ a normalised vol number).
- The whole inversion is justified by one calculus fact: . That positivity gives existence, uniqueness, and Newton's quadratic convergence — all from one positive partial derivative.
- Newton is the right algorithm here because is smooth, monotonic, and differentiable in closed form. Two iterations from a 20% seed almost always suffice.
- PyTorch autograd doesn't change the calculus — it just frees you from writing the Vega line. That generalises immediately to any payoff you can express in differentiable torch ops, including Monte-Carlo exotics.
- The volatility smile is the option market openly disagreeing with BS's constant-σ assumption. Its shape encodes fat tails, leverage, and jump risk — the things BS leaves out.
- The full implied-vol surface is the central state variable of every options desk: pricing, hedging, risk, and exotic calibration all flow from it.