Код для этого сообщения доступен по адресу: https://github.com/TRBD/demo_vol_tuning

Обзор:

Цель этого поста - понять, как неявный гиперпараметрический выбор количества данных, подаваемых в модель GARCH (Generalized AutoRegressive Conditional Heteroskedasticity), влияет на ее результаты. Я ожидал, что предоставление всей истории цены / доходности в данной версии модели GARCH может быть неоптимальным, поскольку прогнозы могут быть излишне искажены атрибутами долгой памяти этих процессов при наличии данных, которые, возможно, уже не актуальны. Чтобы проверить это, я просматриваю более 20 лет непрерывных, неперекрывающихся симуляций, используя полный набор данных за ~ 50 лет, и сравниваю модели, подходящие с использованием 2-летнего, 5-летнего, 10-летнего и полная история ретроспективы. Я сравниваю результаты трех членов семейства GARCH: Exponential-GARCH (eGARCH), GJR-GARCH (gjrGARCH) и Component-GARCH. Первые два были выбраны из-за их привлекательных атрибутов моделирования в отношении стилизованной модели положительной и отрицательной доходности, оказывающей противоположное влияние на будущую волатильность, а третий из-за того, что он сосредоточен на разделении долгосрочной и краткосрочной динамики волатильности.

Я обнаружил, что за исследуемый период, для проверенных наборов данных и запущенных конфигураций, в целом краткосрочные модели eGARCH и gjrGARCH оказались лучше. Характеристики производительности весьма интересны. Модель gjrGARCH была абсолютным победителем, но ее превосходная эффективность была достигнута в основном в периоды наибольшей общей волатильности (то есть финансового кризиса). Модель eGARCH работала лучше в периоды более низкой общей волатильности. Это предполагает дальнейшее изучение потенциала обусловленности на основе правил или моделирования выбора модели и ретроспективного гиперпараметра.

Этот пост проходит через:

  • Справочная информация о том, что такое модель vol, для чего она используется, а также краткое изложение различных типов моделей, основанных на исторических данных.
  • Краткий обзор трех конкретных моделей семейства GARCH, представляющих интерес
  • Краткое изложение основного вопроса исследования - гиперпараметра длины истории, предоставляемого модели GARCH, чтобы влиять на ее итоговые прогнозы.
  • Обзор сопутствующего проекта репозитория github
  • Сводка результатов

Что такое модель Vol?

В этом контексте модель vol - это любой алгоритм, использующий существующие данные в определенный момент времени, чтобы попытаться спрогнозировать «справедливое» предположение о волатильности цены и доходности, которая будет реализована активом в течение некоторого будущего (n_forecast) периода времени. Самым простым вариантом этого было бы прогнозирование независимо от последней реализованной волатильности (среднеквадратическое значение периодических процентных изменений цен) для конечных n_forecast дней.

Для чего они нужны?

Есть две области, которые имеют большое значение для модели vol:

  • Управление рисками портфеля: в одномерном случае предполагаемая будущая волатильность для актива будет ключевым входом для расчетов семейства VaR (будь то на основе n * σ или на основе Монте-Карло). В многомерном случае оценка дисперсии / ковариации является ключевым элементом для многих видов оценок или оптимизаций рисков на уровне портфеля.
  • Vol Trading / Vol Arbitrage: Vol Arb - это практика продажи производных инструментов на акции, которые считаются «богатыми», и покупки тех, которые считаются «дешевыми». Модель волатильности - это основа для просмотра множества опционов различных базовых активов и определения того, какая подразумеваемая волатильность (ценообразование опционов) является «богатой» (выше модели) или «дешевой» (ниже модели). При этом, это только отправная точка, и у любого волтрейдера будет книга с множеством позиций, противоречащих его модели по широкому кругу разовых причин.

При этом оценка объема является ключевым входом для традиционных методов управления рисками портфеля, а также основой для торговли всем классом активов. Это очень важно для тех, кто в этом нуждается.

Модели Vol с историческими данными

Модели, которые используют только данные о цене / доходности актива до момента прогнозирования:

  • Модели реализованной волатильности за n дней: просто посмотрите на реализованную волатильность за предыдущие n дней во время оценки. При достаточно долгом ретроспективном анализе это будет отражать долгосрочное среднее, но недавнее отклонение поведения от этого долгосрочного среднего будет проигнорировано равным взвешиванием. Единственный гиперпараметр здесь - n

  • Модели волатильности с экспоненциально взвешенным скользящим средним: взятие в квадрат доходности наблюдаемой продолжающейся оценки и применение к ним экспоненциально убывающего веса с наибольшим весом по последнему наблюдению. Преимущество EWMV состоит в том, что он лучше отражает все, что произошло в последнее время, однако это происходит за счет более долгосрочного среднего поведения. Единственный гиперпараметр для EWMV - фактор распада. Типичная презентация этого в финансах:

  • Модели семейства GARCH: эти модели были мотивированы тенденцией финансовых активов демонстрировать кластеризацию волатильности, то есть периоды более высокой / низкой волатильности порождают периоды более высокой / низкой волатильности в краткосрочной перспективе, а также имеют тенденцию показывать среднее возвращение в долгосрочную перспективу. Это бросает вызов двум вышеперечисленным моделям, поскольку каждая имеет тенденцию решать отдельную проблему. Так родилась модель GARCH (p, q) Боллерслева, в которой предпринималась попытка обратиться к этой кластеризации (называемой авторегрессионной условной гетероскедастичностью). Каноническая модель GARCH (1,1):

Параметр бета - это эффект «устойчивости», влияющий на стабильность прогноза объема от одного периода к другому. Параметр альфа - это эффект «размера», влияющий на то, насколько новое наблюдение нарушает предыдущий прогноз. Безусловная дисперсия, к которой, как ожидается, в конечном итоге приблизится текущая дисперсия, определяется как:

Это поднимает интересный вопрос об использовании модели GARCH. Безусловная дисперсия, возникающая в результате подгонки модели, в конечном итоге будет очень близка к дисперсии доходности полного временного ряда (равновзвешенная). Вопрос в том, следует ли использовать всю историю имеющихся доходов при оценке модели. Это подтверждают два простых примера:

  • Среднее значение индекса Доу-Джонса отслеживалось более 100 лет. За это время структура рынков явно изменилась. Следует ли влиять на безусловную дисперсию, которая имеет круговую связь с параметрами соответствия, поведением рынка, которое, вероятно, будет иметь мало общего с будущим?
  • Точно так же в 1985 году Apple была маленькой сумасшедшей компанией. В 2000 году это была брошенная торговая граната. Сегодня это Голиаф стоимостью в триллион долларов с совершенно другой бизнес-моделью. Это существенно разные режимы поведения ценной бумаги в зависимости от капитализации, ликвидности и отсутствия дисперсии финансовой оценки.

В качестве примера ниже показано сравнение модели eGARCH, подходящей для S&P, один раз с двухлетним ретроспективным анализом и один раз с 20-летним ретроспективным анализом. Дата моделирования - начало 2019 года.

Интересующие модели семейства GARCH

Существует множество расширений исходной модели Боллерслева. Те, на которые мы здесь рассмотрим, представлены потому, что у них есть интересующие атрибуты, первый из которых является параметром «кредитного плеча» (тот, который ослабляет положительную доходность и усиливает отрицательную), а второй - компонент авторегрессионного перехвата.

Экспоненциальная модель GARCH (eGARCH):

Модель GJR GARCH (gjrGARCH):

Модель Component GARCH (csGARCH):

Упражнение

Эти модели сами по себе не имеют гиперпараметров. Однако включение полной истории цен или усечение этой истории неявно является гиперпараметром, учитывая приведенное выше обсуждение. Выбор того, какой вариант GARCH использовать, также неявно является гиперпараметром. Цель этого упражнения - оценить три модели, приведенные выше, в сравнении с различными скользящими окнами ретроспективного анализа и оценить, можно ли найти какие-либо тенденции производительности.

Подход

В репозитории github есть код для выполнения этого упражнения.

  • Метод проверки: перекрестная проверка временных рядов.
  • Ошибка прогноза: смоделированный средний объем после подбора по сравнению с реализованной волатильностью в течение следующих n_forecast (здесь используется 21) дней.
  • Выборка: просмотр набора данных с шагом n_forecast дней, начиная с ~ 1998 г. по 2019 г.
  • Подсчет баллов: среднеквадратичная ошибка остатков отдельных пробных окон.
  • Проверено ретроспективно: 2 года, 5 лет, 10 лет, полная история.
  • Протестированные модели: eGARCH, gjrGARCH, csGARCH.

Примечания по реализации:

Чтобы соответствовать моделям GARCH, я использовал пакет «rugarch» на языке R, который действительно не имеет аналогов с точки зрения охвата и возможностей, предлагаемых для моделирования однородных процессов семейства GARCH. Однако код упражнения написан на Python. Чтобы связать эти рабочие процессы, я использовал проект Python PypeR, который обеспечивает интерфейс между двумя средами.

Проект «demo_vol_tuning» организован следующим образом:

  • config.py - Пользователи должны установить переменную R_PATH так, чтобы она указывала на их предпочтительную папку R bin, переменную TMP_PATH, чтобы указывать на место кэширования файла, и, необязательно, переменную PLOT_PATH, чтобы указывать на место для сохранения выходных изображений.
  • Пакет сценариев: сценарий rGarch.R содержит единственную r-функцию, необходимую для подгонки моделей из среды Python и возврата набора результатов.
  • Пакет r_garch: служебные функции для взаимодействия с R через PypeR
  • Пакет py_garch: в модуле vol_estimator есть классы, необходимые для обработки параметров упражнения, а в модуле result_viz есть классы, необходимые для просмотра результирующего вывода.
  • Пакет упражнений: Модуль сравнения - это сценарий для выполнения упражнения, как описано, но его можно легко изменить для тех, кто хочет запускать разные конфигурации. Модуль default_inputs содержит переменные реализации упражнения и может быть изменен по желанию.
  • Каталог данных: содержит файл sample_data.txt, который представляет собой историю цен индекса SPX с 1970 по октябрь 2019 года.

Вывод

Ниже приведены несколько представлений среднеквадратичной ошибки прогноза:

Эти тенденции обычно повторяются при рассмотрении средней абсолютной ошибки:

Присмотревшись к моделям eGARCH и gjrGARCH:

Первые два графика показывают прогноз по сравнению с реализованными временными рядами для gjrGARCH и eGARCH, распределение Стьюдента, модели с ретроспективным анализом. Трудно что-то сделать из этих взглядов, кроме того, что все они дают хорошо коррелированные результаты.

Чтобы визуализировать, где произошла дифференциация модели, на диаграммах ниже показана скользящая 12-периодная кумулятивная абсолютная ошибка прогноза для моделей gjrGARCH и eGARCH в сравнении с реализованными временными рядами. Очевидно, что модели с коротким окном были неизменно лучше аналогов в средах с высоким объемом и менее заметно в средах с низким объемом. С выделением GJR в период 2008 г. (сравните оси Y)

Другой способ увидеть это - разделить результаты на три периода. Степень волатильности была самой высокой во втором периоде, за которым следовало первое, и была самой низкой в ​​последний период. Ниже приведены сводные значения MSE для этих разделений:

Вывод заключается в том, что для этого конкретного испытания модели gjr и eGARCH с коротким окном были лучшими показателями. Модель eGARCH лучше работает в средах с низким уровнем громкости, а модель gjrGARCH работает лучше в средах с высоким уровнем громкости. Это может привести к большему количеству выводов при изучении валидности модели перехода, основанной на правилах, или модели, основанной на состоянии.

Использованная литература:

Отличный проект ругарх https://cran.r-project.org/package=rugarch

Обзор различных подходов к моделированию волатильности: https://ocw.mit.edu/courses/mat Mathematics/18-s096-topics-in-mat Mathematics-with-applications-in-finance-fall-2013/lecture-notes/MIT18_S096F13_lecnote9 .pdf

Сайт проекта PypeR: http://bioinfo.ihb.ac.cn/softwares/PypeR/