Блог им. Buybuy

Конкурс на 50,000 руб. завершен досрочно!

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

Очень приятно, что на СЛ обитают люди, которые умеют включать мозги).

В Конкурс на 50,000 руб.! (smart-lab.ru) объявился победитель. Всего на 2-й день. Это Юрий Ч.
Он уже получил свой выигрыш. Конкурс закрыт.

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

Итак, у нас есть ценовые массивы High(t), Low(t), Close(t) и абсолютно любая ТС

Введем вспомогательную функцию Pos(X) = if X>0 then 1 else 0 end (почти функция Хевисайда)
и 2 вспомогательных массива

Alpha(t) = Pos(Close(t-1)-Low(t))
Beta(t) = Pos(High(t)-Close(t-1))

Тогда отрицательный снос на каждом баре выглядит так:

1. Версия Юрий Ч. (причесано мной)

Drift(t) = -abs(Close(t)-Close(t-1)) * if Alpha(t)+Beta(t)=1 then 1 else 0 end

2. Моя версия

Drift(t) = (Close(t)-Close(t-1)) * (Alpha(t)-Beta(t))

Для получения интегрального сноса надо просто просуммировать Drift(t) за нужный временной период.

Мне кажется, что моя формула проще и изящнее, но (как говорится) победителей не судят.
То, что два эти выражения совпадают всегда — это простое логическое упражнение

Теперь пару слов о том, почему я считаю это важным.

Посчитанный снос не зависит от индикатора (если система реверсивная — т.е. стоит либо вверх, либо вниз одинаковым объемом).

Если взять евро и посчитать (результаты в топике конкурса внизу) мы получим снос примерно 3 прайсстеп/бар.
Это больше или равно спрэду на спокойном рынке.
Для HFT такая цифра — это овердохуа.
И если ваша стратегия при обычном моделировании (финрез = приращение цены * знак индикатора или ТС) дает в среднем меньший результат — ее можно смело отправлять в утиль.
Для крипты все так же плохо.
Для акций и фьючерсов на них все гораздо гуманнее.

P.S. Днем раньше этот же человек Юрий Ч. заработал на мне 1,000 руб., победив в локальном киноконкурсе (https://smart-lab.ru/blog/714546.php#comment12837726). Мораль: на СЛ тоже можно зарабатывать деньги, причем не только Тимофею)
★7
74 комментария

да большой булыжник в огород Тимофея)))
Надо Тимофею поднимать расценки за конкурс по 10тыщ каждому а не по штуке)))
avatar
Срамота! Одна аленегархи на смартлабе!
avatar
RoboScalp, да я уже писал вроде

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

Из этого следует масса выводов
1. Если система зарабатыват мало, то при попытке уменьшить накладные расходы, перейдя на лимитки, она будет сливать
2. Если система работает в минус, то инвертированная система не обязана работать в плюс (очень странно, да?)
3. И многое, многое другое...

С уважением
avatar
Ничего не понятно, но рад за вас и Юрия Ч. 
avatar
ICWiener, спасибо!

Если народ не хочет учить математику забесплатно, будет учить за деньги)
Деньги у меня пока есть)

С уважением
avatar
Мальчик Buybuy, задачи ХФТ трейдинга далеки от народа. Потому как наукоемко, требует инфраструктуры, времени и вечной гонки. А так вон есть 101 альфа от @uralpro.
avatar
Мальчик Buybuy, Жесть, как она есть
avatar
Bablos, ???

С уважением
avatar
Мальчик Buybuy, ощущение, что вы реально что то знаете, чего не знают другие. Что то сложное там у вас, я такое называю-жесть
avatar
Bablos, да, Вы правы

Чего-то знаю
Но (поскольку это знание получено кровью) оно не особо и радует...

С уважением
avatar
Мальчик Buybuy, а вы сами не думали научиться программировать алгоритмы? В нашем деле это гораздо изящнее выражает мысль, чем ваши формулы эквити.
avatar
robomakerr, так я это и делаю

Предпродакшн на matlab
Продакшн на C#

С уважением

P.S. Все немного не так. В нашем (общем) деле для оптимизации эквити нужно либо точное аналитическое решение, либо квантовый комп на 512+ кубит. Последнее недоступно ни за какие деньги (((
avatar
Мальчик Buybuy, странно это всё. А я вот как-то умудряюсь обходиться обычным МТ-тестером и стареньким компом на 3 ГГц)
avatar
robomakerr, ну я тоже так примерно )))

В продакшне работают простенькие машинки
А в ресерче мне уже 2xEpyc и 2Tb RAM не хватает (((

С уважением

P.S. В конце концов — главное результат. А способ его получения пусть останется за кадром.
avatar
Это Юрий Ч.
Он уже получил свой выигрыш.
+++!
 Пацан сказал — пацан сделал! © 
avatar
пусть альфа бара =0, бета бара=1. почему бар уходит в дрифт, если сигнал индикатора, сформированный по результатам предыдущего бара — шорт?
Стас Бржозовский, я не смогу это просто объяснить

Для этого я просто выписываю явную формулу для приращения эквити на баре и выделяю член, свободный от индикатора. Но саму формулу приводить нет никакого желания.
Если надо — могу кинуть в личку (осторожно — многобукофф).

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

С уважением
avatar
Мальчик Buybuy, не, спасибо, не надо в личку и не надо многабукффф) Но недопонимание осталось. Во первых — почему соответствующее слагаемое оказывается таки в дрифте, и во вторых как я получу положительный финрез зашортив растущий бар ниже его лоев) мб условие задачи не оч внимаьтельно прочитал) но Бог с ним)
Стас Бржозовский, ок, начнем

1. Положительный финрез мы получим потому, что если Альфа = 1 и Бета = 0, то приращение цены всегда отрицательно (простая логическая задачка). Если ты в шорте, по идее это плюс. Не?
2. Финрез на баре = приращение цены * индикатор (если смогли открыться по новому сигналу) либо приращение цены * предыдущая поза (если не смогли открыться — тянем предыдущую позу)
3. Смогли/не смогли открыться выражается через Альфу и Бету в зависимости от направления открытия (они, собссно для этого и введены)
4. Дальше сам посчитаешь

С уважением
avatar
Мальчик Buybuy, альфа ноль, бета 1 я писал, если чо) и по окончании пред бара по цене его закрытия открылся в шорт. так понял условие
Стас Бржозовский, так

Я запутался
Если Альфа = 0 и Бета = 1, то приращение цены ВСЕГДА положительно.
Следовательно шортовая поза убыточна.

С уважением
avatar

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

Стас Бржозовский, Ок

Когда решишь — отпишись, плз
Хотя оптимизация лимитных эквити — это дорога в Ад
Вычисления устрашающие...

С уважением
avatar
Хм, в итоге это очень странный косвенный способ измерить fill-rate — через pnl минутных баров и только в точках окончания баров
avatar

Объясните, что за дрифт?
Я так понял что если я в момент t, выставляю заявку по Close(t-1), то судя по картинке у меня всё исполнится с нулевым проскальзыванием?





А по формулам получается что будет -1, то есть надо проскальзывание -1 брать вниз? Или что тогда «физически» значит Drift?

Введем вспомогательную функцию Pos(X) = if X>0 then 1 else 0 end (почти функция Хевисайда)
и 2 вспомогательных массива

Alpha(t) = Pos(Close(t-1)-Low(t))
Beta(t) = Pos(High(t)-Close(t-1))

Drift(t) = (Close(t)-Close(t-1)) * (Alpha(t)-Beta(t))

alpha = Pos(2-2) = 0
beta = Pos(4-2) = 1

Drift = (3 - 2) * (0 - 1) = -1

1. Версия Юрий Ч. (причесано мной)

Drift(t) = -abs(Close(t)-Close(t-1)) * if Alpha(t)+Beta(t)=1 then 1 else 0 end

Drift = -1 * 1 = -1 
avatar
ПBМ, нет

На вашей картинке на баре t по цене close(t-1) открыться вообще нельзя. Причем ни в какую сторону (надо, чтобы low(t) хотя бы на 1 прайсстеп была ниже close(t-1)).

Дрифт — это систематический убыток, который накапливается независимо от сигналов индикатора.

С уважением
avatar
Мальчик Buybuy, не понимаю, почему нельзя, сделка же была по той цене.
это исскуственное ограничение какое-то
avatar
ПBМ, нет

Так это работает в реале
Хотя оптимизатор ТСЛаб покажет Вам, что Ваш ордер исполнен)

С уважением
avatar
Мальчик Buybuy, ну допустим я согласился с вами (нет), но какой практический смысл тогда? вычислять по формуле slippage для постановки в стакан?
но ведь у вас даже объемы никак не учитываются.
вобщем слишком элитная математика. огородились собственными допущениями-аксиомами, и давай решать кто прав кто виноват.

извините!
avatar
ПBМ, так

Давайте по порядку
1. Эти вычисления (подобные, но более сложные) приносят мне очень хороший рыночный доход
2. Данное конкретное рассуждение показывает, что если система, работающая лимитными ордерами, сливает бабло, то обратная к ней система также будет (обычно, за редким исключением) сливать бабло. Я долго не мог понять причину этого феномена, пока не провел все необходимые вычисления
3. Я тестировал объемы в части их корреляции с приращениями цен — она отсутствует.
4. Более того, я могу сэмулировать объемы только по данным ценового ряда (получить очень похожую и сильно коррелированную штуку). Толку от этого — ноль

С уважением
avatar
Мальчик Buybuy, 
Эти вычисления (подобные, но более сложные) приносят мне очень хороший рыночный доход
так что все тепереча?.. нам надо сворачивать удочки и на завод?...
avatar
wistopus, зачем?

Я с 2012 (вроде бы) не работаю на российском рынке.
Планировал повторно начать в августе 2021, но ввиду систематического срыва сроков пока передвинул планы на март 2022 (есть более вкусные темы).

Но если освою интерфейсы NYSE/Nasdaq, м.б. и вообще не вернусь на росрынок. Он маленький на самом деле, а комисы очень дорогие.

С уважением

P.S. Тренировать мозги всегда полезно. Учить математику — еще полезнее
avatar
Мальчик Buybuy, 
Тренировать мозги всегда полезно. Учить математику — еще полезнее
 буду думу-думать… можно ли мне Вашенское Изобретение куда-нибудь к себе воткнуть.......
или оно тока на Вашенских миллисекундах работает?… тогда энто мне ни к чему...
avatar
wistopus, моя математика работает на всех таймфреймах

Но на дневках пропадает стационарность/эргодичность, так что все вычисления становятся сильно сложнее.
А доход меньше.

Вопрос: на хрена зачем козе баян?

С уважением
avatar
Мальчик Buybuy, 
Вопрос: на хрена зачем козе баян?
на Ваш вопрос может только сама Коза ответить!...

все равно посмотрю, что можно сделать -может быть Вы еще сами не представляете, что вышли на получение Нобелевки по Математике....
avatar
wistopus, нобелевку по математике не вручают

Если только по экономике — но мне до этого пахать и пахать...

Причина в том, что (по легенде) известный математик Миттаг-Леффлер увел жену у Нобеля...

Так что зря говорят, что мы, математики, сухари. В любви мы — Эйнштейны! © 17 мгновений весны

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

но, возможно, из-за Вас и Вашенского изобретения Комитет изменит завещание Нобеля...
avatar
Мальчик Buybuy, т.е. объем не вносит доп. информации?
avatar
cybertruck, это IMHO

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

С уважением
avatar
cybertruck, звучит, на первый взгляд, дико, но это так (и легко проверяется). Причины этого, в принципе, лежат на поверхности и заключаются в том, какая именно величина фигурирует под «объемом» в OHLCV графике, что именно она отражает и как соотносится с тем, как проводятся торги.
avatar
PSH, считаете «объемный анализ» (вертикальные объемы, профили, объемные кластеры) — фуфло?
avatar
cybertruck, я уже написал, что именно я считаю. Все зависит от того, что именно понимается под «объемом», «вертикальным объемом», «профилем» и т. д. и т. п., какие именно данные Вы анализируете, что хотите узнать и как они соотносятся с ходом торгов. Как верно отметил @Мальчик Buybuy , «объем» в наборе OHLCV не вносит никакой существенно полезной информации, по крайней мере мне, как и тредстартеру, ее обнаружить не удалось

Дополнительно обращаю на всякий случай внимание, что знак "@" перед никнеймом используется для прямой ссылки на пользователя и не несет никакого негативного смысла, а то мне тут (в другом треде другого пользователя) как-то пост уже удалили, посчитав оскорбительным, обжегшись на молоке, дую на воду :)))))))
avatar
cybertruck, кстати, по поводу «объемных кластеров» я давным-давно, еще интересуясь темой, писал вот это. Вывод, нужны ли объемы для построения «кластеров», оттуда сделать можно

Сам я, кстати, считаю, что «объем» вообще первичен — мы, все-таки, наблюдаем за процессом торгов, где участники какие-то сделки друг с другом совершают, а не за перемещением виртуальной цены по оси времени. Вопрос только в том, что это за «объем» и как он соотносится с членом V в кортеже OHLCV данных
avatar
PSH, интересная ссылка, спасибо.
avatar
Мальчик Buybuy, 
1. это понятно и внушает уважение, я просто лично люблю более простые проверяемые объяснения на пальцах.

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


2. над этим я глубоко не думал, для меня это как аксиома и всё

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

4. хорошо, это вообще для неподготовленного человека выглядело бы как волшебство, буквально переворот мировоззрения — что объёмы следуют за ценой, а не цена за объёмами. признаться об этом я не думал и это противоречит моим допущениям-гипотезам. интересная тема!
avatar
ПBМ, ну не совсем так

Никто ни за кем не следует, просто цена и объем путешествуют вместе.
На тонком рынке одна микроструктура цен, на толстом — другая.
И все это можно упаковать во вполне компактные формулы.

Когда-то я думал, что это Грааль. Оказало, что нет...

С уважением
avatar
Мальчик Buybuy, по п.2, если взять условную арбитражную систему, как торговля парой Сбер — Сберпреф. Трендовая система будет сливать. Т.к. пара коррелирована. Если ее торговать обратно, то как только будет образовываться тренд, она будет переворачиваться и (при определенных параметрах) приносить прибыль. И это противоречит феномену в п.2
Я так торговал в плюс, но не устроила доходность. 
Возможно мы говорим о разных классах систем и разных принципах торговли. И п.2 работает не везде?
avatar
Мейстор Эймон, так

Вы говорите о торговле лимитными ордерами?

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

Это чисто лимитный феномен
Огромное спасибо за честность (на СЛ это встречается нечасто)

С уважением
avatar
ПBМ, 
avatar
Однако хреновый алгоритм Вы придумали. Встретив на своем пути очередной теоретический «Юкос» ( т.е. всегда  High(t+1) <= Close(t) ) он останется в лонге даже когда цена сложится в разы.
PS. Кстати, где-то недавно читал на С.Л. про такое…
avatar
Synthetic, ну положим

Про алгоритм торговли я вообще ничего не написал

Мой будет стоять в это время в шорте — поверьте на слово)

С уважением
avatar
Ну не алгоритм, а «наша система».
Я вот это имел ввиду:
Теперь мы хотим, чтобы наша система работала лимитными ордерами. Это означает:
1. По итогам бара (и предыдущих баров) считаем индикатор и формируем лимитный ордер на покупку/продажу по цене close
2. Если пытаемся открыться вверх по close(t), то открытие состоится, только если low(t+1) будет меньше close(t) хотя бы на 1 прайсстеп
3. Если пытаемся открыться вниз по close(t), то открытие состоится, только если high(t+1) будет больше close(t) хотя бы на 1 прайсстеп
На формат/принцип расчета индикатора мы не накладываем никаких условий
avatar
Synthetic, так работают лимитные ордера

Не нравится - не ешьте работайте по маркету
Издержки при этом будут выше

С уважением
avatar
Eugene Logunov, но она есть (на малых таймфреймах)

На самом деле
Просто не в классическом смысле, а в более широком
Нужно уметь суммировать расходящиеся ряды по Эйлеру (2 раза) или по Борелю
Отсюда и взялось утверждение (в которое Вы не поверили) о возможности описания распределения приращений цен относительно простой формулой с 2-мя параметрами...

С уважением
avatar
— так или иначе суть Вашей формулы в том, что проскальзывание для лимитных ордеров — это close-to-close;
— не пойму смысла использования лимиток, когда можно просто котировать рынок, выставляя стандартные заявки в стакан;
— совсем необязательно торговать исключительно по закрытию свечки, достаточно знать свой «спред» из расчётный модели.
avatar
bozon, даже не знаю, что и ответить

0. Пост был теоретический, без намека на использование в торговле. Но он, в частности, объясняет, почему инвертирование убыточной системы, работающей лимитками, может не сделать ее прибыльной.
1. Бары — это удобный способ упаковки тиков. Никто не мешает работать на тиках. Смысл рассуждения — что проскальзывание есть и там, где его не должно быть по определению ордера.
2. В стакане есть ровно аналогичные проблемы (если, конечно, Вы, как и я, пытаетесь ударить заявкой в область мейка, а не в область тейка. Что разумно, т.к. комиссии в этом случае отличаются разительно. И только любимая МосБиржа не платит за предоставление ликвидности). К сожалению, в стакане сложнее математика. Но я работаю над этим)
3. Это неверно, IMHO. У меня есть модель для маркапов (смещений цен ордеров относительно close). Это работает хуже (оптимальный маркап = 0). Возможно, при более сложной модели выставления заявки (как у А.Г., но я так и не понял, что он делает) результаты будут другие. В любом случае, это можно промоделировать, в т.ч. аналитически.

С уважением
avatar
Долго пытался хотя бы понять, о чем именно пытается сказать тредстартер. Пришлось пролистать этот тред и предыдущий. Понял :)

Речь идет, насколько я понимаю, о том, что по последней котировке исполниться получится далеко не всегда (абсолютно неважно, пришлась эта невозможность на CLOSE или нет, просто в случае HLC графика это событие можно отследить только на CLOSE), что, в общем-то, самоочевидно, так как в противном случае график цены представлял бы собой бесконечную горизонтальную линию :). Все это мощно завязано на HLC бары, которые я не люблю :), поэтому пришлось позависать :))). Автору в любом случае спасибо за разминку :) .

И этот факт, собственно, совсем не означает, что в случае лимитного ордера у нас возникает «проскальзывание», в общем случае это, разумеется, не так, тредстартер, намеренно или нет, вводит сообщество в заблуждение.
avatar
 Ни слова не понял, но лайк поставил. Круто. 
avatar
Eugene Logunov, да, тредстартер рассматривает достаточно узкую прикладную задачу, но при этом распространяет ее скоуп на области явно вне его. Может, ненамеренно, вследствие профдеформации, может, намеренно, чтобы пугать людей, не знаю :)
avatar
PSH, профдеформация присутствует — это факт

Однако задача абсолютно прикладная
У меня ежедневно идет сверка финреза с теормоделью. И если отклонение превышает $3 на $10,000 условного депо (плечо пока 12) — загорается красный сигнал светофора. Это маленькие доли процента.

С уважением

P.S. Без вычислений такого сорта гарантировать качественное исполнение — unreal
avatar
Мальчик Buybuy, разумеется, прикладная. Только узкая :)

И, кстати, у меня тут же вопрос по адекватности результатов ее решения. Если разговор идет о невозможности исполниться по текущей котировке и эта невозможность отслеживается только на CLOSE минутного бара, тогда как по факту она может возникнуть в любой момент, зачем ее рассчитывать только на CLOSE?
avatar
PSH, поясню с удовольствием

1. Если мы попытаемся ввести фиксированное отклонение от close (маркап, бывает как положительный, так и отрицательный), то с удивлением выясним, что максимальный финрез достигается при маркап = 0. Могу пояснить, но это будет #многобукофф
2. Если мы будем использовать кастомные сценарии цены открытия (как уважаемый А.Г. это делает на дневках, я, к сожалению, так и не смог понять как), то возможны приятные нюансы. Обозначьте любой разумный сценарий — думаю, я смогу обсчитать его аналитически.

С уважением
avatar
Мальчик Buybuy, Хотя снимается вопрос, это же была задача на конкурс для разминки мозгов.
avatar
На картинку сноса можно посмотреть?
Колдун всегда просил картинки показывать, и только потом разные формуле…
avatar
Toddler, ну Вы сами можете посчитать

Формула в этом топике, массив котировок EURUSD — в топике про конкурс (пост победителя). Если вкратце — практически прямая вниз )))

С уважением

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

И этот Юрий Ч. ничего не пишет на «Смартлабе». Ну как так можно?

Зато Олейник пишет всякую срамоту.

avatar

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

....все тэги



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