Kom igångKom igång gratis

Exponentiellt viktad avkastning och risk

I den här övningen ska du utföra portföljoptimering med ett något annorlunda sätt att skatta risk och avkastning – du ger nyare data mer tyngd i optimeringen.

Detta är ett smart sätt att hantera aktiedata som typiskt sett är icke-stationär, det vill säga när fördelningen förändras över tid. Implementationen görs enkelt genom att byta ut riskmodellen du använder för att beräkna Sigma, och returberäkningen du använder för att få mu. Aktieprisdatamängden finns tillgänglig som stock_prices. Nu kör vi!

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

Introduktion till portföljanalys i Python

Visa kurs

Övningsinstruktioner

  • Använd den exponentiellt viktade kovariansmatrisen från risk_models och den exponentiellt viktade historiska avkastningsfunktionen från expected_returns för att beräkna Sigma och mu. Sätt span till 180 och frekvensen (dvs. handelsdagarna) till 252.
  • Beräkna den effektiva fronten med de nya värdena för mu och Sigma.
  • Beräkna vikterna för portföljen med maximalt Sharpe-tal.
  • Hämta prestandarapporten.

Interaktiv övning med praktiskt arbete

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

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