Optionsprissättning med Black-Scholes
Optioner är världens mest använda derivat för att hantera prisrisk på tillgångar. I den här övningen prissätter du en europeisk köpoption på IBMs aktie med hjälp av Black-Scholes-formeln för optionsprissättning. Data i IBM_returns har laddats in i din arbetsmiljö.
Först beräknar du volatiliteten sigma för IBM_returns som den annualiserade standardavvikelsen.
Därefter använder du funktionen black_scholes(), som skapats för den här och efterföljande övningar, för att prissätta optioner vid två olika volatilitetsnivåer: sigma och två gånger sigma.
Lösenpriset K, det vill säga det pris en investerare har rätten (men inte skyldigheten) att köpa IBM till, är 80. Den riskfria räntan r är 2 % och marknadspriset S är 90.
Källkoden för funktionen black_scholes() hittar du här.
Den här övningen är en del av kursen
Kvantitativ riskhantering i Python
Övningsinstruktioner
- Beräkna volatiliteten för
IBM_returnssom den annualiserade standardavvikelsensigma(du annualiserade volatilitet i kapitel 1). - Beräkna det europeiska köpoptionspriset
value_smed Black-Scholes-formeln via den tillhandahållna funktionenblack_scholes(), när volatiliteten ärsigma. - Beräkna sedan Black-Scholes-optionspriset
value_2snär volatiliteten i stället är 2 *sigma. - Visa
value_sochvalue_2sför att undersöka hur optionspriset förändras vid en ökning av volatiliteten.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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: ", ____)