Exponentiell gewichtete Renditen und Risiko
In dieser Übung führst du eine Portfoliooptimierung mit einer leicht anderen Schätzung von Risiko und Renditen durch: Du gewichtest in der Optimierung neuere Daten stärker.
Das ist ein cleverer Ansatz für typischerweise nicht-stationäre Kursdaten, bei denen sich die Verteilung über die Zeit ändert. Die Implementierung lässt sich schnell umsetzen, indem du das Risikomodell zum Berechnen von Sigma und die Renditeberechnung zum Ermitteln von mu anpasst. Der Datensatz mit Aktienkursen ist als stock_prices verfügbar. Legen wir los!
Diese Übung ist Teil des Kurses
Einführung in die Portfolioanalyse mit Python
Anleitung zur Übung
- Verwende die exponentiell gewichtete Kovarianzmatrix aus
risk_modelsund die Funktion für exponentiell gewichtete historische Renditen ausexpected_returns, umSigmaundmuzu berechnen. Setze die Spannweite (span) auf 180 und die Frequenz (d. h. die Handelstage) auf 252. - Berechne die effiziente Frontier mit dem neuen
muundSigma. - Berechne die Gewichte für das Portfolio mit der maximalen Sharpe-Ratio.
- Hole dir den Performance-Bericht.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Define exponentially weightedSigma and mu using stock_prices
Sigma = risk_models.____(____, span=____, frequency=____)
mu = expected_returns.____(____, frequency=____, span=____)
# Calculate the efficient frontier
ef = ____(____, ____)
# Calculate weights for the maximum sharpe ratio optimization
raw_weights_maxsharpe = ____.____()
# Show portfolio performance
ef.____(verbose=True)