I want to calculate the implied volatility from the option data that I took from Bloomberg (call Option written on S&P500 index with the maturity of 19-Dec-2009 and strike of 1300), but volatility comes out to be zero. Do you have any ideas how I can calculate the volatility or correct the data?

  1. As the risk free rate I normally use the 3 month TBill rate.
  2. As the Last price of the option I use the average of the Bid and Ask Prices (Bloomberg last price is not available for the most of the data points).

Thank you.

Date      Bid Price Underlying Interest Rate    Time to Maturity    Ask Price   Last Price
22/12/2006  272.5   1411.73999  0.055555        2.989041096          276.5       274.5  
26/12/2006  278.5   1417.869995 0.055463        2.978082192          282.5       280.5  
27/12/2006  285.8   1427.709961 0.055666        2.975342466          289.8       287.8  
28/12/2006  285.1   1425.089966 0.05538         2.97260274           289.1       287.1  
  • $\begingroup$ I think it could be helpful if you state the method you used for computing the IVs. $\endgroup$ Commented Apr 1, 2015 at 9:56
  • $\begingroup$ @Finance_Newbie, I am using the Black Scholes Option Pricing model to find the implied volatility. $\endgroup$
    – Azer
    Commented Apr 1, 2015 at 10:39
  • $\begingroup$ I learned that it is not possible to solve the BS-formula implicitly for the implied volatility. Hence, it needs to be done numerically. Consequently, I asked for the numerical procedure you used. It would be even better if you supply some code and the software you are using. $\endgroup$ Commented Apr 1, 2015 at 10:48
  • $\begingroup$ I used two methods, first one is matlabs internal program blsimpv, the other one is optimization in excel (just simple min problem). $\endgroup$
    – Azer
    Commented Apr 1, 2015 at 11:27
  • $\begingroup$ This question has been asked before: quant.stackexchange.com/questions/7761/…. Use Newton Raphson to solve for the implied volatility. $\endgroup$
    – Matt Wolf
    Commented Apr 1, 2015 at 15:14

2 Answers 2


First, as far as I can tell, you are not taking into account dividends. Second, If you simply take the forward price of the SPX @ $5.5\%$ which is what you are using, you get $1411 \cdot \text{exp}(0.055 \cdot 2.99) = 1663$.

Given a strike of $1300$, the call should have an intrinsic value of $1663-1300= 363$. You have a price of $272$. The price is less than the intrinsic value of the option, therefore no matter what methodology you use, $IV = 0$.

  • $\begingroup$ Isn't the intrinsic value be the difference between the underlying and the strike? (1411 - 1300) ? $\endgroup$
    – SmallChess
    Commented Apr 2, 2015 at 15:17
  • $\begingroup$ @StudentT I was not able to find the reference to the above calculations either. By the way I was able to find the implied volatility for the option from the OVME function of Bloomberg. But unfortunately (as I was informed there is no automatized process to take all the implied volatility numbers, it must be done by hand). $\endgroup$
    – Azer
    Commented Apr 6, 2015 at 12:36
  • $\begingroup$ @Azer en.wikipedia.org/wiki/Intrinsic_value_(finance) $\endgroup$
    – SmallChess
    Commented Apr 6, 2015 at 12:39

See this resource at github , it uses different methods to calculate IV programmatically


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.