Retornos e risco com ponderação exponencial
Neste exercício, você vai realizar a otimização de portfólio usando uma forma um pouco diferente de estimar risco e retorno: vamos dar mais peso aos dados recentes na otimização.
Essa é uma forma inteligente de lidar com dados de ações que geralmente são não estacionários, ou seja, quando a distribuição muda ao longo do tempo. A implementação pode ser feita rapidamente alterando o modelo de risco usado para calcular Sigma e o cálculo de retornos usado para obter mu. O conjunto de dados de preços das ações está disponível como stock_prices. Vamos lá!
Este exercício faz parte do curso
Introdução à Análise de Portfólios em Python
Instruções do exercício
- Use a matriz de covariância com ponderação exponencial de
risk_modelse a função de retornos históricos com ponderação exponencial deexpected_returnspara calcularSigmaemu. Defina o span como 180 e a frequência (isto é, os dias de negociação) como 252. - Calcule a fronteira eficiente com os novos
mueSigma. - Calcule os pesos para o portfólio de Sharpe máximo.
- Obtenha o relatório de performance.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)