Unit 7, lesson 49

Implied volatility and inverse pricing

How implied volatility inverts the Black-Scholes price, why positive vega and the arbitrage bounds give exactly one root, how inverse sensitivity limits accuracy, and how bracketed inversion finds the root.

  • Video 49
  • Implied volatility and arbitrage-free surfaces

A one-year European call on a stock at 100 with strike 100 trades at 7.97, and rates and dividends are zero. Which constant volatility makes the Black-Scholes formula return that price, is there always exactly one, and how far does it move when the quote moves by 0.1? This lesson proves that a price strictly inside the arbitrage bounds has exactly one implied volatility, shows that its sensitivity to the price is one over vega, and builds a bisection method that cannot lose the root.

Key terms

Implied volatility

Definition Fix a European call with strike K>0K > 0 on a stock with current price S>0S > 0, time to maturity τ=T−t>0\tau = T - t > 0 in years, a constant continuously compounded rate rr and a constant continuous dividend yield qq. For σ>0\sigma > 0 the Black-Scholes price is

CBS(σ)=Se−qτΦ(d1)−Ke−rτΦ(d2),\begin{aligned} C_{\mathrm{BS}}(\sigma) &= S e^{-q\tau}\Phi(d_1) \\[0.4em] &\quad - K e^{-r\tau}\Phi(d_2), \end{aligned}

where

d1=ln⁡(S/K)+(r−q)τστ+12στ,d2=d1−στ.\begin{aligned} d_1 &= \frac{\ln(S/K) + (r - q)\tau}{\sigma\sqrt{\tau}} \\[0.4em] &\quad + \tfrac{1}{2}\sigma\sqrt{\tau}, \\[0.4em] d_2 &= d_1 - \sigma\sqrt{\tau}. \end{aligned}

Write L=(Se−qτ−Ke−rτ)+L = (S e^{-q\tau} - K e^{-r\tau})^{+} and U=Se−qτU = S e^{-q\tau}. The following result is proved in the next two cards. For every price CC with L<C<UL < C < U there is exactly one σimp∈(0,∞)\sigma_{\mathrm{imp}} \in (0, \infty) with

CBS(σimp)=C,C_{\mathrm{BS}}(\sigma_{\mathrm{imp}}) = C,

and this number is the implied volatility of CC. For a price outside the open interval (L,U)(L, U) no positive volatility exists. The contract, SS, KK, τ\tau, rr and qq, and so the forward Se(r−q)τS e^{(r - q)\tau} and the discount factor e−rτe^{-r\tau}, stay fixed during the inversion, and the result is a decimal volatility per square root of a year. The Black-Scholes put price is PBS(σ)=CBS(σ)−Se−qτ+Ke−rτP_{\mathrm{BS}}(\sigma) = C_{\mathrm{BS}}(\sigma) - S e^{-q\tau} + K e^{-r\tau}, so a put price strictly between (Ke−rτ−Se−qτ)+(K e^{-r\tau} - S e^{-q\tau})^{+} and Ke−rτK e^{-r\tau} also has exactly one implied volatility, and a put and a call with the same strike and maturity whose prices satisfy put-call parity have the same implied volatility. Inverting an American price through this European formula returns a number that also absorbs the early-exercise premium, and a normal implied volatility, quoted in currency units per square root of a year, is a different coordinate that is not interchangeable with this one.

In plain words Implied volatility is the number you enter into the Black-Scholes formula, with everything else held fixed, to reproduce a given price. It restates the price in units that can be compared across strikes and maturities. It is not a forecast of how much the stock will move under P\mathbb{P}, and when different strikes need different values, that only says one constant-volatility model does not fit all of the prices at once.

Example In the constructed case of this lesson S=K=100S = K = 100, r=q=0r = q = 0 and τ=1\tau = 1. With σ=0.2\sigma = 0.2 we get d1=0.1d_1 = 0.1 and d2=−0.1d_2 = -0.1, and the formula reduces to

CBS(0.2)=100(2Φ(0.1)−1)≈7.965567.\begin{aligned} &C_{\mathrm{BS}}(0.2) \\[0.4em] &\quad = 100\bigl(2\Phi(0.1) - 1\bigr) \\[0.4em] &\quad \approx 7.965567. \end{aligned}

This number is a benchmark generated by the model with σ=0.2\sigma = 0.2, not a market observation, so inverting it must return σimp=0.2\sigma_{\mathrm{imp}} = 0.2. With zero rates and dividends and K=SK = S, put-call parity gives the put the same price, and so the same implied volatility 0.20.2.

Price monotonicity in volatility

Definition Assume S>0S > 0, K>0K > 0, τ>0\tau > 0 and real constants rr and qq. The vega of the call, the derivative of its price with respect to σ\sigma, satisfies

ν(σ)=Se−qτφ(d1)τ>0\nu(\sigma) = S e^{-q\tau}\varphi(d_1)\sqrt{\tau} > 0

for every σ>0\sigma > 0. To prove it, note that d1−d2=στd_1 - d_2 = \sigma\sqrt{\tau} and d1+d2=2(ln⁡(S/K)+(r−q)τ)/(στ)d_1 + d_2 = 2(\ln(S/K) + (r - q)\tau)/(\sigma\sqrt{\tau}), so 12(d12−d22)=ln⁡(S/K)+(r−q)τ\tfrac12(d_1^2 - d_2^2) = \ln(S/K) + (r - q)\tau, which gives

Se−qτφ(d1)=Ke−rτφ(d2).S e^{-q\tau}\varphi(d_1) = K e^{-r\tau}\varphi(d_2).

By the chain rule the derivative of the price is Se−qτφ(d1) ∂σd1−Ke−rτφ(d2) ∂σd2S e^{-q\tau}\varphi(d_1)\,\partial_\sigma d_1 - K e^{-r\tau}\varphi(d_2)\,\partial_\sigma d_2, and the identity gives both terms the same factor,

ν(σ)=Se−qτφ(d1)×∂σ(d1−d2)=Se−qτφ(d1)τ.\begin{aligned} \nu(\sigma) &= S e^{-q\tau}\varphi(d_1) \\[0.4em] &\quad \times \partial_\sigma (d_1 - d_2) \\[0.4em] &= S e^{-q\tau}\varphi(d_1)\sqrt{\tau}. \end{aligned}

Every factor is positive, so CBSC_{\mathrm{BS}} is continuous and strictly increasing on (0,∞)(0, \infty). The put has the same vega, because the parity difference Ke−rτ−Se−qτK e^{-r\tau} - S e^{-q\tau} does not depend on σ\sigma. Vega tends to 00 as σ→∞\sigma \to \infty. As σ↓0\sigma \downarrow 0 it tends to 00 when K≠Se(r−q)τK \ne S e^{(r - q)\tau} and to Se−qττ/(2π)S e^{-q\tau}\sqrt{\tau/(2\pi)} when the strike equals the forward. At τ=0\tau = 0 the price is the payoff (S−K)+(S - K)^{+} and does not depend on σ\sigma at all. The statement is about the model price as a function of its input, not about how quoted prices respond to realized volatility.

In plain words Raising the volatility input always raises the model price while time remains. With the forward held fixed, a larger σ\sigma spreads the lognormal distribution of STS_T under Q\mathbb{Q} without changing its mean, and a convex payoff gains from spread. So two different volatilities can never give the same price.

Example In the constructed case the model prices at σ=0.1\sigma = 0.1, 0.20.2 and 0.30.3 are about 3.9877613.987761, 7.9655677.965567 and 11.92353811.923538. At σ=0.2\sigma = 0.2 the vega is 100 φ(0.1)≈39.695255100\,\varphi(0.1) \approx 39.695255 currency units per unit of volatility, or about 0.3970.397 per volatility point of 0.010.01. At σ=2\sigma = 2 it has fallen to 100 φ(1)≈24.197072100\,\varphi(1) \approx 24.197072, and at σ=10\sigma = 10 to about 0.0001490.000149, while the price creeps toward 100100.

Arbitrage bounds on option prices

Definition Consider a frictionless market with a zero-coupon bond that costs e−rτe^{-r\tau} per unit paid at TT, the stock, which pays a continuous dividend yield qq so that e−qτe^{-q\tau} shares held with dividends reinvested grow to one share at TT, and European options on the stock, with ST≥0S_T \ge 0. If there is no arbitrage, every call and put with strike K>0K > 0 and time to maturity τ≥0\tau \ge 0 satisfies

L≤C≤U,(Ke−rτ−Se−qτ)+≤P,P≤Ke−rτ,\begin{gathered} L \le C \le U, \\[0.4em] (K e^{-r\tau} - S e^{-q\tau})^{+} \le P, \\[0.4em] P \le K e^{-r\tau}, \end{gathered}

with LL and UU as in the first card. Each bound compares payoffs at TT. The payoff (ST−K)+(S_T - K)^{+} is at least 00, at most STS_T, and at least ST−KS_T - K, which is the payoff of a portfolio that holds e−qτe^{-q\tau} shares with dividends reinvested and owes Ke−rτK e^{-r\tau} in the bond. If the call were cheaper than Se−qτ−Ke−rτS e^{-q\tau} - K e^{-r\tau}, buying it and selling that portfolio would bring in cash today and leave the payoff (K−ST)+≥0(K - S_T)^{+} \ge 0. If it cost more than UU, selling it and buying the shares would bring in cash and leave min⁡(ST,K)≥0\min(S_T, K) \ge 0. The put bounds follow in the same way or from put-call parity. For σ>0\sigma > 0 and τ>0\tau > 0 the Black-Scholes call lies strictly inside, and its limits are the endpoints,

lim⁡σ↓0CBS(σ)=L,lim⁡σ→∞CBS(σ)=U.\begin{aligned} \lim_{\sigma \downarrow 0} C_{\mathrm{BS}}(\sigma) &= L, \\[0.4em] \lim_{\sigma \to \infty} C_{\mathrm{BS}}(\sigma) &= U. \end{aligned}

As σ↓0\sigma \downarrow 0 both d1d_1 and d2d_2 tend to +∞+\infty when Se−qτ>Ke−rτS e^{-q\tau} > K e^{-r\tau} and to −∞-\infty when Se−qτ<Ke−rτS e^{-q\tau} < K e^{-r\tau}, and when the two are equal they tend to 00 and the price tends to 12(Se−qτ−Ke−rτ)=0\tfrac12(S e^{-q\tau} - K e^{-r\tau}) = 0. As σ→∞\sigma \to \infty, d1→+∞d_1 \to +\infty and d2→−∞d_2 \to -\infty. Together with the previous card, CBSC_{\mathrm{BS}} maps (0,∞)(0, \infty) one to one onto (L,U)(L, U), which proves the result stated in the first card. A target equal to UU is reached only in the limit of infinite volatility, a target equal to LL only by the zero-volatility extension CBS(0)=LC_{\mathrm{BS}}(0) = L, and a target outside [L,U][L, U] has no solution in this formula and, if it could be traded, would be an arbitrage.

In plain words A call is worth at least what it would be worth if the stock were certain to end at its forward, and at most the share it may buy. Black-Scholes prices sweep out everything strictly between these two numbers as the volatility input runs from 00 to ∞\infty, so implied volatility exists exactly there.

Example In the constructed case L=(100−100)+=0L = (100 - 100)^{+} = 0 and U=100U = 100. The model price is about 0.0398940.039894 at σ=0.001\sigma = 0.001, 38.29249238.292492 at σ=1\sigma = 1 and 98.75806798.758067 at σ=5\sigma = 5, and the target 7.9655677.965567 lies inside. A quote of 00 has no positive implied volatility, because the strike equals the forward and every positive σ\sigma gives a positive price, and a quote of 100100 or more has none either.

Inverse sensitivity

Definition On (L,U)(L, U) the implied volatility σimp(C)\sigma_{\mathrm{imp}}(C) is the inverse function of CBSC_{\mathrm{BS}}. Since CBSC_{\mathrm{BS}} is continuously differentiable with ν>0\nu > 0, the inverse function theorem makes σimp\sigma_{\mathrm{imp}} continuously differentiable, and differentiating CBS(σimp(C))=CC_{\mathrm{BS}}(\sigma_{\mathrm{imp}}(C)) = C with the chain rule gives

dσimpdC=1ν(σimp(C)),\frac{d\sigma_{\mathrm{imp}}}{dC} = \frac{1}{\nu(\sigma_{\mathrm{imp}}(C))},

measured in volatility per currency unit. The first-order estimate of the change in implied volatility after a price change ΔC\Delta C is therefore Δσ≈ΔC/ν\Delta\sigma \approx \Delta C/\nu. For an approximate root σ^>0\hat\sigma > 0 the mean value theorem gives an exact identity, with some ξ\xi between σ^\hat\sigma and σimp\sigma_{\mathrm{imp}},

∣σ^−σimp∣=∣CBS(σ^)−C∣ν(ξ).\lvert \hat\sigma - \sigma_{\mathrm{imp}} \rvert = \frac{\lvert C_{\mathrm{BS}}(\hat\sigma) - C \rvert}{\nu(\xi)}.

A small price residual guarantees a small volatility error only where vega is not small. Vega is small near expiry, where τ\sqrt{\tau} is small, and far from the forward, where ∣d1∣\lvert d_1 \rvert is large.

In plain words One currency unit of price is worth 1/ν1/\nu units of volatility. Where the price hardly reacts to volatility, a small quoting error or bid-ask spread moves the implied volatility a lot, and reporting many decimals of it does not remove the uncertainty in the price being inverted.

Example In the constructed case a quote 0.10.1 higher gives

Δσ≈0.139.695255≈0.0025192,\Delta\sigma \approx \frac{0.1}{39.695255} \approx 0.0025192,

about 0.2520.252 volatility points. Inverting the new price exactly gives about 0.20251940.2025194, slightly above the linear estimate 0.20251920.2025192. With r=q=0r = q = 0 and K=SK = S the price is S(2Φ(στ/2)−1)S(2\Phi(\sigma\sqrt{\tau}/2) - 1), which is concave in σ\sigma, so its inverse is convex and lies above its tangent line. A bid-ask interval from 7.8655677.865567 to 8.0655678.065567 corresponds to implied volatilities from about 0.1974810.197481 to 0.2025190.202519.

Bracketed inversion

Definition For a target C∈(L,U)C \in (L, U) define the residual

F(σ)=CBS(σ)−C.F(\sigma) = C_{\mathrm{BS}}(\sigma) - C.

A bracket is a pair 0<a<b0 < a < b with F(a)<0<F(b)F(a) < 0 < F(b). Since FF is continuous and strictly increasing, the root lies in (a,b)(a, b) and is unique there. A bracket always exists, because F(σ)→L−C<0F(\sigma) \to L - C < 0 as σ↓0\sigma \downarrow 0 and F(σ)→U−C>0F(\sigma) \to U - C > 0 as σ→∞\sigma \to \infty, so a small aa and repeated doubling of bb find one. Bisection evaluates FF at the midpoint m=(a+b)/2m = (a + b)/2, replaces aa by mm when F(m)<0F(m) < 0, replaces bb by mm when F(m)>0F(m) > 0 and stops when F(m)=0F(m) = 0. After nn steps the bracket still contains σimp\sigma_{\mathrm{imp}} and has width (b−a)/2n(b - a)/2^n, a direct bound on the volatility error that does not depend on vega. Newton’s method uses the update

σn+1=σn−F(σn)ν(σn),\sigma_{n+1} = \sigma_n - \frac{F(\sigma_n)}{\nu(\sigma_n)},

which converges quickly from a good starting point but can leave (0,∞)(0, \infty) or the bracket, and is unreliable where vega is small. A safeguarded method keeps the bracket, accepts a Newton step only when it lands strictly inside the current bracket, bisects otherwise, and updates the bracket with the sign of FF at every new point, so it never loses the root.

In plain words Bisection uses only whether the model price is too low or too high, so it cannot jump away from the answer, and the width of its interval says exactly how accurate the answer is. Newton’s method uses the slope as well, which makes it much faster near the root, and the bracket is what keeps its large steps from going wrong.

Example For the constructed target the bracket [0.001,1][0.001, 1] works, since F(0.001)≈−7.925673F(0.001) \approx -7.925673 and F(1)≈30.326925F(1) \approx 30.326925. The first midpoints are 0.50050.5005 and 0.250750.25075, both with F>0F > 0, then 0.1258750.125875 and 0.18831250.1883125, both with F<0F < 0, then 0.219531250.21953125 with F>0F > 0. After eight steps the bracket is about [0.196117,0.200020][0.196117, 0.200020], of width 0.999/28≈0.00390.999/2^8 \approx 0.0039. A width of at most 10−810^{-8} needs n≥log⁡2(0.999⋅108)≈26.57n \ge \log_2(0.999 \cdot 10^{8}) \approx 26.57, so 2727 steps.

Check yourself

  1. A constructed stock has S=100S = 100, q=0.02q = 0.02, and the rate is r=0.05r = 0.05. A European call with K=90K = 90 and τ=0.5\tau = 0.5 is quoted at 11.0011.00, at 13.0013.00 or at 99.5099.50. Which of these quotes has an implied volatility, and what trade exploits the lowest one?
Show the answer

Here e−qτ=e−0.01e^{-q\tau} = e^{-0.01} and e−rτ=e−0.025e^{-r\tau} = e^{-0.025}, so

U=Se−qτ≈99.004983,Ke−rτ≈87.777892,L≈11.227091.\begin{aligned} U = S e^{-q\tau} &\approx 99.004983, \\[0.4em] K e^{-r\tau} &\approx 87.777892, \\[0.4em] L &\approx 11.227091. \end{aligned}

Only 13.0013.00 lies strictly inside (L,U)(L, U), so only it has an implied volatility, about 0.2174510.217451 by bisection. The quote 11.0011.00 is below LL. Buy the call, sell short e−0.01≈0.990050e^{-0.01} \approx 0.990050 shares and pay the dividends owed on the short position by shorting further shares, which leaves a short position of exactly one share at TT, and lend 87.77789287.777892 until TT. Today this brings in −11+99.004983−87.777892≈0.227091-11 + 99.004983 - 87.777892 \approx 0.227091, and at TT the position pays (ST−90)+−ST+90=(90−ST)+≥0(S_T - 90)^{+} - S_T + 90 = (90 - S_T)^{+} \ge 0. The quote 99.5099.50 is above UU, and selling the call while buying 0.9900500.990050 shares with dividends reinvested brings in about 0.4950170.495017 and leaves min⁡(ST,90)≥0\min(S_T, 90) \ge 0. Neither trade uses a volatility, which is why no volatility can explain these quotes.

  1. With S=100S = 100, r=q=0r = q = 0, τ=0.1\tau = 0.1 and σ=0.3\sigma = 0.3, a call with K=100K = 100 costs about 3.7832803.783280 and a call with K=130K = 130 about 0.0092280.009228. A solver stops as soon as its price residual is at most 0.0010.001. Which volatilities can it return in each case?
Show the answer

The vegas at σ=0.3\sigma = 0.3 are about 12.60147812.601478 for K=100K = 100 and 0.3137460.313746 for K=130K = 130, where d1≈−2.718d_1 \approx -2.718. The inverse sensitivity estimates the accepted volatility error as 0.001/ν0.001/\nu, about 0.0000790.000079 and 0.00320.0032. Inverting the prices C±0.001C \pm 0.001 exactly gives the accepted intervals of about [0.299921,0.300079][0.299921, 0.300079] for K=100K = 100 and [0.296674,0.303066][0.296674, 0.303066] for K=130K = 130. The same price tolerance allows a volatility error about forty times larger far out of the money. A tolerance in price is not a tolerance in volatility, and a stopping rule based on the width of a bracket controls the volatility error directly.

  1. For the constructed target 7.9655677.965567 with S=K=100S = K = 100, r=q=0r = q = 0 and τ=1\tau = 1, a classmate starts Newton’s method at σ0=2\sigma_0 = 2. Compute the first step and explain what a safeguarded method with the bracket [0.001,2][0.001, 2] does instead.
Show the answer

At σ0=2\sigma_0 = 2 the price is 100(2Φ(1)−1)≈68.268949100(2\Phi(1) - 1) \approx 68.268949, so F(2)≈60.303382F(2) \approx 60.303382, and the vega is 100 φ(1)≈24.197072100\,\varphi(1) \approx 24.197072. The Newton step gives

σ1≈2−60.30338224.197072≈−0.492177,\begin{aligned} \sigma_1 &\approx 2 - \frac{60.303382}{24.197072} \\[0.4em] &\approx -0.492177, \end{aligned}

a negative volatility, outside the domain of the formula. The price is concave in σ\sigma here, so every tangent line lies above the graph, and a Newton step from the right of the root always lands to its left, here far enough to cross zero. The safeguarded method rejects this point because it is not inside (0.001,2)(0.001, 2) and bisects to 1.00051.0005, where F>0F > 0, so the bracket becomes [0.001,1.0005][0.001, 1.0005]. The Newton step from 1.00051.0005 gives about 0.1384920.138492, inside the bracket, where F<0F < 0, so the bracket becomes [0.138492,1.0005][0.138492, 1.0005]. From there the Newton steps give about 0.1999250.199925 and then a value within 10−910^{-9} of 0.20.2, both inside the bracket.

How this lesson connects