Постов с тегом "GARCH": 22

GARCH


Почему GARCH и большинство Stochastic Volatility моделей не могут предсказывать реалистичную цену

Это симуляция EGARCH подобной SV модели. Первый график волатильность. Можно сравнить его с VIX и увидеть что он даже близко не похож. Можно добавить в него случайные прыжки в волатильность, и он станет чуть лучше, но все равно будут отличия. SVJ и SVVJ также не дают похожей картины.

Почему GARCH и большинство Stochastic Volatility моделей не могут предсказывать реалистичную цену



Реалистичную картину дает MSM Markov Switching Multifractal Мандельброта, но он не подходит для MCMC фиттинга.

Понятная параметризация EWA, GARCH

Разные формы одного и того же, разная интуиция

yt = (1-a) yt-1 + a xt  взвешенное среднее, двух измерений

yt = yt-1 + a (xt — yt-1) поправка в среднее с разной скоростью

yt = b yt-1 + (1-b) xt;  b=exp(-1/T) память со скоростью забывания ~T шагов

EГарч обычная форма (без асимметричного компонента),
rt ~ exp(ht) N(0, 1), eac = |zt|-E[|zt|]

ht = a + b ht-1 + c eac

Понятней, но запутанно

ht = level + b (ht-1 - level) + (1-b) scale eac    b — persistence

Лучше, пaмять в явном виде

ht = level + scale mt
mt = b mt-1 + (1-b) eac; b = exp(-1/T) память, скорость забывания T шагов

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

Бейсовские Методы редко используются. Стоит ли их использовать. #garch #sv #mcmc #stan

  • На порядок сложнее чем скажем GARCH, регрессии и т.п..
  • В х1000 если не в х10_000 медленнее GARCH, регрессий и т.п. гарч фиттинг занимает микросекунду, MCMC час.
  • Легко допустить ошибку, много сложных моментов.
  • Часто ошибки скрытые и не очевидные, их не видно. Это пожалуй самы большой минус. Если работа в команде не так критично, когда есть ревью разными людьми их можно заметить, но для работы одному это большая проблема. ИИ в этом плане сильно помогает. Без ИИ потребовалось бы раз в 10 больше времени чтобы найти все ошибки.
  • Не могут работать со средними и тем более большими данными больше 10к точек. Резкое падение скорости в разы на данных 20k. Это сильно замедляет работу, нужно много экспериментов делать, если после одного изменения расчеты занимают 15-60мин, и ты ждешь — производительность сильно падает, поэтому на практике больше 10к слишком медленно, и даже 2к занимает 15мин, что все равно медленно.
  • Не хватает готовой инфраструктуры, библиотек. Например нет готового out of sample likelihood, даже в популярном STAN это как вообще? Получается ты сам должен к нему еще доделывать Particle Filter что довольно сложная штука. Как люди его используют непонятно… судя по всему используют приблизительную LOO оценку.


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

Завершил GARCH #волатильность #алготрейдинг

Сравнение моей версии «G» против EWA(|r|, a=0.075) и EGARCH-T, на истории акции KO

Завершил GARCH #волатильность #алготрейдинг



Мне хотелось сделать модель которая отражает здравый смысл, близка к наблюдаемым исторически закономерностям (stylized facts), не нарушает упомянутых Н. Талебом условий (напр не делает аггрегацию по r^2 или смешивает Norm и TDist).

В итоге, у измененной модели, log likelihood получается практически такой же как у EGARCH-T, но поведение немного отличается.

Дает ли она преимущество на рынке — нет, я не думаю. Это обычная модель, но без перекосов в какой то конкретной области или режимах рынка, своего рода структура модели мини-макс.

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

Дальше: я продолжаю разбираться с SV, поскольку GARCH модели не могут обеспечить реалистичную динамику симуляций для N шагов вперед…

Волатильность это 2 числа

Волатильность это скрытый лог нормальный процесс (без перекоса и без тяжелых хвостов). И поэтому все упрощется и в каждый момент его можно описать всего 2мя числами — локация и дисперсия. Соотв прогноз волатильности это 2 числа, не одно. 

Если мерять через IV поверхность, то локация это волатильность ATM а дисперсия — как сильно отличается волатильность на FAR OTM, т.е. как высоко идут крылья.

Если мерять через интрадей, то локация это Е[log r^2] а дисперсия std[log r^2] от минутных лог прибылей.

Практический смысл? Возможно стоит на графиках вывести 2 линии вместо одной (или одну переменной толщины), может они смогут лучше обьяснить режимы рынка и т.п. чем одна линия...

П.С. И это то чего не может GARCH, он отслеживает только loc, упуская 2е  (ну и динамику).

Талеб прав и неправ что GARCH и Волатильность использовать нельзя

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

For silver, in 46 years 94 percent of the kurtosis came from one single observation. We cannot use standard statistical methods with financial data. GARCH (a method popular in academia) does not work because we are dealing with squares. The 52 a non-technical overview — the darwin college lecture variance of the squares is analogous to the fourth moment. We do not know the variance. But we can work very easily with Pareto distributions. They give us less information, but nevertheless, it is more rigorous if the data are uncapped or if there are any open variables. // Statistical Consequences of Fat Tails

Я думаю он прав и не прав одновременно. Прав что использовать варианс в чистом виде, как статистику по r^2 походу реально смысла нет, вот как она выглядит (картинка1).

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

Симуляция цен, GARCH, GARCH-M

Для симуляции цены, и обратной задачи идентификации (GARCH), лог приращения цены можно определить по разному

  • rt = μ + σt*zt — для исторических (P)
  • rt = (log(rf) — σt^2/2) + σt*zt — для риск нейтральных (Q)
Это два крайних случая, первый подразумевает что риск премиум максимальный, второй что ноль.

И тот и другой варианты слишком экстремальны, мне кажется в реальности исторические цены (P) где то между ними, в реальности риск премиум меньше максимального но больше нуля.

Оказывется есть GARCH-M который учитывает этот момент и использует

  • rt = (μ + λ*g(σt)) + σt*zt

Предсказание Волатильности

Давно не постил графики. Предсказание волатильности 1д, 1мес, 1год. по историческим данным

Предсказание Волатильности


Волатильность в данном случае это параметр scale предсказанного (условного) распределения log r через время T = 1d, 1m, 1y, 

Это некоторые итоги, мысли вслух. Я завершил работу с вероятностями, распределениями, GARCH, и т.п.

По итогу, я вернулся к классическим методам. Но, шел я странным путем, как сделав десятки ножей собственного изготовления, в итоге, пришел к ножу такому же как обычный.

Я умышленно не стал смотреть классические методы пока не сделаю их сам. По 2м причинам а) у меня было подозрение что они могут быть ошибочны (они сделаны под фонды и брокеров, у которых немного другие условия игры) б) хаотичное самостоятельные исследования лучше усваиваешь материал.

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

Ну и сделав и испытав десятки разных ножей в самых разных условиях… обычный нож начинаешь видеть несколько по другому, и «классика» понятие условное, есть много деталей геометрия ножа, материал, заточка, варианты использования…

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

Разные модели GARCH

Посмотрел разные модели GARCH, EGARCH, FIGARCH, APARCH, HARCH, NGARCH, GARCH-M. Периоды прогноза 1д, 30д, 365д.

Результаты похожи, разница E[likelihood] составляет порядка 1-3% между моделями. Начиная с некоторого значения упираешся в стену, и продвинуться дальше и заметно улучшить прогноз не удается, сложные модели дают результат практически такой же что и простые.

Стоит ли использовать EWA с параметрами выставленными наугад? Нет, классический GARCH по сути тот же EWA, но с подобранными параметрами будет заметно лучше, и делается очень просто.

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

Данные дневные исторические, 50 лет, 250 акций.

Что не сделано, дневные данные log r, грубые. Для прогноза 1д эти результаты не особо показательны. Скорей всего, с высокочастотными данными, минуты, либо еще детальней - можно гораздо лучше сделать.

Меня в первую очередь интересуют долгосрочные прогнозы 90-365d, поэтому я ограничился дневными. Как будет время, попробую дневные OHLC, они тоже грубые, но говорят результаты чуть лучше чем просто log r.

Волатильность пропорциональна sqrt(T), почти

На графике — волатильность (scale параметр условного распределения лог прибыли) в зависимости от периода времени. Экономисты правы, броуновское движение неплохо приближает. В диапазоне 1%-99% просто идеально прямые линии.

Волатильность пропорциональна sqrt(T), почти
За пределами 1-99 линии начинают изгибаться, видимо проявляется что движение все таки не броуновское, тяжелые хвосты, кластеры волатильности и все такое.

Как сделан график. Периоды времени [1, 7, 14, 30, 91, 182, 365, 730, 1095] дней. Для каждого периода сделан фиттинг GARCH. Данные 250 акций, дневные цены за 50 лет, это 250х12600 дней в сумме. На каждый день предсказана волатильность. Затем по предсказанной волатильности посчитаны квантили (цвет линий). Волатильность это scale параметр предсказанного условного распределения.

Неожиданно, я не думал что будет такое хорошее приближение. Это значит если нас устраивает диапазон 1-99%, мы можем забить на сложности, и использовать простую формулу vol_T=vol*sqrt(T).

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