Бэктестирование с периодической ребалансировкой
Теперь запустим бэктестирование на основе спецификации портфеля, созданной в предыдущем упражнении, с квартальной ребалансировкой — чтобы оценить эффективность на вневыборочных данных. Остальные параметры бэктеста, которые нужно задать, — это период обучения и размер скользящего окна. Период обучения определяет количество точек данных для начальной оптимизации, а скользящее окно — количество периодов в окне. Задача решается с помощью решателя квадратичного программирования, поэтому в качестве метода оптимизации используем "ROI".
Это упражнение является частью курса
Промежуточный анализ портфеля в R
Инструкции к упражнению
- Запустите оптимизацию с квартальной ребалансировкой. Задайте период обучения и размер скользящего окна, соответствующие 5 годам данных. Сохраните результаты в переменную
opt_rebal_base. - Выведите результаты оптимизации.
- Постройте график весов.
- Вычислите доходность портфеля с помощью
Return.portfolio. Сохраните результаты в переменнуюreturns_base.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Run the optimization
opt_rebal_base <- optimize.portfolio.rebalancing(R = ___,
portfolio = ___,
optimize_method = "ROI",
rebalance_on = ___,
training_period = ___,
rolling_window = ___)
# Print the results
# Chart the weights
# Compute the portfolio returns
returns_base <- Return.portfolio(R = ___, weights = ___)
colnames(returns_base) <- "base"