Valoración de opciones de Black-Scholes
Las opciones son el derivado más utilizado en el mundo para ayudar a gestionar el riesgo del precio de los activos. En este ejercicio vas a valorar una opción de compra europea sobre acciones de IBM utilizando la fórmula de valoración de opciones de Black-Scholes. Se han cargado los datos de IBM_returns
en tu espacio de trabajo.
Primero calcularás la volatilidad sigma
de IBM_returns
, como desviación típica anualizada.
A continuación utilizarás la función black_scholes()
, creada para este ejercicio y los siguientes, para valorar opciones para dos niveles de volatilidad diferentes: sigma
y dos veces sigma
.
El precio de ejercicio K
, es decir, el precio al que un inversor tiene el derecho (pero no la obligación) de comprar IBM, es 80. El tipo de interés sin riesgo r
es el 2 % y el precio de mercado al contado S
es 90.
Tienes el código fuente de la función black_scholes()
aquí.
Este ejercicio forma parte del curso
Gestión cuantitativa de riesgos en Python
Instrucciones del ejercicio
- Calcula la volatilidad de
IBM_returns
como desviación típica anualizadasigma
(anualizaste la volatilidad en el capítulo 1). - Calcula el precio de la opción de compra europea de Black-Scholes
value_s
utilizando la funciónblack_scholes()
proporcionada, cuando la volatilidad essigma
. - A continuación, halla el precio de la opción de Black-Scholes
value_2s
cuando la volatilidad es 2 ×sigma
. - Visualiza
value_s
yvalue_2s
para examinar cómo cambia el precio de la opción con un aumento de la volatilidad.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Compute the volatility as the annualized standard deviation of IBM returns
sigma = np.sqrt(____) * IBM_returns.____
# Compute the Black-Scholes option price for this volatility
value_s = black_scholes(S = 90, X = 80, T = 0.5, r = 0.02,
sigma = ____, option_type = "call")
# Compute the Black-Scholes option price for twice the volatility
value_2s = ____(S = 90, X = 80, T = 0.5, r = 0.02,
sigma = ____, option_type = "call")
# Display and compare both values
print("Option value for sigma: ", ____, "\n",
"Option value for 2 * sigma: ", ____)