Encontrando o portfólio eficiente média-variância
Um portfólio eficiente média-variância pode ser obtido resolvendo a minimização da variância do portfólio sob a restrição de que o retorno esperado do portfólio seja igual a um retorno alvo. Uma função R prática para isso é portfolio.optim(), do pacote tseries. Sua implementação padrão encontra os pesos do portfólio eficiente média-variância com a restrição de que o retorno do portfólio seja igual ao retorno do portfólio igualmente ponderado. O único argumento necessário são os dados de retornos mensais dos componentes do portfólio para os quais os pesos precisam ser determinados.
A variável returns, contendo os retornos mensais das ações do DJIA, já está carregada no console.
Este exercício faz parte do curso
Introdução à Análise de Portfólios em R
Instruções do exercício
- Carregue a biblioteca
tseries. - Crie um portfólio eficiente média-variância de retornos mensais usando o padrão de
portfolio.optim()que mira o retorno do portfólio igualmente ponderado, e atribua a saída à variávelopt. - Crie um vetor de pesos a partir do seu portfólio otimizado. Os pesos do portfólio podem ser encontrados em
opt$pw. Chame isso depf_weights. - Atribua os nomes aos ativos usando o código fornecido.
- Selecione os pesos ótimos de
pf_weightsque sejam maiores ou iguais a 1%; chame isso deopt_weights. - Use barplot() para visualizar a distribuição de
opt_weights. - Imprima o retorno esperado do portfólio (
opt$pm) e a volatilidade (opt$ps) do portfólio otimizado.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Load tseries
# Create an optimized portfolio of returns
opt <- portfolio.optim(___)
# Create pf_weights
pf_weights <- ___$pw
# Assign asset names
names(pf_weights) <- colnames(returns)
# Select optimum weights opt_weights
opt_weights <- pf_weights[___ >= 0.01]
# Bar plot of opt_weights
# Print expected portfolio return and volatility
___$pm
___$ps