Actualmente estoy trabajando con algunos datos OHLC de opciones (barras de 30 minutos) de IBKR para una gama de precios de ejercicio, vencimientos y tanto para calls/puts. Para cada barra, estoy tratando de retroceder el IV (crudamente usando el tesoro de 3m como un proxy para la tasa libre de riesgo y el método optimize.brentq de pyvollib/scipy para el cálculo real de IV), pero sin embargo me estoy encontrando con un problema.
He notado que cada vez que el cálculo de IV se rompe - por lo general se rompe para las opciones ITM y / o opciones que están cerca de la expiración (1 ~ 10 días), por romper me refiero a que, o bien devuelve un número anormalmente pequeño o lanza una excepción (algo así como: La volatilidad está por debajo del valor intrínseco.)
¿Por qué ocurre esto? ¿Existen otros métodos o aproximaciones que pueda utilizar para calcular correctamente el IV para opciones ITM/deep ITM? Este enlace ( https://github.com/vollib/py_vollib/issues/5 ), pero sigo sin comprender del todo los problemas de inestabilidad numérica, ¡agradecería cualquier consejo!