Skip to content

DESimakov/CW

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CW

Здесь будут выкладываться файлы с продвижением в написании курсовой работы.

Данные

  1. Сырые данные для разных ставок
  2. Данные для MOSPRIME 3m полные с 01-09-2007 по 22-12-2017
  3. Данные для MOSPRIME 3m средние с 01-04-2010 по 01-04-2013
  4. Данные для MOSPRIME 3m короткие с 02-04-2012 по 31-08-2012

Визуализация данных

  • Графики данных. Сравнение разных временных отрезков, их гистограммы. Месячное скользящее среднее для ставки, ее волатильности. Ноутбук

  • Предварительное разделение на периоды. Ноутбук

Калибровка ошибки MAPE

Для моделей Мертона и однофакторной Халла-Вайта найдены оптимальные параметры путем минимизации ошибки MAPE. Ноутбук

Калибровка при помощи максимизации правдоподобия

Для моделей Мертона и однофакторной Халла-Вайта найдены оптимальные параметры путем максимизации функции правдоподобия. Определение влияния начального приближения. Добавлена стандартная реализация для HW1.Ноутбук

Сравнение разных предпосылок о распределении для Мертона + скользящее окно

Нормальная реализация МП для приращений. Оценка параметров методом наименьших квадратов. Скользящее окно. Графики параметров модели. Ноутбук

HW1 разные вариации + скользящее окно

Нормальная реализация МП для приращений. Оценка параметров методом наименьших квадратов. Скользящее окно. Графики параметров модели. Ноутбук

CIR + скользящее окно + C0 расстояния ecdf

Нормальная реализация МП для приращений. Оценка параметров минимизацией максимального отклониения траекторий от данных. Графики параметров модели. Ноутбук

Градиентный спуск. Ноутбук

HW1 и CIR на сгенерированных данных

Использование пакета Quant-Lib (искусственный пример)

Калибровка параметров HW1f по цене свапциона. Ноутбук

Проблемные моменты:

  • Результаты очень сильно меняются в зависимости от способа вычислений - численные методы разнятся между собой. Даже градиентный спуск. На сгенерированных данных наблюдается устойчивость, HW1 относительно неплохо находит истинные параметры, CIR - плохо находит alpha - нужно очень много наблюдений (порядка 5-10 тысяч). Но на реальных данных устойчивости не наблюдается. Стоит продолжить проводить эксперименты на сгенерированных данных (устойчивость алгоритмов, их точность, возможность учесть кризисы)?
  • Структура данных говорит, что наблюдается маленькие джампы, после которых, скорее всего, не меняется тип распределения, и большие джампы, после которых ускоряется возврат к среднему. Как смоделировать?

Первый приоритет:

  • Сравнить модели и сделать выводы. (но на реальных данных или сгенерированных?)
  • потестить разладки для определения момента переключения. (Вероятнее всего - разладка на начало кризиса, на восстановление, на нормальный период) (но мало данных на сам кризис и на восстановление после него, скорее всего, не сработает)
  • HW1 в своей реализации посмотреть на полных данных при фрагментации на отрезки - не кризис, подъем, стагнация. Будет ли нормальный учет кризисов? Построить траектории на будущее. (все плохо)

Второй приоритет:

  • Смоделировать процесс формирования ставки: убрать 2 максимума, 2 минимума, остальное - среднее по моментам времени. Разные распределения.
  • Добавить Jump процессы.
  • dt - учитывает фактическое количество дней между наблюдениями.
  • Посмотреть на VaR.

Сделано:

  • Посмотреть на . (аналогичные проблемы)
  • Сделать алгоритм, который подбирает параметры по заданной волатильности (в два шага). (Для максимального правдоподобия у HW1 вышло, что для в зависимости от начального приближения он каждый раз выбирает одни и те же параметры для разных волатильностей)
  • HW1 численное вычисление интеграла, для подсчета любой функции (не надо)
  • Подбор начального приближения. Из мнк? На основе выборочных моментов? (хорошая идея - выборочные моменты)
  • Случайная выборка параметров в правдоподобии. (мало данных - совсем плохие значения, либо не сходится)
  • Так как при dt параметры не случайны, оценить их методом наименьших квадратов, а волатильность оценить при помощи максимального правдоподобия. Добавить регуляризацию! (Особого эффекта нет, все плохо)
  • Сделать функцию расстояний.
  • Сделать скользящее окно для Merton.
  • Сделать скользящее окно для HW1.
  • Сделать скользящее окно для CIR.

TODO List

  • Другие способы оптимизации (разные вариации численных методов не показали хороший результат). Градиентный спуск максимального правдоподобия? (не очень хорошо себя показал - на реальных данных все равно сходится около начального приближения)
  • Сделать уже функции для отрисовки графиков/путей/скользящиз и запихнуть их в .py . Написать класс.

Предварительные выводы:

  • Калибровка модели по данным ставки (а не цены ПФИ) дает неустойчивые результаты.
  • Хорошо работает аппроксимация распределения приращений через дискретную форму без явного решения.
  • Нужны джамп процессы.
  • Стандартные модели плохо описывают действительность. Оценка коэффициентов нестабильна. Кроме волатильности: волатильность устойчиво калибруется для всех моделей.
  • CIR особенно плохо позволяет оценить параметр alpha (отвечает за возврат к среднему).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published