Black-Scholes-optieprijzing
Opties zijn wereldwijd het meest gebruikte type derivaat om het risico op activaprijzen te beheren. In deze oefening prijs je een Europese calloptie op IBM-aandelen met de Black-Scholes-optieprijzingsformule. De gegevens IBM_returns zijn in je werkruimte geladen.
Eerst bereken je de volatiliteit sigma van IBM_returns als de geannualiseerde standaarddeviatie.
Vervolgens gebruik je de functie black_scholes(), gemaakt voor deze en de volgende oefeningen, om opties te prijzen voor twee verschillende volatiliteitsniveaus: sigma en twee keer sigma.
De uitoefenprijs K (dus de prijs waarvoor een belegger het recht heeft, maar niet de plicht, om IBM te kopen) is 80. De risicovrije rente r is 2% en de markt spotprijs S is 90.
Je vindt de broncode van de functie black_scholes() hier.
Deze oefening maakt deel uit van de cursus
Kwantitatief risicobeheer in Python
Oefeninstructies
- Bereken de volatiliteit van
IBM_returnsals de geannualiseerde standaarddeviatiesigma(je hebt volatiliteit al geannualiseerd in Hoofdstuk 1). - Bereken de Black-Scholes Europese calloptieprijs
value_smet de gegeven functieblack_scholes()wanneer de volatiliteitsigmais. - Vind daarna de Black-Scholes-optieprijs
value_2swanneer de volatiliteit in plaats daarvan 2 *sigmais. - Toon
value_senvalue_2som te bekijken hoe de optieprijs verandert bij een toename van de volatiliteit.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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: ", ____)