Блог им. AlexeyPetrushin |Нормализация волатильности, медиана лучше чем STD? Медиана рулит?

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

Сейчас стараюсь ее нормализовать. Есть подход использовать движущееся среднее стандартное отклонение, но, мне нравится видеть что происходит, и подход с движущимся окном гораздо нагляднее (оба подхода примерно одно и то же).

а) берется дневные цены б) для каждого дня считается разница логарифмов цен за год (изменение цены за год) в) берем окно 360 дней г) движем его с шагом 30 дней д) для каждого окна считаем параметры нормализации и нормализуем изменения цен в этом окне е) для нормализованного окна на каждом шагу строим распределение цен и показываем его на графике.

Параметры нормализации считаются 2мя способами а) считаем среднее по медиане, и считаем абсолютное отклонение опять же по медиане, и затем нормализуем, вычитаем центр и делим на отклонение б) считаем STD от 97 квантиля, и вычитаем центр и делим на сигму.

( Читать дальше )

Блог им. AlexeyPetrushin |Облом с Распределениями цен, повторять их бессмысленно, они нестабильные

Итак, моя гипотеза о том что имеет смысл изучить распределение цен конкретной компании за длительный период, скажем 30 лет, чтобы улучшить прогноз цен на следущий год — опровергнута.

Как видно из графиков ниже, это нормализованные по среднему и сигме, распределения построенные на 10 летнем интервале, движущемся с окном 5 лет. Полный хаос. 10 лет это мало, и хотя за 30 лет будет «в среднем» «чуть лучше», но все равно недостаточно чтобы иметь какой то смысл.

Т.е. уникальные детали на графике распределений цен конкретной компании — это случайные артефакты, шум, нерепрезентативный сэмпл, повторять их бессмсысленно, в будущем они не повторяются.

«Реальное» распределение, нам недоступно, но судя по всему это что то с достаточно простой формой, возможно Гиперболическое или простой гауссовский микс из 2-3х компонент.

Микрософт 360дней

Облом с Распределениями цен, повторять их бессмысленно, они нестабильные
Микрософт 180 дней



( Читать дальше )
  • обсудить на форуме:
  • Microsoft

Блог им. AlexeyPetrushin |Ассиметричный Гауссовский Микс с Нулевыми Средними, Распредление Цен

Я нашел то что искал. Распределение а) способное с достаточной точностью аппроксимировать Эмпирическое Распределение цен на диапазонах 180, 360, 720 дней б) имеющее достаточно простую форму в) с возможностью маштабировать.

Ассиметричный Гауссовской Микс из 3х компонент, отдельно для Положительных и Отрицательных изменений, с Фиксированными Нулевыми Средними. Это 8 параметров, но два из них определяются оч точно и требуют мизера данных, поэтому их можно не учитывать, остается 6 параметров, 6 сигм. Это много, но фиттинг будет на десятках лет так что данных достаточно.

Финальная подстройка — сжать/растянуть полученную модель на текущую волатильность, будет по 1-2 параметрам.

На графиках, зеленый положит изменения цен, красный отрицательные. Яркие цвета — эмпирическое, зеленый красный полутон Гауссовский Микс, бирюзовый/розовый полутона — Обобщенное Гиперболическое (добавил чисто для сравнения, оно приближает хуже и непредсказуемо, причем самую важную часть — хвост).

Ассиметричный Гауссовский Микс с Нулевыми Средними, Распредление Цен


( Читать дальше )

Блог им. AlexeyPetrushin |Gaussian Mixture vs Generalised Hyperbolic, Прогноз Цены Акций

Апроксимация Распределения Вероятностей цен MSFT за 360, 180 и 30 дней.

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

Проблемы:

— Непонятно как менять его волатильность? В нормальном мы меняем сигму — и распределение меняется, а здесь 3 компоненты, у каждого своя сигма и среднее. Если есть идеи как маштабировать полученный нормальный микс было бы интересно услышать.
— Лучшее совпадение не значит что это лучше, это может быть оверфиттинг.

Маштабирование:

Нужно для настройки модели на текущую волатильность. Скажем мы на истории за десятки лет определили общую форму Нормального Микса для MSFT как меняются акции за 1 мес. Но, нам ведь интересно затем настроить (маштабировать) эту общую форму на текущую волатильность MSFT, отмаштабировав общую форму, на текущую волатильность MSFT за последний месяц. Непонятно как это сделать.

Зачем это нужно:

Знать будущее распределение цен (у нас правда не будущее, а прошлое, которое мы за неимением лучшего используем как будущее) — может быть полезно для моделирования различных сценариев и подбора гиперпараметров, расчета цен опционов, формирования оптимального по тому или иному критерию портфеля, симуляция стресс теста, расчет цен опционов, и т.п.

( Читать дальше )
  • обсудить на форуме:
  • Microsoft

Блог им. AlexeyPetrushin |Талеб был прав, Гауссовский Микс работает неплохо

Апроксимация изменений цен Гауссовским Миксом, отдельно для положительных и отрицательных изменений.

Благодарность Михаилу, что поправил алгоритм фиттинга модели для Гауссовского Микса.

Микрософт, 360 дней, зеленая положительные изменения, красная — отрицательные. Слабозеленая/слабокрасная гауссовский микс. Почти невидимая зеленая/красная — обычное гауусовское распредление.

Для каждого случая два графика, графики одинаковы и показывают P(X > x) (комплементарная CDF), но в разных масштабах, логарифмическом и линейном, на одном лучше видна голова на другом хвост.

Талеб был прав, Гауссовский Микс работает неплохо

Микрософт 180 дней



( Читать дальше )

Блог им. AlexeyPetrushin |Калибровка Не Нормальных Моделей Распределения Цен

Прежде чем запускать калибровку на реальных данных цен, сделал простейший тест — а можно ли его вообще использовать, насколько хорошо он работает?

Калибровка — определение неизвестных параметров для известного распределения, двумя методами — Maximum Likelihood и Bayesian.

а) задал простейшую модель, с известными параметрами, б) сгенерировал с нее огромный сэмпл 10000 точек, в) затем фиттинг на полученном сэмпле и г) сравнение полученных резуьтатов с исходными параметрами.

Тестовая модель, Гауссовский Микс:

weights = [0.5, 0.5], means = [0, 0], sigmas = [1, 2]

Результат, точнее его отсутствие, картина ниже (питоновский код):

Калибровка Не Нормальных Моделей Распределения Цен
Параметры определяются совершенно неверно. Причем случай идеальный, простейшая модель, огромный сэмпл.

Также попробовал другой подход, байесовский метод, и он также дает совершенно неверный результат.

П.С.

Гиперболическое Распределение

Результат пока непонятный (питоновский код) визуально график получaется достаточно похожим, но полученные параметры модели не совпадают с исходными. 



( Читать дальше )

Блог им. AlexeyPetrushin |Не Нормальное Распределение Цен

Продолжаю сравнивать распределения изменения цены, логарифмы, отцентрированые пo среднему, для 360 и 30 дней, отдельно графики положительных изменений (зеленые) и отрицательных (красные). Сравнение с нормальным (полупрозрачные зеленые и красные линии), как видно — не совпадает, и ассиметрия также заметна.

Микрософт, 360 дней

Не Нормальное Распределение Цен
Микрософт, 30 дней



( Читать дальше )

Блог им. AlexeyPetrushin |Можно ли использовать симметричные распределения для цен акций?

Ведь движения цены вверх и вниз могут иметь разную природу, и реальное распределение может не быть симметричным. Ниже сравнение распределения для положительных и отрицательных движений цены (логарифмов изменений цены, log(p[i]/p[i-360]) для интервалов 360 и 180 дней), и сравнил их на QQ графике. Для одинаковых положительных и отрицательных движений цены — должна быть прямая линия.

Они явно отличаются, отчасти это и понятно, в среднем акции немного двигаются вверх:

Можно ли использовать симметричные распределения для цен акций?



На графике ниже изменения отцентрированы (из логарифмов изменений вычтена их медиана, показана черной горизонтальной линией), чуть лучше, но все равно есть отличия:



( Читать дальше )

Блог им. AlexeyPetrushin |Изменения цен акций, Q-Q график

Хотел одной картинкой охватить особенности конкретной акции. Чем MCD (стабильная) отличается от MSFT (волатильная растущая) или NEM (волатильная боковая). И QQ график получился интересной иллюстрацией. Маленькие точки это энный квантиль, жирная точка 0.5 квантиль (медиана). 

Логарифмы изменения цен за 360д

Изменения цен акций, Q-Q график



Логарифмы изменения цен за 180д



( Читать дальше )

Блог им. AlexeyPetrushin |Распределение вероятностей изменения цен, где Тяжелый Хвост?

Есть гипотеза что изменения цен на акции описываются гибридным распределением — нормальным для головы, и парето для хвоста.

Распределение парето f(x) = Cx^-a можно увидеть на лог/лог графике как прямую линию. 

Я построил эмпирическое распределение CDF, реальных цен на акцию, но не могу найти на нем «хвост», прямую линию, где она? (просто для сравнения я также построил нормальное распределение откалиброванное на тех же данных).

Распределение вероятностей изменения цен, где Тяжелый Хвост?



На графике показана только часть CDF, положительные измемения, в маштабле лог/лог. Также, изменения цен трансформированы, как: 1) лог траснформа и 2) отцентрированы относительно медианы. Нормальное распределение откалибровано на тех же трансформированных данных, с насильно принятым 0 взятым из медианы в качестве арифметического среднего (т.е. для нормального насильно поставлена медиана вместо арифметич среднего, так график лучше совпадает).

Данные — изменения цен на акцию, посчитаны как изменения за год, для каждого дня, diff_i=price_i/price_{i-360}, для цен одной акции за несколько десятилетий.

( Читать дальше )

....все тэги
UPDONW
Новый дизайн