Блог им. Gusan

Распознать тренд

Попробовал строить свое распределение вероятности на основе простенькой модели с трендом. Вычисляю дрейф в последних скольких-то приращениях цены БА, предполагаю, что этот дрейф сохранится до экспирации и получаю наиболее вероятную цену на экспу. Используя эту цену и некоторую сигму, строю нормальное распределение и смотрю, что оказалось точнее: модельное распределение или реальное рыночное (подробнее про подход здесь: Рынок vs модель). Оказалось, что на трендовых участках такая модель существенно точнее, чем рынок. Вот пример для квартала RTS-12.14:
Распознать тренд

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

Но такая идиллическая картинка, конечно, далеко не на всех кварталах. Чаще вот такая ситуация:
Распознать тренд

«Распознанный тренд» ломается, и экспирация происходит совсем не там, куда указывал тренд. В таких случаях, рыночное распределение оказывается гораздо точнее модели. На картинке модельное распределение (синяя линия) дает почти нулевую вероятность цене экспирации в отличие от рыночного.

Очевидно, что просто в лоб считать текущую инерцию в приращениях и на ее основе строить текущий тренд — нельзя. И вообще считать, что всегда есть какой-то тренд — нельзя. Например, уважаемый А.Г. заявил в этом видео, что у рынка бывает три состояния: тренд, пила и случайное блуждание. Если в это поверить, то нужно иметь три разные модели для распределения вероятности, в зависимости от того, какое сейчас состояние у рынка. Если тренд, то распределение с матожиданием в сторону тренда. Если пила, то какое-то другое (видимо, с более обрезанными хвостами, чем у рыночного). Если блуждание, то брать только рискнейтральные распределения (матожидание равно текущей цене БА).

Как распознать, в каком состоянии сейчас рынок? А.Г. подсказал четкий алгоритм. Решил для начала потренироваться на кошках на сгенерированных рядах. Но обнаружил, что если к линейному тренду добавить даже небольшой шум, то корреляция соседних приращений уже не выявляет зависимости, которую видно глазами. Поэтому решил попробовать автокорреляционную функцию (АКФ). Вот какая получается картинка для линейного тренда с добавлением небольшого шума:
Распознать тренд

Наверху график тренда, внизу график АКФ. Видно, что для небольших смещений отрезки исходного ряда почти 100% коррелируют, несмотря на шум. Причем, похожая картина и у нелинейных трендов. Вот несколько примеров: 1/xx^2Sqrt(x)Ln(x).

Чтобы смоделировать контртренд, сгенерировал синус с шумом:
Распознать тренд

Здесь АКФ уже ведет себя по-другому и показывает, что в исходном ряде есть периодичность и движения в противофазе.

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

АКФ резко падает с 1 и дальше уже болтается у нуля. Вот еще несколько примеров: 12345. У всех траектории совсем разные, но АКФ ведет себя похоже.

В общем, если есть отрезок исходного ряда в каком-то одном из состояний (тренд/контртренд/блуждание), то с помощью АКФ можно довольно точно определить это состояние. Если ошибаюсь — прошу поправить.

Следующим шагом интересно было бы разбить исторический ценовой ряд на отрезки, на каждом из которых какое-то одно состояние и посмотреть есть ли какие-то закономерности в этих отрезках; можно ли как-то прогнозировать начало того или иного состояния; предшествует ли что-нибудь переходу в другое состояние и т.д. Но тут уже похоже нетривиальная задача — как разбить на отрезки одного состояния. Вот пример, сгенерированный ряд из трех одинаковых по длине отрезков, на каждом из которых свое состояние:
Распознать тренд

Глазами-то видно эти три отрезка, но как распознать их программно? Перебирать все возможные комбинации отрезков — нереально долго. Может есть какая-то методика для такой задачи? Буду очень благодарен, если кто подскажет, куда копать.


Или все это ерунда и тупиковое направление? Нет никакого тренда/контртренда, а есть только случайное блуждание с переменной волатильностью? Так утверждают некоторые продвинутые опционщики. Да и в умных книжках пишут, что как минимум верна слабая форма гипотезы эффективного рынка (вся прошлая информация уже учтена в текущих ценах). Т.е. нет не только тренда/контртренда, но и вообще любой ТА не работает. Интересно — кто что думает по этому поводу?

★14
3 комментария

Если было бы СБ то по идее должна работать ТС с рандомными входами и Стоп=2*Тейк, но это не так.

Или вот аномалии на скрине. По Х-размер бара, по У количество баров такого размера. В случае СБ, график должен был быть похож на Гаусовскую кривую, но это не так. (EURUSD D1)

avatar
Народ пытался через вайвлеты считать. Предварительно на фракталвв разбивая. Если разберешся вот ссылка https://www.lektorium.tv/lecture/14232

Классификация состояния рынка — исключительно интересная тема.

Жаль, ветка заглохла.

Видимо, по сути никто ничего сказать не может. =/

avatar

теги блога Кирилл Браулов

....все тэги



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