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:
- Shall I get the midpoint between bid_IV and ask_IV?
- Whenever bid_IV or ask_IV is not available, should I use the one which is available, or not plotting it?
- 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?