I noted that implied volatility (IV field) from pandas.Options class is very different (especially, for out of money options) than what I compute with Black-Scholes model. (risk free rate is pulled from FRED and matches the time to expiry on the option).
Can anyone describe or provide references on how pandas.Options()
computes its IV?
An example. as of 11/13/15: MSFT's close is 52.84, call's close 5.80, expiry 12/04/2015 (0.0575 year), K=48.5, r=0.0001 (rate). pandas IV = 0.3569, my BS-implied IV=0.6712. Difference is 0.3143 (mine is greater).
Another example. Without getting into code (unless someone asks for it), here is a visual for the context background. This is for educational purpose, not live trading.
- Left-most image is my BS-implied IV.
- Center image is IV from
pandas.Options()
- Right-most image is the difference between the two.
My calculations match pandas, but only for in the money and at the money, not out of money, where my IV values are very high (while pandas are nearly zero).
Below are These are computed for MSFT call options using 10/28/15 Yahoo data.
Please let me know, if further clarification is needed. Thanks in advance.