Wycena opcji i instrument bazowy
Opcje to w istocie zakłady na przyszłą zmianę ceny instrumentu bazowego.
Na przykład opcja put zyskuje na wartości, gdy cena spot (rynkowa) spada poniżej ceny wykonania opcji. Posiadacz opcji może ją wykonać, sprzedając instrument bazowy po cenie wykonania \(X\) i odkupując go po cenie spot \(S < X\), osiągając zysk \(X - S\).
W tym ćwiczeniu wycenisz europejską opcję put na akcje IBM i zwizualizujesz jej wartość, ponownie korzystając z formuły Blacka-Scholesa – tym razem przy zmieniającej się cenie spot \(S\).
Cena wykonania wynosi X = 140, czas do wygaśnięcia T to 1/2 roku, a stopa wolna od ryzyka wynosi 2%.
Zanualizowana zmienność IBM jest dostępna jako sigma, a oś wykresu option_axis służy do dodania twojego wykresu.
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
- Ustaw
IBM_spotjako pierwsze 100 obserwacji z szeregu czasowego cen spotIBM. - Oblicz tablicę NumPy
option_values, iterując po elementachIBM_spotz użyciem funkcji wyceniającejblack_scholes(). - Narysuj wykres
option_values, aby zobaczyć zależność między zmianami ceny spot (na niebiesko) a zmianami wartości opcji (na czerwono).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Select the first 100 observations of IBM data
IBM_spot = IBM[:____]
# Initialize the European put option values array
option_values = np.zeros(IBM_spot.size)
# Iterate through IBM's spot price and compute the option values
for i,S in enumerate(____.values):
option_values[i] = black_scholes(S = ____, X = 140, T = 0.5, r = 0.02,
sigma = ____, option_type = "put")
# Display the option values array
option_axis.plot(____, color = "red", label = "Put Option")
option_axis.legend(loc = "upper left")
plt.show()