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
Övningsinstruktioner
- Använd den exponentiellt viktade kovariansmatrisen från
risk_modelsoch den exponentiellt viktade historiska avkastningsfunktionen frånexpected_returnsför att beräknaSigmaochmu. Sätt span till 180 och frekvensen (dvs. handelsdagarna) till 252. - Beräkna den effektiva fronten med de nya värdena för
muochSigma. - 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)