LoslegenKostenlos starten

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

<Kurs>Quantitative Risk Management in Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

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

# 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