Exponentieel gewogen rendementen en risico
In deze oefening ga je portefeuillegeoptimalisatie uitvoeren met een iets andere manier om risico en rendement te schatten: je geeft recentere data meer gewicht in de optimalisatie.
Dit is een slimme manier om met aandelenkoersen om te gaan, die meestal niet-stationair zijn, dus waarvan de verdeling in de tijd verandert. De implementatie is snel gedaan door het risicomodel dat je gebruikt om Sigma te berekenen aan te passen en de rendementsberekening die je gebruikt om mu te krijgen. De gegevensset met aandelenkoersen is beschikbaar als stock_prices. Aan de slag!
Deze oefening maakt deel uit van de cursus
Introductie tot portefeuille-analyse in Python
Oefeninstructies
- Gebruik de exponentieel gewogen covariantiematrix uit
risk_modelsen de functie voor exponentieel gewogen historische rendementen uitexpected_returnsomSigmaenmute berekenen. Stel de span in op 180 en de frequentie (d.w.z. de handelsdagen) op 252. - Bereken de efficiënte grens met de nieuwe
muenSigma. - Bereken de gewichten voor de portefeuille met de maximale Sharpe-ratio.
- Haal het prestatierapport op.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)