Estoy tratando de recrear el CBOE's SKEW Índice en Python. Necesito calcular los términos de error que son términos de ajuste para las diferencias entre los atm strike
y el forward
.
Mi fórmula es
error_term_1 = -1 * (1 + np.log(forward / atm_strike) - (forward / atm_strike))
error_term_2 = 2 * np.log(atm_strike / forward) * ((forward / atm_strike) - 1) + ((np.log(atm_strike / forward) ** 2) / 2)
error_term_3 = 3 * (np.log(atm_strike / forward) ** 2) * ((np.log(atm_strike / forward) / 3) - 1 + (forward / atm_strike))
Según el ejemplo, cuando el forward
es igual a 1106.85
y el atm_strik
e es igual a 1105
los valores correctos son:
epilson_1 = 1.40E-06
epilson_2 = -4.2E-0.6
epilson_3 = 1.176E-11
Mi primera y segunda fórmula da la respuesta correcta. Sin embargo, mi tercera fórmula no lo hace. ¿Qué tengo que cambiar?
Veo en diferentes fuente que la definición es la siguiente:
Aún así, estoy obteniendo un resultado diferente cuando elimino 3
.. ¡Por favor, ayuda!