My data provider includes the greeks. I tried to compute the IV's myself using RQuantLib and see if they match -- for Puts it's generally close, for Calls however certain values are way way off -- any ideas?

Sample data:

X                 30824 30824
underlying        MSFT
underlying_last   29.91
exchange          * 
optionroot        MSQ071020C00022500
optionext         NA 
type              call 
expiration        2007-10-20
quotedate         2007-10-11
strike            22.5 
last              7.80 
bid               7.35 
ask               7.50
volume            33         
openinterest      4983   
impliedvol        0.010000 
delta             1.000000 
gamma             0.000000 
theta             -0.246377 
vega              0.000000
optionalias       MSQJX 
my.iv             1.0892231   
maturityfrac      0.024657533

Impliedvol is from my data provider, my.iv is my calculation.

    > AmericanOptionImpliedVolatility("call", 7.8, 29.91, 22.5, 0.01, 0.01, 0.024, 0.01)
[1] 1.559311
[1] "AmericanOptionImpliedVolatility" "ImpliedVolatility"  

Notice the RQuantLib value is 1.5, my data provider gets 0.01 -- what gives?

  • $\begingroup$ Where did you get the risk-free value, i.e.: the zero curve? The dividend? I don't see it listed in the question. Did you just guess and randomly enter 0.01? $\endgroup$ – SmallChess Jan 4 '16 at 8:58
  • $\begingroup$ Could not find anything regarding the value returned by RQuantLib:: AmericanOptionImpliedVolatility but at a glance it seems that it is a percentage which is roughly the same as your data provider's IV: 1.5% ~ 0.015 $\endgroup$ – Rime Jan 4 '16 at 10:51
  • $\begingroup$ @Rime: no, 1.5 would be 150%. $\endgroup$ – Luigi Ballabio Jan 4 '16 at 12:32

The 0.01 from your provider is likely wrong, or it could be some kind of default value that gets displayed when the option expires.

According to the data you posted, you're just 9 days from expiration, and your underlying price is just about 3/4 of the strike price; that is, you're pretty out of the money. You're going to need a lot of volatility to get a price of 7.8, and in fact, online calculators (just google for "implied volatility calculator") agree with QuantLib that you're in the neighbourhood of 150%.

Also, your provider's value is suspiciously accurate. 0.010000 exactly? No non-zero decimals from root-solving? Hmm. Not to mention a delta of exactly 1 and a gamma and vega of 0. The delta, in particular, makes no sense; it can't be 1 for an option out of the money.

In short: I'd check with your provider.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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