Uso de las opciones como cobertura
Supongamos que tienes un portafolio de inversión con un activo, IBM. Cubrirás el riesgo del portafolio utilizando cobertura delta con una opción de venta europea sobre IBM.
En primer lugar, valora la opción de venta europea mediante la fórmula de valoración de opciones de Black-Scholes, con un precio de ejercicio X
de 80 y un plazo de vencimiento T
de medio año. El tipo de interés sin riesgo es el 2 % y el precio al contado S
es inicialmente 70.
A continuación, crea una cobertura delta calculando la delta
de la opción con la función bs_delta()
, y utilízala para cubrirte frente a un cambio del precio de las acciones a 69,5. El resultado es un portafolio delta neutral tanto de la opción como de la acción.
Las dos funciones black_scholes()
y bs_delta()
están disponibles en tu espacio de trabajo.
Tienes el código fuente de las funciones black_scholes()
y bs_delta()
aquí.
Este ejercicio forma parte del curso
Gestión cuantitativa de riesgos en Python
Instrucciones de ejercicio
- Calcula el precio de una opción de venta europea al precio al contado de 70.
- Halla la
delta
de la opción utilizando la funciónbs_delta()
proporcionada al precio al contado de 70. - Calcula el
value_change
de la opción cuando el precio al contado cae a 69,5. - Demuestra que la suma del cambio del precio al contado y el
value_change
ponderado por 1/delta
es (próxima a) cero.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Compute the annualized standard deviation of `IBM` returns
sigma = np.sqrt(252) * IBM_returns.std()
# Compute the Black-Scholes value at IBM spot price 70
value = black_scholes(S = ____, X = 80, T = 0.5, r = 0.02,
sigma = sigma, option_type = "put")
# Find the delta of the option at IBM spot price 70
delta = bs_delta(S = ____, X = 80, T = 0.5, r = 0.02,
sigma = sigma, option_type = "put")
# Find the option value change when the price of IBM falls to 69.5
value_change = ____(S = 69.5, X = 80, T = 0.5, r = 0.02,
sigma = sigma, option_type = "put") - ____
print( (69.5 - 70) + (1/delta) * ____ )