Блог им. Buybuy

Простой тест на применимость теоретико-вероятностных моделей к рыночным ценам

Добрый день, коллеги!

Этот пост написан в продолжение дискуссии, начатой

Открытое письмо к VictorGromov. Доколе?! (smart-lab.ru)

К сожалению, сам я в ней поучаствовать не смог, т.к. был мгновенно забанен за систематическое называние  VictorGromov большим земляным червяком, не уважающим нас, смердов. Ну и правильно. Чем больше на СЛ будет таких активных и плодовитых авторов, как  VictorGromov, тем больше годного контента мы с вами получим. Аминь!

Возьмем какой-нибудь длинный массив котировок. Например, XBTUSD.P (код tradingview.com), которым я давно и успешно торгую. В моменте у меня его аж 2437219 минутных баров. Поскольку биткойн на долгосроке ходит размашисто, возьмем логарифм от цены (не буду повторяться, почему всегда полезно исследовать логарифм от цены, но на коротком сроке это бесполезная модификация).

Пусть x(n) — это логарифм цены
Пусть d(n)=x(n)-x(n-1) — это приращение логарифма цены

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

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

Для этого построим график частичных сумм d(1)+...+d(n). Получим мы, ессно, исходный ряд x(n) и вот такой график:

Простой тест на применимость теоретико-вероятностных моделей к рыночным ценам
Из него мы видим, что матожидание d(n) скорее всего положительно, дисперсия/СКО высоки по сравнению с матожиданием, так что ничего уверенного про поведение цены в ближайшем будущем мы сказать не можем. Также мы не знаем, стационарны ли матожидание и дисперсия, либо же они меняются со временем.

Теперь построим еще 2 случайные величины:

y(n) = abs(d(n))
z(n) = d(n)*sign(d(n-1))

и применим к ним такую же процедуру.

В первом случае получим график:

Простой тест на применимость теоретико-вероятностных моделей к рыночным ценам
Из него мы видим, что матожидание y(n) слабо зависит от времени, а дисперсия мала по сравнению с матожиданием. После детрендирования ряда (исключения из него линии регрессии), можно увидеть колебания около нуля и порассуждать о кластеризации волатильности. Ну и монотонный рост не вызывает у нас вопросов — мы складываем только неотрицательные числа.

Второй случай интереснее:

Простой тест на применимость теоретико-вероятностных моделей к рыночным ценам

Это по сути график эквити простейшей реверсивной трендовой линейной торговой системы порядка 1. Из него мы также видим, что матожидание z(n) слабо зависит от времени, а дисперсия мала по сравнению с матожиданием.

Но тут мы уже имеем дело со знакопеременным рядом, так что тот факт, что частичные суммы четко ложатся на асимптотическую прямую, объяснить уже непросто.

ТЕПЕРЬ ВЫ, КОЛЛЕГИ:

1. Берете любую теоретико-вероятностную модель, которую Вы используете для работы на рынке (случайное блуждание, авторегрессионные модели, модели с кластеризацией волатильности, любые кастомные модели с изменяющимися во времени матожиданием и дисперсией) и пробуете воспроизвести этот феномен (последовательность z(n) и график ее частичных сумм).
2. Далее берете любой знакомый вам ряд ценовых котировок (Si, Ri, GAZP, SBER, валюты, индексы, коммодитиз, американские стоки, крипту — вообще все, что угодно, кроме облигаций, дисконтные инструменты можно) и воспроизводите график сумм z(n). Это можно сделать в Excel за 3 минуты. И видите, что магия работает, правда, в 90% случаев у вас выйдет не монотонно возрастающая, а монотонно убывающая функция. Главное, чтобы таймфрейм был малый (1m, но можно юзать 15m, 30m, 1h, дальше — хуже), а количество баров — большое (иначе получатся корявые, а не красивые картинки).
3. Видите, что теоретико-вероятностная модель радикально расходится с реалом. И, чтобы как-то привести ее в соответствие, следует выкрутить корреляцию соседних приращений цен вплоть до +-100% (что не слишком соответствует действительности и не подтверждается графиком выборочной АКФ).
4. Задаете себе вопрос — если в этом тесте теоретико-вероятностная модель показывает одно, а рыночные котировки — совсем другое, то каковы реальные границы применения этой теоретико-вероятностной модели? Будет ли она работать и нести бабло?

Как-то так.

С уважением

P.S. Иногда (редко) вместо 3-го графика получается какой-то фантазийный мусор. В 99.9% случаев это означает, что:
1. Котировки «кухонные»
2. На этом рынке нет ликвидности
3. Вы взяли не все котировки (убрали ночные торги, которыми не пользуетесь)
Других исключений пока найдено не было, но все может быть в теории...

★5
54 комментария

А есть у вас котировки по NG,SPY,NASDAQ?  

avatar
Kot_Begemot, NG не интересен, если честно

Есть S&P500, Nasdaq100, Nasdaq500.

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

С уважением
avatar
Мальчик buybuy, спасибо, буду знать, если что)
avatar
Kot_Begemot, троллинг засчитан )))

Кстати, Вы ниже написали, что Ваши более сложные системы на реале дают более гладкую эквити, чем на приведенных выше графиках.
Это тоже был тонкий троллинг?
(из 3-х графиков к абстрактной эквити имеет отношение только 3-й)

С уважением
avatar

Мальчик buybuy, нет, но там есть другая проблема, связанная с тем, что нарисовать эквитей можно даже слово «Счастье», если заниматься машинным обучением до упора совсем.Я потому и написал, что они сильно сложнее.

 

Для простых моделей этот ваш индикатор Z очень даже крутой, бесспорно. (Наверное на М1 ещё круче). И да, я понимаю к чему вы клоните, но не понимаю вашей… восхищенности сим преобразованием. Я и не такое в жизни подгонял уже. Сам даже не повторю сейчас что я делал… Но получал трендовость при полном провале всех тестов, в том числе на отличие от GBM (ABM). Но по рынку это не выстрелило совершенно, рынок проще оказался )

 

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

 

С уважением.

 

avatar
Kot_Begemot, ну Ок. Если это был не троллинг, тогда приятно )))

Я не восхищаюсь индикатором Z. Это просто наблюдение, которое я сделал в далеком 1999 и с которого началось изучение микроструктуры рыночных цен. А удивительно оно своей простотой.

И мои действующие стратегии, и реал сложнее на много порядков.

Тем не менее, на рынке есть масса ценовых феноменов, которые очень плохо вписываются в подход ТВиМС. О некоторых я писал ранее в своем блоге.

С уважением
avatar
Задаете себе вопрос — если в этом тесте теоретико-вероятностная модель показывает одно, а рыночные котировки — совсем другое, то каковы реальные границы применения этой теоретико-вероятностной модели? Будет ли она работать и нести бабло?

 

Вообще говоря слабо понятно, что означает «совсем другое»?

Модельные ряды дают качество роста 3-4 (шарп)

Реальные… от +2 (Si) до -7 ( комоды).

Мои системы ито более ровные графики выдают чем это всё. Но они посложнее, конечно.  

avatar
Kot_Begemot, совсем другое означает что

1. График 3, построенный по рыночным котировкам
2. График 3, построенный по теорвер-модели (одна из реализаций)

будут отличаться, как небо и земля.

С уважением
avatar
Мальчик buybuy, да одно и то же, тем более теорию всегда можно подтянуть под практику при желании. 
avatar
Kot_Begemot, нет )))

С уважением
avatar

Мальчик buybuy, 

 

Вот например график «3» для трендовой модельки :

 

с кластеризованной волатильностью.

 

T-test = -8.08, такого даже коммоды не дают качества (от -4, до -7).

 

А это RI с T-test = -2.1

Не понимаю, что я должен тут такого необычного увидеть???

С уважением.

 

avatar
Kot_Begemot, так

Поясните, плз, какой конкретно график и какого цвета соответствует графику «3» из моего поста?

С уважением
avatar
Мальчик buybuy, верхний синий график это график 3, взятый преобразованием z(x), где x — красный график 2, полученный из Trend + Noise которые синие и зеленые на графике 2. График 3 это z( d ( RI1! ))

avatar
Kot_Begemot, удивительно)

У Вас работает!
Предыдущие 99+ вариантов, предложенных мне коллегами, этот простой тест не прошли...

Но у меня есть еще много в загашнике)))
А Вам приношу свои искренние поздравления.

ВОПРОС: Позволяет ли Ваша модель получить фантазийный синтетический актив, в котором график «3» будет расти? (я привел такой пример)

С уважением
avatar
Мальчик buybuy, да, конечно, рост или падение регулируется весами компонент. 
avatar
Kot_Begemot, а такой тест пройдете:

Пара строк в гроб теоретико-вероятностному подходу к рынкам (smart-lab.ru)

Просто Вы Ri упомянули, а я специально проверят этот феномен на котировках Ri от А.Г.

Ну это в свободное время — не имею морального права подкидывать Вам абстрактные задачки...

С уважением
avatar

Мальчик buybuy, на сгенерированных данных очень устойчивый минус по предложенным суммам, на m15 RI ± ноль.

SR, GZ, NG, GD и даже Si — минус, хотя по Si «старая» сумма — плюс. Но если надо положительную сделать, можно и положительную, вопрос в том ещё какие дополнительные условия должны выполняться? Две суммы в хороший + и всё? Или ещё «старая» в минус должна быть при этом?

 

В принципе-то понятно, что это тест на трендовость, и пройти его легче легкого отдельно, но так чтобы «старая» сумма в минус, а эти обе в плюс и на том же ТФ и так ещё чтобы… в общем можно, но это уже будет не ТВиМС по-моему )

avatar
VictorGromov, не, бесплатно не работаем) У нищих слуг нет!)))

В мою бытность студентом кафедры алгебры матмеха ЛГУ именно в мою обязанность (ну и пары таких же способных коллег) входила подготовка ответов на присылаемые в огромном количестве доказательства Великой Теоремы Ферма. Никто это не поручал аспирантам — у них и так много важных дел. Завкафедры просто распределял пачки писем между сотрудниками, а те спускали это дело на своих студентов.

Там была, конечно масса феерической ереси, вроде «я не понимаю, почему вы не отвечаете уже на мое 5-е письмо с абсолютно правильным доказательством Великой Теоремы Ферма. То ли по той причине, что я пишу вам из мест лишения свободы, то ли по какой-то другой причине...».

Но больше всего мне врезалось в память толстое письмо, в котором чувак чистыми вычислениями пытался опровергнуть ВТФ для показателя 3 (этот кейс еще Эйлер разобрал в лохматые годы) и перемежал кучи листков с вычислениями перлами примерно такого типа:

«Извлекать кубические корни из целых чисел — очень непростое занятие. С каждым следующим знаком после запятой вычисления становятся все сложней и сложней. Но я абсолютно уверен, что когда-нибудь им придет конец...»

С уважением
avatar
VictorGromov, так Уайлз доказал ее в 1991

О чем спич?

С уважением
avatar
VictorGromov, так, дружище )))

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

С уважением
avatar
VictorGromov, ну смотри

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

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

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

Так вот. К чему я это рассказываю.

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

То же самое происходит на рынке. Отдельные задачи извлечения прибыли успешно решаются. Но без серьезного математического бэкграунда и сложной работы шансов получить стабильную копейку нет. Без вариантов.

С уважением
avatar
VictorGromov, как обычно, братэлло )))

«В толстых, толстых кошельках, мой мальчик»

Но к тебе это не относится, конечно

С уважением
avatar
VictorGromov, не парься, братэлло

Смотрящие у нас везде имеются
И за тобой присмотрим, мил человек, если будет такая надобность

С уважением
avatar
Взял дневки на индексу насдак сто. Повторил формулу для Z.
Получил график, весьма неровно падающий вниз. И если за период натуральный логарифм самого индекса вырос примерно на 2, то график Z снизился на 3. Причем картинка весьма негладкая. 
Так-то давно известно, что в насдаке и СП500 сидит странный контртренд, который при обычной торговле побивается комиссиями.
Но вот чего я не понял, так это то, какую  модель такая картинка должна опровергнуть.
avatar
SergeyJu, не не не

На daily все будет очень коряво
На 1m идеал. Дальше — по мере доступности данных

С уважением

P.S. Хотя на дневках тоже работает. Просто набрать хотя бы 1000000 дневок в наше время затруднительно )))
avatar
SergeyJu, опровергнуть должна ТВ-модель ценообразования (если таковая есть)

Но вот у Кота Бегемота все работает кошерно — ему считается.

С уважением

P.S. К конкретному активу этот феномен отношения не имеет — все нюансы микроструктуры цены определяются механизмом клиринга/мэтчинга на конкретной бирже. ТВиМС вообще не оперирует такими категориями, поэтому часто промахивается…
avatar
Мальчик buybuy, а непременно должна быть какая-то единая модель? Да еще и в классических терминах  из учебника. 
Как по мне, мы ищем работающие алгоритмы, не какую-то безумную параметрику на все времена и рынки. 
avatar
SergeyJu, ну не так

Я писал свою точку зрения.

Если мы применяем методы ТВиМС к нестационарному процессу с единственной известной реализацией — мы вынуждены делать предположения о структуре такого процесса (как это делает А.Г.).

Именно в этот момент может случиться расхождение применяемой модели с реальным поведением рыночных цен.

А так да — главное — это прибыль и работающие алгоритмы. Однако, формально для этого методы ТВиМС не нужны. А про их применимость — см. выше.

Это как для применимости МНК (метода наименьших квадратов) существуют 4 известных условия. Но почти никто их не знает и почти никто никогда не проверяет...

С уважением

avatar
Мальчик buybuy, даже если нет полного выполнения всех условий, МНК что-то да покажет. А народу, не отягощенному лишними знаниями и умениями, этого достаточно.
Почему мы хотим, чтобы эквити росла по прямой из левого нижнего  угла в правый верхний. Потому что, помимо прочего,  это дает надежду, что нашли преобразование, которое из нестационарного ряда делает почти стационарный. Причем в реальности мы мыслим в других терминах. 
Нет ли в таком алгоритме ошибки и нет ли переподгонки, если все выглядит слишком хорошо. А эти базовые вопросы вовсе не из теорвера.
avatar
SergeyJu, автор имеет в виду следующее. Если взять рандомный ряд приращений из нормального распределения, то получим два таких графика. d[n] и z[n]:
Оба графика на глаз — случайный блуждания.

Если берём минутки IMOEX, то эти же преобразования дают нам для d[n] и z[n] «чудо», о котором предлагает задуматься автор:


avatar
Sergey Pavlov, на первом графике я вижу события 2008 и 2022 годов? Если это Z. 
На втором я вижу нестационарную  волатильность, если это Y.
Или все не так? 
avatar
SergeyJu, первая пара графиков это кумулятивная сумма d (верхний график) и кумсумма z (нижний график) для случайно сгенерированных данных. Вторая пара графиков это кумсумма d (верхний) и кумсумма z (нижний) для минуток IMOEX.

d[n]=log(x[n])-log(x[n])
z[n]=d[n]*sign(d[n-1])

x для первой пары графиков это генератор случайных чисел.
x для второй пары графиков это IMOEX
avatar
Sergey Pavlov, только под sign стоит d(n-1)

Если оставить d(n) — получится как раз y(n) )))

С уважением

P.S. Ну и, если мне не изменяет память, кумулятивная сумма z(n) для IMOEX должна убывать. Или нет?
avatar
Мальчик buybuy, конечно, там -1. Опечатался в комменте. Эта сумма возрастает как на картинке из-за отрицательной корреляции соседних приращений на минутном ТФ для IMOEX. Давно известный факт. Получили теоретически красивую эквити. Если мы сгенерируем рандомные данные с высокой корреляцией соседних приращений, то получим этот же эффект. Непонятно, о чем пост:)
avatar
Sergey Pavlov, ровно о том

что для получения этого эффекта у рандомных данных корреляция соседних приращений должна быть очень высока и близка к +-100%.

В этом случае они не будут соответствовать приращениям цен рыночного актива, и выборочная АКФ этих 2-х сущностей будет ощутимо отличаться даже на глаз.

Соответственно, встает вопрос о применимости модели

С уважением

P.S. При отрицательной корреляции сумма должна убывать. Нет?
avatar
Мальчик buybuy, да, конечно, при отрицательной корреляции сумма z должна убывать. Это я, не подумав, ляпнул. Если растёт (как вышло для IMOEX), значит там в среднем после положительного приращения положительное, а после отрицательного — отрицательное. АКФ для d в этом случае об этом же говорит:


А это уже любопытно. Не помню, чтобы до минуток считал корреляцию для IMOEX. Возможно, для индекса впервые это сделал))
Раньше от тиков до минуток просчитывал всё это по отдельным бумагам типа SBER, GAZP и тд. Там вроде сплошь до минуток были отрицательные корреляции.
avatar
Мальчик buybuy, ну и не понимаю, почему для этого же эффекта мы должны прям 100% корреляцию организовать. Надо поковыряться на счет 20-30%.
avatar

@Мальчик buybuy , можно пойти дальше и нарезать тиковую ленту не по времени, а по другим критериям (цена, объем и тд). И провести те же тесты.

В этом диссере ученик Ширяева сделал такие шаги.
new-disser.ru/_avtoreferats/01002738594.pdf

Что думаете про такое усовершенствование методы ?


avatar
@Мальчик buybuy, вопросик больше по предыдущему посту (про формулы для ММ) — что думаете про классические модели вроде Glosten-Milgrom или Guéant–Lehalle–Fernandez-Tapia?
avatar
_landy, ничего не думаю, если честно

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

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

Далее есть трабл. При любой стандартной аппроксимации (типа МНК) возникают огромные выбросы. Ну т.е. весь финрез будет сформирован за счет нескольких сделок с плечом 1000000. Это невоспроизводимо в реальной торговле.

К счастью, я придумал 2 метода аппроксимации (сложный и очень сложный), которые ведут себя значительно лучше МНК. Грибов пока нет, но я продолжаю активные исследования.

С уважением

P.S. К ММ, зависимому только от капитала или результата последних сделок отношусь резко негативно. Эту задачу я умею решать исчерпывающим образом, но применительно к рыночным ценам грибов там точно нет…
avatar
Нашел на просторах инета SPBFUT_Si_1m
~2,87 млн значений


avatar
the bat, спасибо за трудолюбие

Вы точно прологарифмировали исходный ценовой ряд?

График 2 выглядит ожидаемо, график 3 — не слишком.

С уважением
avatar
Мальчик buybuy, проверил повторно, всё так же. Получается, фьючерс СИ контртрендовый.
Намутил такую систему на 10 минутках. Правила простые, но с учетом комиссий не работают (



avatar
Одномерное распределение не имеет прямого отношения к возможности успешной торговли или ее невозможности:

smart-lab.ru/blog/452099.php
avatar

теги блога Мальчик buybuy

....все тэги



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