LoslegenKostenlos loslegen

CVaR minimieren

Diese Übung gibt dir Praxis mit den Tools von PyPortfolioOpt zur CVaR-Minimierung als Ziel der Risikosteuerung.

Du lädst das Modul pypfopt.efficient_frontier und holst dir die Klasse EfficientCVaR. Dann erstellst du eine Instanz der Klasse mit den Investmentbank-Assets aus dem Zeitraum 2005–2010.

Anschließend nutzt du die Methode min_cvar() der Instanz, um die optimalen Portfoliogewichte zu finden, die den CVaR minimieren.

Die Renditen der Portfolio-Assets stehen im Vektor returns. Außerdem verwendet diese Übung ein Dictionary names, um Portfoliogewichte Banknamen zuzuordnen.

Diese Übung ist Teil des Kurses

Quantitative Risk Management in Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Klasse EfficientCVaR aus pypfopt.efficient_frontier.
  • Erstelle die Klasseninstanz ec von EfficientCVaR mit returns. Beachte, dass du expected_returns nicht brauchst, da die Zielfunktion sich von der Mean-Variance-Optimierung unterscheidet.
  • Finde und zeige das optimale Portfolio mit der Methode .min_cvar() von ec.

Interaktive Übung

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

# Import the EfficientCVaR class
from pypfopt.____ import EfficientCVaR

# Create the efficient frontier for CVaR minimization
ec = ____(None, ____)

# Find the cVaR-minimizing portfolio weights at the default 95% confidence level
optimal_weights = ec.____()

# Map the values in optimal_weights to the bank names
optimal_weights = { names[i] : optimal_weights[i] for i in optimal_weights}

# Display the optimal weights
print(optimal_weights)
Code bearbeiten und ausführen