Kom igångKom igång gratis

Beräkna portföljavkastning

För att kunna bygga och backtesta en portfölj behöver du vara bekväm med att hantera avkastningen för flera tillgångar i ett och samma objekt.

I den här övningen använder du ett pandas DataFrame-objekt, redan lagrat som variabeln StockReturns, för att hålla avkastningen för flera tillgångar och beräkna avkastningen för en modellportfölj.

Modellportföljen är konstruerad med fördefinierade vikter för några av världens största företag strax innan januari 2017:

Företagsnamn Ticker Portföljvikt
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%

Observera att portföljvikterna i de flesta fall ska summera till 100%

Den här övningen är en del av kursen

Introduktion till portföljriskhantering i Python

Visa kurs

Övningsinstruktioner

  • Slutför definitionen av numpy-arrayen med modellens portfolio_weights med värdena enligt tabellen ovan.
  • Använd metoden .mul() för att multiplicera portfolio_weights längs raderna i StockReturns och få viktade aktiekurser.
  • Använd sedan metoden .sum() längs raderna på objektet WeightedReturns för att beräkna portföljavkastningen.
  • Granska slutligen diagrammet över kumulativ avkastning över tid.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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()
Redigera och kör kod