Wycena opcji metodą Blacka-Scholesa
Opcje to najszerzej stosowane na świecie instrumenty pochodne służące zarządzaniu ryzykiem cenowym aktywów. W tym ćwiczeniu wycenisz europejską opcję kupna na akcje IBM, korzystając ze wzoru Blacka-Scholesa. Dane IBM_returns zostały już wczytane do środowiska.
Na początku obliczysz zmienność sigma na podstawie IBM_returns jako annualizowane odchylenie standardowe.
Następnie użyjesz funkcji black_scholes() – przygotowanej na potrzeby tego i kolejnych ćwiczeń – aby wycenić opcje przy dwóch różnych poziomach zmienności: sigma oraz dwukrotności sigma.
Cena wykonania K, czyli cena, po której inwestor ma prawo (ale nie obowiązek) kupić akcje IBM, wynosi 80. Stopa wolna od ryzyka r wynosi 2%, a bieżąca cena rynkowa S wynosi 90.
Kod źródłowy funkcji black_scholes() znajdziesz tutaj.
To ćwiczenie jest częścią kursu
Ilościowe zarządzanie ryzykiem w Pythonie
Instrukcje do ćwiczenia
- Oblicz zmienność
IBM_returnsjako annualizowane odchylenie standardowesigma(annualizację zmienności wprowadzono w rozdziale 1.). - Oblicz cenę europejskiej opcji kupna metodą Blacka-Scholesa
value_s, używając dostarczonej funkcjiblack_scholes(), gdy zmienność wynosisigma. - Następnie wyznacz cenę opcji
value_2smetodą Blacka-Scholesa, gdy zmienność wynosi 2 *sigma. - Wyświetl
value_sivalue_2s, aby sprawdzić, jak cena opcji zmienia się wraz ze wzrostem zmienności.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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: ", ____)