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(rq)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(σ)=erT[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((FK)+erT,  SeqT)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=SeqTTϕ(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)=erT(FK)+C_{\mathrm{BS}}(0) = e^{-rT}(F - K)^+ (intrinsic value) and CBS()=SeqTC_{\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 V0\mathcal{V} \to 0. Newton-Raphson σn+1=σnf(σ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=σnf(σn)f(σn)=σnCBS(σ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+1Cen2|e_{n+1}| \leq C |e_n|^2 where C=f(σ)/(2f(σ))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:

σ02πTCmktSeqT.\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 CATMSeqTσ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 10810^{-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 T0T \to 0, the whole vol surface compresses. Vega scales as T0\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(FK)+erTC_{\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(log2(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=108(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