НачатьНачать бесплатно

Бэктестирование с периодической ребалансировкой

Теперь запустим бэктестирование на основе спецификации портфеля, созданной в предыдущем упражнении, с квартальной ребалансировкой — чтобы оценить эффективность на вневыборочных данных. Остальные параметры бэктеста, которые нужно задать, — это период обучения и размер скользящего окна. Период обучения определяет количество точек данных для начальной оптимизации, а скользящее окно — количество периодов в окне. Задача решается с помощью решателя квадратичного программирования, поэтому в качестве метода оптимизации используем "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"
Редактировать и запускать код