LoslegenKostenlos loslegen

VaR und Risikoexponierung

Zuvor hast du den VaR und CVaR berechnet, wenn Verluste normalverteilt sind. Hier bestimmst du den VaR mit einer anderen gängigen Verlustverteilung, der Student-t-Verteilung (oder T) aus scipy.stats.

Du berechnest ein Array von 99-%-VaR-Maßen aus der T-Verteilung (mit 30 - 1 = 29 Freiheitsgraden), basierend auf 30‑Tage‑Rollfenstern der Portfolio-losses einer Investmentbank.

Zuerst bestimmst du den Mittelwert und die Standardabweichung jedes Fensters und erstellst eine Liste rolling_parameters. Damit berechnest du dann das 99-%-VaR-Array der Kennzahlen.

Anschließend verwendest du dieses Array, um die Risikoexponierung für ein Portfolio mit einem anfänglichen Wert von 100.000 $ zu visualisieren. Denk daran: Die Risikoexponierung ist die Verlustwahrscheinlichkeit (hier 1 %) multipliziert mit der Verlusthöhe (hier der Verlust gemäß dem 99-%-VaR).

Diese Übung ist Teil des Kurses

Quantitative Risk Management in Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Student-t-Verteilung aus scipy.stats.
  • Berechne aus losses die Mittelwert- (mu) und Standardabweichungsvektoren (sigma) für 30‑Tage‑Fenster und speichere sie in rolling_parameters.
  • Berechne ein Numpy-Array von 99-%-VaR-Maßen VaR_99 mit t.ppf() aus einer Liste von T-Verteilungen unter Verwendung der Elemente von rolling_parameters.
  • Berechne und visualisiere die Risikoexponierung, die mit dem VaR_99-Array verbunden ist.

Interaktive Übung

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

# Import the Student's t-distribution
from scipy.____ import t

# Create rolling window parameter list
mu = losses.rolling(30).____
sigma = losses.rolling(30).____
rolling_parameters = [(29, mu[i], s) for i,s in enumerate(sigma)]

# Compute the 99% VaR array using the rolling window parameters
VaR_99 = np.array( [ t.ppf(____, *params) 
                    for params in ____ ] )

# Plot the minimum risk exposure over the 2005-2010 time period
plt.plot(losses.index, 0.01 * ____ * 100000)
plt.show()
Code bearbeiten und ausführen