Скользящее окно GARCH и прогнозирование

Модели GARCH на Python

Chelsea Yang

Data Science Instructor

Скользящее окно для прогноза вне выборки

Одна из самых интересных задач финансового моделирования: предсказать неизвестное

Предсказание

Прогноз на скользящем окне: многократное обучение модели и построение прогноза по мере продвижения времени вперёд

Скользящее окно

Модели GARCH на Python

Прогноз с расширяющимся окном

Новые наблюдения последовательно добавляются в выборку

Прогноз с расширяющимся окном

Модели GARCH на Python

Зачем использовать скользящее окно

  • Устранение смещения на исторических данных
  • Меньшая склонность к переобучению
  • Адаптация прогноза к новым наблюдениям
Модели GARCH на Python

Реализация прогноза с расширяющимся окном

Прогноз с расширяющимся окном:

for i in range(120):
    gm_result = basic_gm.fit(first_obs = start_loc, 
                             last_obs = i + end_loc, disp = 'off')
    temp_result = gm_result.forecast(horizon = 1).variance
Модели GARCH на Python

Прогноз с фиксированным скользящим окном

Новые наблюдения добавляются, а старые исключаются из выборки

Прогноз с фиксированным скользящим окном

Модели GARCH на Python

Реализация прогноза с фиксированным скользящим окном

Прогноз с фиксированным скользящим окном:

for i in range(120):
    # Specify rolling window range for model fitting
    gm_result = basic_gm.fit(first_obs = i + start_loc, 
                             last_obs = i + end_loc, disp = 'off')
    temp_result = gm_result.forecast(horizon = 1).variance
Модели GARCH на Python

Как выбрать размер окна

Как правило, определяется индивидуально для каждого случая

  • Слишком широкое окно: включает устаревшие данные и может увеличить дисперсию

  • Слишком узкое окно: исключает важные данные и может увеличить смещение

Оптимальный размер окна: баланс между смещением и дисперсией

Иллюстрация баланса

Модели GARCH на Python

Давайте потренируемся!

Модели GARCH на Python

Preparing Video For Download...