LoslegenKostenlos loslegen

Optionsbewertung und der Basiswert

Optionen sind im Grunde Wetten auf die künftige Entwicklung des Preises des zugrunde liegenden Basiswerts.

Eine Put-Option ist zum Beispiel wertvoll, wenn der Spot- (Markt-)Preis unter den Ausübungspreis der Option fällt. Die Inhaberin bzw. der Inhaber kann die Option ausüben, den Basiswert zum Strike \(X\) verkaufen und ihn zum Spot \(S < X\) zurückkaufen; der Gewinn beträgt dann \(X - S\).

In dieser Übung bewertest und visualisierst du eine europäische Put-Option auf die IBM-Aktie. Du wendest dafür erneut die Black-Scholes-Formel an – während sich der Spot \(S\) verändert.

Der Strike X = 140, die Restlaufzeit T beträgt ein halbes Jahr, und der risikofreie Zinssatz liegt bei 2 %.

Die annualisierte Volatilität von IBM ist als sigma verfügbar, und die Plot-Achse option_axis steht bereit, um deinen Plot hinzuzufügen.

Den Quellcode der Funktion black_scholes() findest du hier.

Diese Übung ist Teil des Kurses

Quantitative Risk Management in Python

Kurs anzeigen

Anleitung zur Übung

  • Setze IBM_spot auf die ersten 100 Beobachtungen aus der IBM-Spot-Preisz eitreihe.
  • Berechne das Numpy-Array option_values, indem du über eine Enumeration von IBM_spot iterierst und die Preisformel black_scholes() verwendest.
  • Plotte option_values, um die Beziehung zwischen Veränderungen des Spot-Preises (in Blau) und Änderungen des Optionswerts (in Rot) zu sehen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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()
Code bearbeiten und ausführen