ComeçarComece de graça

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

Ver curso

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

Editar e executar o código