Articles

How do you calculate implied volatility with Newton's method?

Implied volatility has no closed form, but on an ordinary option Newton's method gets there in two steps. The work is in the seed, the units of vega and the cases where it fails.

Guess a volatility, price the option, and correct the guess by the pricing error divided by vega; repeat until the model price equals the quote. On a one-year at-the-money call with spot 100, strike 100 and a 4 per cent rate, quoted at 12.50, Newton's method starting from 24 per cent reaches 26.7302 per cent in two passes. It fails only when vega is near zero, which is why the seed matters.

Worked in full in Quantitative Finance by Julian R. Sterling, with every figure reproduced in a free workbook.See the book on Amazon →

The assumptions

The option is Kestrel 100, the European call that runs through Quantitative Finance. At the 24 per cent volatility the book prices it with, the closed form gives 11.454068. A dealer quotes it at 12.50. The question is which volatility, put into the same formula, returns 12.50. All figures are illustrative.

Kestrel 100, the inputs
InputValue
Spot100.00
Strike100.00
Risk-free rate, continuous4.0%
Time to expiry, years1
Model volatility24.0%
Model price at 24 per cent11.454068
Market quote12.50

The calculation, step by step

The Black-Scholes price is monotonic in volatility, so exactly one volatility matches any arbitrage-free quote. It cannot be isolated algebraically, because it sits inside both d1 and d2, so it is found by iteration. Newton's method uses the slope of the price with respect to volatility, which is vega, to decide how far to move.

Price = S × N(d1) − K × e−rT × N(d2), with d1 = [ln(S/K) + (r + σ²/2)T] / (σ√T), d2 = d1 − σ√T

Vega = S × n(d1) × √T, per unit of volatility

Newton step: σnew = σ − (Price(σ) − Quote) / Vega(σ)

Excel price: =S*NORM.S.DIST(d1,TRUE)-K*EXP(-r*T)*NORM.S.DIST(d2,TRUE); vega: =S*NORM.S.DIST(d1,FALSE)*SQRT(T)

At 24 per cent, d1 is 0.286667 and d2 is 0.046667, the price is 11.454068 and vega is 38.2882 per unit of volatility, or 0.382882 per volatility point. The model is 1.045932 below the quote.

Newton's method from a 24 per cent seed, quote 12.50
PassVolatility triedModel priceErrorVega, per unitStep, points
024.0000%11.454068−1.04593238.2882+2.7317
126.7317%12.5005950.00059538.3251−0.0016
226.7302%12.5000000.00000038.32510.0000

The first step divides 1.045932 by 38.2882 and adds 2.7317 points, landing within 0.0016 of a point. The second step cleans up the remainder. Two passes are typical near the money because the price there is almost linear in volatility: vega barely changes between 24 and 27 per cent.

The result

The quote of 12.50 implies 26.7302 per cent. Put back into the closed form, 26.7302 per cent reprices the call at 12.500000. A useful rule of thumb falls out of the same numbers: near the money each 1.00 of option price is worth about 2.61 volatility points, the inverse of vega per point.

A good seed shortens the work further. The Brenner-Subrahmanyam approximation, σ ≈ √(2π/T) × Price / Spot, gives 2.5066 × 12.50 / 100, or 31.33 per cent. Newton from there also lands on 26.7302 per cent in two passes, approaching from above rather than below.

What if the quote moves?

Implied volatility across quotes, same option
QuoteImplied volatilityVega per point there
10.0020.20%0.3815
11.0022.81%0.3826
11.45406824.00%0.3829
12.5026.73%0.3833
14.0030.64%0.3832
16.0035.87%0.3824

At the money, vega is nearly flat across the whole range, which is why Newton behaves so well there. Far from the money it does not. Take a three-month call struck at 140 on the same stock, quoted at 0.05. Its implied volatility is 27.68 per cent. Start Newton at 24 per cent and it converges in five passes. Start it at 15 per cent, where the model price is effectively zero and vega is 0.0018, and the first step divides a small error by an almost-zero slope: it jumps to 2,788 per cent and the next step goes negative. Start at 12 per cent and vega is 0.000009, too small to use at all.

For a production solver, bracket first and use bisection whenever the Newton step would leave the bracket or vega falls below a floor. Bisection on the 140 strike finds 27.68 per cent from any interval that contains it; it is slower, never wrong.

The common mistake

The most frequent bug is a unit mismatch in vega. Systems report vega per volatility point (0.382882 here) because that is what a trader wants to read. Newton needs it per unit of volatility (38.2882), because the volatility in the formula is a decimal. Divide the error of 1.045932 by the per-point figure and the first step moves 2.73 units instead of 2.73 points: from 24 per cent to 297.2 per cent, where the option is worth 86.54. Depending on the code, the iteration then crawls back, diverges or returns a negative volatility. The second bug is a sign or bracket error in the pricing function itself; the companion workbook was corrected for one that sent the iteration to a negative volatility on this very quote. Test the solver by pricing at a known volatility and inverting it: 11.454068 must return exactly 24.00 per cent.

Implied volatility is an input to hedging as well as pricing; for what the hedge does with it, see does hedging monthly instead of daily lose money.

Takeaway

The closed form, the vega grid and the Newton iteration are live in the free workbook for this case, so any quote, strike or maturity can be inverted on the sheet.

Questions readers ask

Is there a formula for implied volatility?

No closed form exists, because volatility enters the Black-Scholes price through both d1 and d2. It is solved numerically. Newton's method is the standard choice: on a one-year at-the-money call quoted at 12.50 it reaches 26.7302 per cent in two passes from a 24 per cent seed. Excel's Goal Seek does the same job on a single cell.

What is a good starting guess for implied volatility?

For an option near the money, the Brenner-Subrahmanyam approximation: the square root of 2 pi over T, times the price over spot. On a 12.50 quote with spot 100 and one year it gives 31.33 per cent, and Newton converges from there in two passes. Far from the money use a high seed or bisection, because vega near zero breaks Newton.

Why does my implied volatility solver return a negative number?

Usually vega is in the wrong units or the seed sits where vega is close to zero. Dividing the pricing error by vega per point (0.382882) instead of per unit (38.2882) moves the first step to 297.2 per cent. On a far out-of-the-money option a 15 per cent seed has almost no vega, and the first step jumps to 2,788 per cent.

Read the whole case

This article is one calculation from Quantitative Finance. The book takes the same case from first principles to the decision, chapter by chapter, and every figure it prints is a live formula in the free companion workbooks.

Get the book on Amazon →Free companion files

Also on Amazon UK · Amazon Germany · Amazon France · Amazon Canada

Also on this site

Reading guide: corporate finance, valuation and markets → · All 453 articles →

If this book helped, or didn’t, a few lines on Amazon are worth more than they look: they are what the next reader goes on. Write a review. The workbook stays free either way.