Поправил модель, симуляция цены похожа на настоящие

С реалистичными кластерами волатильности и совпадением моментов с настоящими, единственно ACF чуть отличается, но в допустимых пределах.

На графике «rn s» симуляция лог прибыль, «rn r» реальная лог прибыль прибыль КокаКолы. «price s» цена, симуляция и "σ" волатильность, внутреннее состояние модели.



Поправил модель, симуляция цены похожа на настоящие


Итоги, мысли вслух:

Посмотрел с десяток разных моделей. Классические, с прыжками, и т.п. Сложность — oни делают что то, но повторить все нужные мне особенности наблюдаемые на реальных ценах не могут (часть этих особенностей хорошо описана в «Empirical properties of asset returns», Rama Cont).

Это видно даже без всяких расчетов, достаточно посмотреть на график log r или |log r| сгенерированный моделью лет за 10-20, и сравнить с таким же графиком реальных цен — для большинства моделей будет явно видно где настоящая цена, а где модель.

Часть моделей могут сделать визуально похожий график, но когда начинаешь проверять дальше, моменты — получается сильное расхождение.

Некоторые сложные модели (напр self excited jumps in vol) могут повторить все, но работают очень медленно, имеют много параметров и эти параметры нестабильны, сильно коррелированы, определяются слабо, и т.п.

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

Не могу повторить кластеры волатильности в Модели #волатильность #опционы #алготрейдинг

Перепробовал наверно все простые и боль менее реалистичные модели. Как сборка кубик рубика, одно совпадает другое рассыпается.

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

Она дает хорошее совпадение по моментам, как маржинальным (первые два) так и динамическим ACF и т.п. (остальные), причем хвосты тоже неплохо совпадают.
Real      = (rσ = 0.0111, rν = 3.3668, gσ = 0.1797, gω = -4.6362, gλ = -0.2206, gν = 4.8297, gτa = 7.324,  gτb = 109.9999, gwb = 0.9982)
Simulated = (rσ = 0.0108, rν = 3.7836, gσ = 0.2007, gω = -4.6066, gλ = -0.1685, gν = 4.9804, gτa = 7.3348, gτb = 110.0004, gwb = 0.9977)
Но, визуально, видно что модель не может повторить периоды высокой волатильности наблюдаемые на реальных ценах (история дневных цен КокаКола за 20 лет) график «rn s» симуляция модели, «rn r» реальные цены, реально наблюдаемые кластеры вол помечены кружочком.

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

Оценка качества Stochastic Volatility модели, PSIS-LOO, Moments

Точно рассчитать out-of-sample likelihood для Stochastic Volatility модели сложно, требуется Particle Filter, MCMC не может этого сделать.

Как вариант можно использовать приближение PSIS-LOO, либо посмотреть совпадение по моментам между реальной прибылью и синтетической серией.

Судя по всему, толку от PSIS-LOO практически никакого. Ниже сравнение двух моделей А и Б, PSIS-LOO одинаковый, по моментам Б сильно лучше. elpd_mean — Expected Log Predictive Dencity / число точек.

Оценка качества Stochastic Volatility модели, PSIS-LOO, Moments

Сравнение моментов, явно сильная разница, Б лучше. С префиксом 'r' это параметры маржинального распределения, с префиксом 'g' параметры GARCH.

Для модели А RMS-Log-Error =0.3562, для B гораздо меньше 0.149



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

Стохастическая Волатильность #SV #VaR #опционы #MCMC

Финальная модель SV with Jumps, пример предсказания цены КокаКолы на 3 года, откалибрована MCMC на исторических данных

Стохастическая Волатильность #SV #VaR #опционы #MCMC

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

Симуляция Цены, SV

Наконец то, начало получаться похоже на реальные цены, SV модель откалиброванная на Кока Коле, симуляция цены. 

Осталось добавить еще пару небольших моментов, и будет почти готово... 

Симуляция Цены, SV
Разные пути цены



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

Модель SV with Jumps пожалуй похоже на реальность

SV with Jumps, симуляция цены за 1000 дней (цена последний график).

r[t+1] = Normal(μ, exp(s[t]))
s[t] = ω + φ (v[t-1]-ω) + σ ε[t] + σj J[t]

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

Она не может повторить кластер/серию прыжков, прыжки случайны, но все равно получается боль менее нормально.

Модель SV with Jumps пожалуй похоже на реальность

Перебрал несколько моделей. Есть лучше модели SV with self exciting jumps (реалистичная, но вдвое сложней и больше парраметров и слишком угловатая для MCMC), MSM markov switching multifractal (реализация идеи Мандельброта) и ее варианты (модель простая и реалистичная, но слишком угловатая и не подходит для MCMC).

Почему 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 шагов

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

Недоступная Недвига?

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

Зачем тебе квартира? Ты просто подаришь 7-10млн кому то. Что получишь взамен? 

Да вот, понимаешь, в городе пенсия выше будет, и какие то еще плюсы упомянул, которые я не понял.

У тебя в пригороде продается здание с участком земли 5сот, за копейку (тыщ 600 что ли), давно заброшено, облезлое, отключено от комуникаций, выглядит страшно но несущие структуры целые и после ремонта вид будет отличный. Почему не хочешь им заняться и превратить в дом? У тебя есть и техника и материалы и опыт строительства. Вложишь 1-2млн превратишь его в дом. Участок с деревьями, вечером в беседке шашлыки, утром тишина, сосновый лесопарк из окна, людей вокруг мало. От центра города где ты хочешь квартиру 40 мин, к тому же тебе в городе все равно редко нужно, пару раз в месяц. А в городской квартире будет какой нить уплотненнуый микрорайон, с бесконечными ремонтами перфораторами которые слышны через несколько этажей, возможно слышно будет шум соседей, или шаги сверху.

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

Julia (Matlab) vs Python

Чистый и компактный синтаксис вместо нечитаемого питоновского месива из случайных префиксов/методов/функций pref.fun(x)/obj.meth(d)/fun(b, d), с разными названниями и случайными сокращениями. 
Julia (Matlab) vs Python


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

теги блога Alex Craft

....все тэги



UPDONW
Новый дизайн