Newton-Raphson and Brent for Implied Volatility

Hard·22 min read
CalibrationImplied VolatilityRoot-FindingBlack-Scholes

Setup

Market Context

Implied volatility σ∗(K,T)\sigma^*(K, T) is the unique value of σ\sigma such that the Black-Scholes price matches the observed market price of an option with strike KK and expiry TT. It is the standard language in which option markets quote prices: traders say "I buy the 1-month 25-delta put at 18 vol", not "at price €3.47".

Computing implied vol is therefore an inversion problem, performed thousands of times per second in a live trading system. Correctness and speed both matter. A slow inverter causes pricing latency; a numerically fragile one produces garbage implied vols for deep OTM strikes, polluting the vol surface.

Conventions

Throughout this module:

  • CBS(σ;S,K,r,q,T)C_{\mathrm{BS}}(\sigma; S, K, r, q, T): Black-Scholes call price, where SS is spot, KK is strike, rr is the continuously compounded risk-free rate, qq is the continuous dividend yield, TT is time to expiry in years (Act/365 unless stated).
  • Volatility σ\sigma is annualised, in decimal (0.20=20%0.20 = 20\%).
  • F=Se(r−q)TF = S e^{(r-q)T}: the forward price.
  • d1=ln⁡(F/K)+12σ2TσTd_1 = \frac{\ln(F/K) + \frac{1}{2}\sigma^2 T}{\sigma\sqrt{T}}, d2=d1−σT\quad d_2 = d_1 - \sigma\sqrt{T}.

The Black-Scholes call price:

CBS(σ)=e−rT[FΦ(d1)−KΦ(d2)].C_{\mathrm{BS}}(\sigma) = e^{-rT}\bigl[F \Phi(d_1) - K \Phi(d_2)\bigr].

Assumptions before use:

  1. Constant volatility σ\sigma over [0,T][0, T].
  2. Lognormal spot dynamics under the risk-neutral measure.
  3. No early exercise (European option).
  4. Liquid, arbitrage-free market quote CmktC_{\mathrm{mkt}} with Cmkt∈((F−K)+ e−rT,  S e−qT)C_{\mathrm{mkt}} \in \bigl((F - K)^+\, e^{-rT},\; S\, e^{-qT}\bigr) — the no-arbitrage bounds.

Theory: Implied Vol as a Root-Finding Problem

Define the objective function:

f(σ)=CBS(σ)−Cmkt.f(\sigma) = C_{\mathrm{BS}}(\sigma) - C_{\mathrm{mkt}}.

We seek σ∗>0\sigma^* > 0 such that f(σ∗)=0f(\sigma^*) = 0. This function has the following properties that govern algorithm design:

  1. Monotonicity. For σ>0\sigma > 0, CBSC_{\mathrm{BS}} is strictly increasing in σ\sigma: f′(σ)=V>0f'(\sigma) = \mathcal{V} > 0, where V=Se−qTT ϕ(d1)\mathcal{V} = S e^{-qT} \sqrt{T}\, \phi(d_1) is the Black-Scholes vega and ϕ=Φ′\phi = \Phi' is the standard normal density. Monotonicity guarantees at most one root.
  2. Boundary behaviour. CBS(0)=e−rT(F−K)+C_{\mathrm{BS}}(0) = e^{-rT}(F - K)^+ (intrinsic value) and CBS(∞)=Se−qTC_{\mathrm{BS}}(\infty) = S e^{-qT} (full asset price). For CmktC_{\mathrm{mkt}} in the arbitrage-free interior, a root exists.
  3. Vega degeneracy. At extreme strikes (∣d1∣→∞|d_1| \to \infty), ϕ(d1)→0\phi(d_1) \to 0, so V→0\mathcal{V} \to 0. Newton-Raphson σn+1=σn−f(σn)/f′(σn)\sigma_{n+1} = \sigma_n - f(\sigma_n)/f'(\sigma_n) divides by a near-zero vega and can produce catastrophic oscillations or divergence.

Newton-Raphson

Algorithm

Starting from an initial guess σ0\sigma_0, Newton-Raphson iterates:

σn+1=σn−f(σn)f′(σn)=σn−CBS(σn)−CmktV(σn).\sigma_{n+1} = \sigma_n - \frac{f(\sigma_n)}{f'(\sigma_n)} = \sigma_n - \frac{C_{\mathrm{BS}}(\sigma_n) - C_{\mathrm{mkt}}}{\mathcal{V}(\sigma_n)}.

Convergence rate. Near a simple root, Newton-Raphson converges quadratically: if ∣σn−σ∗∣=ε|\sigma_n - \sigma^*| = \varepsilon, then ∣σn+1−σ∗∣=O(ε2)|\sigma_{n+1} - \sigma^*| = O(\varepsilon^2). The number of correct decimal digits doubles per iteration. For a good initial guess, 3–5 iterations suffice.

Formal proof. By Taylor expansion around σ∗\sigma^*:

f(σn)=f(σ∗)+f′(σ∗)(σn−σ∗)+12f′′(ξ)(σn−σ∗)2=f′(σ∗)(σn−σ∗)+O((σn−σ∗)2),f(\sigma_n) = f(\sigma^*) + f'(\sigma^*)(\sigma_n - \sigma^*) + \tfrac{1}{2}f''(\xi)(\sigma_n - \sigma^*)^2 = f'(\sigma^*)(\sigma_n - \sigma^*) + O((\sigma_n - \sigma^*)^2),

since f(σ∗)=0f(\sigma^*) = 0. Thus:

σn+1−σ∗=σn−σ∗−f(σn)f′(σn)=−f′′(ξ)2f′(σn)(σn−σ∗)2+O((σn−σ∗)3).\sigma_{n+1} - \sigma^* = \sigma_n - \sigma^* - \frac{f(\sigma_n)}{f'(\sigma_n)} = -\frac{f''(\xi)}{2f'(\sigma_n)}(\sigma_n - \sigma^*)^2 + O((\sigma_n - \sigma^*)^3).

The error is bounded by ∣en+1∣≤C∣en∣2|e_{n+1}| \leq C |e_n|^2 where C=∣f′′(σ∗)∣/(2∣f′(σ∗)∣)C = |f''(\sigma^*)| / (2|f'(\sigma^*)|) is the asymptotic constant.

Initial Guess

A poor initial guess causes slow convergence or divergence. The Brenner-Subrahmanyam (1988) approximation for near-ATM options provides a first-order starting point:

σ0≈2πT⋅CmktSe−qT.\sigma_0 \approx \sqrt{\frac{2\pi}{T}} \cdot \frac{C_{\mathrm{mkt}}}{S e^{-qT}}.

This is a linearisation of the ATM Black-Scholes formula CATM≈Se−qTσT/(2π)C_{\mathrm{ATM}} \approx S e^{-qT} \sigma \sqrt{T/(2\pi)}. For skewed strikes, a better guess uses the Corrado-Miller approximation.

Failure Modes

Deep OTM puts and calls. When ∣d1∣>4|d_1| > 4, the vega is below 10−810^{-8} per unit notional. Newton-Raphson steps become enormous and overshoot wildly. The algorithm must detect this case and switch strategies.

Near-zero time to expiry. As T→0T \to 0, the whole vol surface compresses. Vega scales as T→0\sqrt{T} \to 0. Newton-Raphson becomes unreliable for T<0.001T < 0.001 years (less than one trading day).

Near-intrinsic options. If Cmkt≈(F−K)+e−rTC_{\mathrm{mkt}} \approx (F - K)^+ e^{-rT} (i.e., the option is priced at near-intrinsic), the root is near σ=0\sigma = 0 and both f(σ)f(\sigma) and V(σ)\mathcal{V}(\sigma) are near zero simultaneously. l'Hôpital's rule applies in the limit but the numerical ratio is unstable.


Brent's Method

Brent's method (1973) combines three strategies: bisection, secant, and inverse quadratic interpolation (IQI). It is guaranteed to converge to machine precision within O(log⁡2(1/ε))O(\log_2(1/\varepsilon)) function evaluations, making it the default fallback.

Bracketing

Brent requires a bracket [σlo,σhi][\sigma_{\mathrm{lo}}, \sigma_{\mathrm{hi}}] with f(σlo)⋅f(σhi)<0f(\sigma_{\mathrm{lo}}) \cdot f(\sigma_{\mathrm{hi}}) < 0. Since ff is monotone and bounded:

σlo=10−8(near zero but finite),σhi=10.0(1000% vol).\sigma_{\mathrm{lo}} = 10^{-8} \quad (\text{near zero but finite}), \qquad \sigma_{\mathrm{hi}} = 10.0 \quad (1000\%\ \text{vol}).

This bracket is valid for any arbitrage-free market quote. Initial f(σlo)<0f(\sigma_{\mathrm{lo}}) < 0 (intrinsic value is below the market) and f(σhi)>0f(\sigma_{\mathrm{hi}}) > 0 (deep-ITM call at 1000 vol recovers full asset value), so the sign condition is satisfied.

Algorithm Sketch

Maintain three points aa, bb, cc with f(a)⋅f(b)≤0f(a) \cdot f(b) \leq 0, ∣f(b)∣≤∣f(a)∣|f(b)| \leq |f(a)|. At each step:

  1. IQI if the last two steps used secant and the three points are distinct: fit a quadratic through (a,f(a))(a, f(a)), (b,f(b))(b, f(b)), (c,f(c))(c, f(c)) and take the root.
  2. Secant if the last step was not secant: use the linear interpolant through (a,f(a))(a, f(a)), (b,f(b))(b, f(b)).
  3. Bisection if the candidate from steps 1/2 lies outside (b,(a+b)/2)(b, (a+b)/2) or convergence is slow: take the midpoint.

This topic requires Premium

Only today's featured topic is free. Unlock the full Today's Focus archive with Premium.

Read the theory? Run the code.

View Notebook→