Randamente și risc ponderate exponențial
În acest exercițiu, vei efectua optimizarea portofoliului folosind o metodă ușor diferită de estimare a riscului și a randamentelor: vei acorda o pondere mai mare datelor recente în cadrul optimizării.
Acesta este un mod inteligent de a gestiona datele bursiere, care sunt în mod tipic non-staționare – adică distribuția lor se modifică în timp. Implementarea se face rapid prin schimbarea modelului de risc utilizat pentru calculul Sigma și a metodei de calcul al randamentelor folosite pentru mu. Setul de date cu prețurile acțiunilor este disponibil ca stock_prices. Să încercăm!
Acest exercițiu face parte din cursul
Introducere în analiza portofoliului în Python
Instrucțiuni pentru exercițiu
- Folosește matricea de covarianță ponderată exponențial din
risk_modelsși funcția de randamente istorice ponderate exponențial dinexpected_returnspentru a calculaSigmașimu. Setează span-ul la 180 și frecvența (adică zilele de tranzacționare) la 252. - Calculează frontiera eficientă folosind noul
mușiSigma. - Calculează ponderile pentru portofoliul cu raportul Sharpe maxim.
- Obține raportul de performanță.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)