ComeçarComece de graça

Otimização com rebalanceamento periódico

Executar a otimização com rebalanceamento periódico e analisar os resultados fora da amostra do backtest é uma etapa importante para entender melhor e, potencialmente, refinar as restrições e os objetivos. optimize.portfolio.rebalancing() oferece suporte à otimização com rebalanceamento periódico (backtesting) para examinar o desempenho fora da amostra. Além dos argumentos de optimize.portfolio(), é necessário especificar uma frequência de rebalanceamento com rebalance_on, training_period para indicar o número de períodos usados como dados de treino na otimização inicial, e rolling_window para indicar o número de períodos da largura da janela da otimização. Se rolling_window for NULL, cada otimização usará todos os dados disponíveis no período em que for executada.

Para reduzir o tempo de computação neste exercício, o conjunto de portfólios aleatórios, rp, é gerado usando 50 permutações, e search_size, quantos portfólios testar, é definido como 1000. Se você for otimizar portfólios por conta própria, provavelmente vai querer testar mais portfólios (o valor padrão de search_size é 20.000)!

Este exercício faz parte do curso

Análise Intermediária de Portfólio em R

Ver curso

Instruções do exercício

  • Execute a otimização com rebalanceamento trimestral. Defina o período de treino e a janela móvel (rolling_window) para 60 períodos. O conjunto de dados é mensal, então estamos usando 5 anos de histórico. Atribua a saída da otimização a uma variável chamada opt_rebal.
  • Imprima os resultados da otimização.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Run the optimization backtest with quarterly rebalancing
opt_rebal <- optimize.portfolio.rebalancing(R = ___, portfolio = ___, optimize_method = ___, rp = rp, trace = TRUE, search_size = 1000, rebalance_on = ___, training_period = ___, rolling_window = ___)


# Print the output of the optimization backtest
Editar e executar o código