Optimización con reequilibrio periódico
Ejecutar la optimización con reequilibrio periódico y analizar los resultados fuera de muestra del backtest es un paso importante para comprender mejor y, si hace falta, ajustar las restricciones y los objetivos. optimize.portfolio.rebalancing() permite optimizar con reequilibrio periódico (backtesting) para evaluar el rendimiento fuera de muestra. Además de los argumentos de optimize.portfolio(), hay que especificar una frecuencia de reequilibrio con rebalance_on, training_period para indicar cuántos periodos usar como datos de entrenamiento en la optimización inicial, y rolling_window para indicar el número de periodos del ancho de ventana de la optimización. Si rolling_window se establece en NULL, cada optimización usará todos los datos disponibles en el periodo en el que se ejecuta la optimización.
Para reducir el tiempo de cómputo en este ejercicio, el conjunto de carteras aleatorias, rp, se genera con 50 permutaciones, y search_size, el número de carteras a probar, se fija en 1000. Si realmente estás optimizando carteras por tu cuenta, seguramente querrás probar más carteras (¡el valor predeterminado de search_size es 20.000)!
Este ejercicio forma parte del curso
Análisis de carteras intermedio en R
Instrucciones del ejercicio
- Ejecuta la optimización con reequilibrio trimestral. Establece el periodo de entrenamiento y la ventana móvil en 60 periodos. El conjunto de datos es mensual, así que usamos 5 años de datos históricos. Asigna la salida de la optimización a una variable llamada
opt_rebal. - Imprime los resultados de la optimización.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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