I was studying the implied volatility for European Vanilla Call option. My notes said that we can apply Newton's algorithm to calculate implied volatility numerically. I understand how the algorithm works and the updating part is straightforward. However, I am confused by the initial guess of $\sigma$: $$ \sigma_0 = \sqrt{\frac{2\log(S_te^{r(T-t)}/K)}{T}}. $$ I don't understand why I have to choose the initial guess like this. Does a random guessed number affect the convergence of the algorithm?

  • 1
    $\begingroup$ You need to start with a reasonable approximation to the vol. There are many "approximate call pricing" formulas available, that can be inverted to give an "approximate vol" formula, see for example here quant.stackexchange.com/questions/1150/… $\endgroup$
    – nbbo2
    Oct 13, 2020 at 8:50

1 Answer 1


For a vanilla call option, the price of the option increases monotonically with implied volatility. For functions like this, newton's method works really nicely, and it's not very sensitive to the choice of starting parameter

I've borrowed an image from this webpage, detailing the technique:

Newton for monotonic function

If you think of the red line as being the price of your option minus the observed market price against the implied vol, you'll see that no matter which initial guess you choose (as long as it's above $0$), you'll home in to the true value very quickly.

Given this, your initial guess above corresponds to $d_- = 0$, but you could just as easily choose an initial guess that makes $d_+ = 0$: \begin{align} \sigma_0 = \sqrt{{\frac {2 \log{{\frac K {S_t e^{r(T-t)}}}}} {T}}} \end{align} or almost any other value...


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.