I wrote a piece of code to get option chains with volatility and greeks from IB market data. After testing yesteday, it seems to work, but I am surprised of seeing bid and ask for impliedVolatility and every greek.

I am guessing that bid_IV and bid_greeks are those associated to the option if priced at the bid value, and the same for ask. When bid or ask is not available, its IV and greeks data are empty.

So, if my intention is plotting the volatility surface for diferent strikes and expiration dates:

  1. Shall I get the midpoint between bid_IV and ask_IV?
  2. Whenever bid_IV or ask_IV is not available, should I use the one which is available, or not plotting it?
  3. I am afraid of getting the data with a wrong format. I supposed that IV was a percentile, and therefore would be represented between 0 and 1. But if I go too deep ITM, this value is greater than 1 (specially if I still consider IV when its bid or ask is not available). I know that those options with IV greater than 1 are too deep ITM/OTM, so maybe I could just ignore them since they have little use. But, does this make sense? Is the data right and well formatted, or is this a hint of an error in the data representation when saved to Excel?


  1. It depends on what are you going to use the IV for. Are you selling or buying? If doing both, taking volume/quote into account is sensible
  2. Extrapolate if doing only bid or only ask curve
  3. For deep ITM/OTM
  • $\begingroup$ Could you please give more detail about taking volume/quote into account or tel me where to study this? Also, about the third question, that link does not clarifies if it a deep ITM option IV can be greater than 1 or not, which is my main concern (because if not possible, would mean my data is wrong) $\endgroup$ – Roman Rdgz Feb 10 '16 at 10:26
  • $\begingroup$ Why do you think IV cannot be larger than 1? Volume of trades, and open interest is available in yahoo; but open interest is not divided by bids and asks. You need active trade data which will give you number of bids/ask at different bid/ask levels and order counts $\endgroup$ – adam Feb 10 '16 at 23:12
  • $\begingroup$ Because I though it was a percentile... So, the idea is avoiding representing those options without open interest (or with a very low op. int. anyway)? $\endgroup$ – Roman Rdgz Feb 11 '16 at 7:21
  • 1
    $\begingroup$ If there is low interest or volume, they should not be used to build curve $\endgroup$ – adam Feb 11 '16 at 9:57

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.