Otimização com função objetivo personalizada
Este exercício dá continuidade ao anterior, e vamos executar a otimização com a função objetivo personalizada que calcula o desvio padrão anualizado do portfólio. Como uma função objetivo pode ser qualquer função R válida, adicionamos um objetivo de risco para a função pasd(). A função set.portfolio.moments() não reconhecerá o nome do objetivo pasd(), então precisamos criar uma função de momentos personalizada para calcular o segundo momento, sigma. Vamos resolver o problema usando portfólios aleatórios como método de otimização.
Este exercício faz parte do curso
Análise Intermediária de Portfólio em R
Instruções do exercício
- Adicione a função objetivo personalizada que você criou no exercício anterior ao objeto de especificação do portfólio.
- Imprima o objeto de especificação do portfólio para ver as restrições e o objetivo.
- Execute a otimização. O nome da função de momentos personalizada é
set_sigma. - Imprima os resultados da otimização.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Add custom objective to portfolio specification
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)
# Print the portfolio specificaton object
# Run the optimization
opt <- optimize.portfolio(R = ___, portfolio = ___, momentFUN = ___, optimize_method = "random", rp = rp)
# Print the results of the optimization