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
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 chamadaopt_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