LoslegenKostenlos loslegen

Portfolio-Renditen berechnen

Um ein Portfolio zu bauen und zu backtesten, musst du dich damit wohlfühlen, die Renditen mehrerer Assets in einem einzigen Objekt zu verarbeiten.

In dieser Übung verwendest du ein pandas-DataFrame-Objekt, das bereits als Variable StockReturns gespeichert ist, um die Renditen mehrerer Assets zu halten und die Renditen eines Modellportfolios zu berechnen.

Das Modellportfolio ist mit vordefinierten Gewichten für einige der größten Unternehmen der Welt kurz vor Januar 2017 konstruiert:

Company Name Ticker Portfolio Weight
Apple AAPL 12%
Microsoft MSFT 15%
Exxon Mobil XOM 8%
Johnson & Johnson JNJ 5%
JP Morgan JPM 9%
Amazon AMZN 10%
General Electric GE 11%
Facebook FB 14%
AT&T T 16%

Beachte, dass sich die Portfoliogewichte in den meisten Fällen zu 100 % summieren sollten.

Diese Übung ist Teil des Kurses

Einführung in das Portfoliorisikomanagement mit Python

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige das NumPy-Array der Modell-portfolio_weights mit den Werten aus der Tabelle oben.
  • Verwende die Methode .mul(), um die portfolio_weights zeilenweise mit StockReturns zu multiplizieren und so gewichtete Aktienrenditen zu erhalten.
  • Verwende anschließend die Methode .sum() zeilenweise auf dem Objekt WeightedReturns, um die Portfoliorenditen zu berechnen.
  • Schau dir zum Schluss das Diagramm der kumulierten Renditen im Zeitverlauf an.

Interaktive Übung

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

# Finish defining the portfolio weights as a numpy array
portfolio_weights = np.array([0.12, 0.15, 0.08, 0.05, 0.09, 0.10, 0.11, ____, ____])

# Calculate the weighted stock returns
WeightedReturns = StockReturns.____(portfolio_weights, axis=____)

# Calculate the portfolio returns
StockReturns['Portfolio'] = WeightedReturns.____(axis=____)

# Plot the cumulative portfolio returns over time
CumulativeReturns = ((1+StockReturns["Portfolio"]).cumprod()-1)
CumulativeReturns.plot()
plt.show()
Code bearbeiten und ausführen