LoslegenKostenlos starten

Kovarianzen für Volatilität berechnen

In der MPT quantifizieren wir Risiko über die Volatilität. Die Mathematik zur Berechnung der Portfolio-Volatilität ist komplex und benötigt Kovarianzen der täglichen Renditen. Wir gehen nun Monat für Monat durch das DataFrame returns_monthly und berechnen die Kovarianz der täglichen Renditen.

Mit Datetime-Indizes in pandas können wir mit df.index.month und df.index.year auf Monat und Jahr zugreifen. Damit erstellen wir eine Maske für returns_daily, die uns im Loop die täglichen Renditen für den aktuellen Monat und das aktuelle Jahr liefert. Anschließend nutzen wir die Maske, um das DataFrame so zu subsetten: df[mask]. So erhalten wir in jedem Durchlauf die Einträge in returns_daily, die im aktuellen Monat und Jahr liegen. Zum Schluss verwenden wir die pandas-Methode .cov(), um die Kovarianz der täglichen Renditen zu berechnen.

Diese Übung ist Teil des Kurses

<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Iteriere über den Index von returns_monthly.
  • Erstelle eine Maske für returns_daily, die den aktuellen Monat und das aktuelle Jahr aus returns_monthly nutzt und diese mit dem aktuellen Monat und Jahr aus i im Loop abgleicht.
  • Wende die Maske auf returns_daily an und berechne die Kovarianzen mit .cov().

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Daily covariance of stocks (for each monthly period)
covariances = {}
rtd_idx = returns_daily.index
for i in returns_monthly.____:    
    # Mask daily returns for each month and year, and calculate covariance
    mask = (rtd_idx.month == i.month) & (rtd_idx.____ == i.____)
    
    # Use the mask to get daily returns for the current month and year of monthy returns index
    covariances[i] = returns_daily[____].cov()

print(covariances[i])
Code bearbeiten und ausführen