Блог им. Buybuy

Еще пару комментариев про Грааль!

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

Хочу черкнуть пару строк по мотивам поста

Один из вариантов поиска рыночного Грааля (smart-lab.ru)

дабы не размазывать сопли по комментариям.

Жаль, что я коряво излагаю свои мысли, т.к. судя по камментам большую часть моих тезисов так никто и не понял. Уточняем:

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

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

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

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

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

4. При торговле лимитными ордерами (у которых по определению нет проскальзывания и часто нет комиссий) возникает скрытое проскальзывание, вызванное исключительно природой их исполнения. Это нетривиальный факт — я объявлял на СЛ конкурс с призом 50 тыс. руб. — и его выиграл только один человек (никто из остальных не приблизился к правильному решению). Так что для этого проскальзывания есть даже точная аналитическая формула (не зависящая от торговой системы), поэтому его можно оценить абсолютно точно. Проблема в том, что на малых таймфреймах такой средний отрицательный снос на баре превышает традиционные маркетные торговые издержки… Ближе к масштабу daily эта проблема исчезает, но столь медленная торговля — не мое.

5. «Обычно дает плюс, выбор Альфы» — это все про наличие торговой системы с положительным матожиданием. Она либо есть, либо нет. И если она работает в плюс сейчас, то как продолжить этот плюс в будущее? При каком размере убытка ее нужно менять на новую? То же самое касается ребалансировки портфеля — если все Альфы в нем протухли, то какая бы красивая не была матрица корреляций — толку от портфеля уже не будет...

Как-то так

Готов к диалогу при наличии интереса

С уважением
★5
56 комментариев
Прогон советника (робота) на истории в тестере стратегий с целью его оптимизации имеет единственной целью выбор таких параметров открытия ордеров, при которых вероятность (математическое ожидание) получения положительного результата (прибыли) — наиболее высока.
Самописные индикаторы — это сплошь и рядом всего лишь комбинации многочленов (иное название — полиномов), представляющие из себя ничто иное как комбинаций вычисления формул (иное название  — систем уравнений), на которых строятся «типовые индикаторы технического анализа».
avatar
Translator, нет, не так

Абсолютно любая детерминированная торговая система (та, которая принимает одинаковые решения о покупке или продаже при идентичном прошлом) представима в таком виде.

Стандартные индикаторы ТА и их комбинации — тоже. Но не только они)

С уважением
avatar
судя по камментам

сами же просили Секту Ручного Трейдинга не выпендриваться))

я и не выпендривался.

Проблема в том, что на малых таймфреймах

в том-то и дело…
Ну вот, только всё ухудшил. Лучше бы это дополнение к посту вообще не писал, т.к. теперь явно показываешь свое невежество в трейдинге.
Может ты и неплохой математик, но точно никакой трейдер!
avatar
RoboScalp, и тебе не хворать)

С уважением
avatar
Ты бошьше 200% в год делаешь со своими полиномами, матрицами корреляции и альфами?
avatar
Сeм, нет

Пока 160% примерно
Но я работаю над этим)

С уважением
avatar
Приращение цены и приращение эквити — это по сути одно и тоже.
avatar
robomakerr, не вполне

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

Для лимитной эквити это вообще неверно.

С уважением

P.S. Так что, tru трейдерам в самом деле удается торговать плюс только за счет управления рисками и капиталом? Без какой-нибудь хорошей стратегии, стабильно работающей в плюс?
avatar
Мальчик buybuy, ладно, лень спорить, у вас странноватое понимание какое-то.

p.s. нет конечно, без положительного МО — никак.
avatar
У меня есть лучше.
Я как нить покажу.
Но
2. Сейчас ситуация форс мажорная.
1. Такие вещи не рассказывают
avatar
1. Согласен
2. Абсолютно верно
3. Однозначно, никакой ММ не вытянет систему с отрицательным МО
4. Тут для меня не однозначно. Вероятно есть загадка в постановке задачи, а не в решении
5. Ессесно. Но не все системы и не все инструменты ведут себя стабильно. Важно выбрать набор стабильных систем и тикеров
avatar
2. Под индикатором я понимаю любую вычислимую функцию, на основании которой принимается решение о покупке или продаже, а вовсе не индикатор технического анализа.

Давным давно народ все эти функции закодил в робота. Только прежде чем шкодить, разобрались, как должна выглядеть формула, и по каким правилам ходит рынок.
P.S. — кто не умеет кодить, пользуется индикатором, что в принципе тоже самое. Дает ответ на вопрос, покупаем или продаем.
P.S.S. — все вышеперечисленное для умеющих думать мозгами. А не для гениев машинного кода!
avatar
Отрицаиельное матожидание торгуется элементарно… методом от наоборот...

Месяцев 5 тому делал трендового бота и внезапно увидел что бо стабильно сливает в конце дня… в результате ну ладно… буду делать наоборот и зарабатывать профит...

Другое дело когда матожидание нестабильно… либо диапазон стабильносии узок… и все опять упирается в альфу

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

Ксьати теханализ это нелинейный фильтр
avatar
ves2010, этот метод подходит только для исполнения по маркету

У лимитных систем в 99% случаев убыточна как сама система, так и противоположная к ней.
Такой вот удивительный феномен.

С уважением
avatar
Мальчик buybuy, почему лимитная система должна быть убыточна, загадка. Выбираем направление, и ставим лимитки на откатах. Почему убыточно то должно быть?
avatar
Алексей, потому, что это сложный математический факт

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

Поскольку сумма этих 2-х эквити достаточно сильно убыточна, то они могут быть убыточными одновременно, а задача выхода в плюс является весьма нетривиальной.

При несогласии — приведите пример системы, основанной на любом индикаторе ТА, которая хотя бы не сливает при работе лимитками.

С уважением

P.S. Все это, конечно, относится только к малым таймфреймам (1m, 5m), на старших  таймфреймах этот эффект незначителен.
avatar
Мальчик buybuy, звучит красиво, но непонятно. Сумма эквити системы, понятно. А вот что за противоположная к ней, не понятно)
Давайте на пальцах. Берем среднюю, при перегибе вверх, считаем что можно лонговать и двигаем лмимитку на Лонг, с отступом. На выход ставим лимитку но определенном расстоянии от входа. Ну и так далее.
Совсем не обязательно это делать до посинения)
avatar
Алексей, противоположная система — это та, которая продает, когда покупает первая, и наоборот

Но теорема верна, только если мы выставляем лимитный ордер по цене закрытия последнего бара

Если же мы выставляем ордер с отступом (маркап), то все будет повеселее — и уже появятся профитные системы. Зато формулы усложнятся до полного безобразия

Я сам торгую лимитки с маркапами и весьма успешно
Но сами системы очень и очень сложны

Вангую — система с маркапами, основанная на одной или двух скользящих средних, в плюс не выйдет никогда

С уважением
avatar
Мальчик buybuy, всё, я закипел)))
Зачем продавать, когда купил. Это что то из дельта нейтральных стратегий?
Не, я не понимаю зачем всё эти заморочки. Хотелось бы понять)
Я так понимаю, что надо купить дешево и продать чуть дороже, и так повторить несколько раз. Дальше смотрим когда рост, для этого индикатор ( Машка например), и всё. Конечно это не мой рабочий вариант, но как то так. Но причём здесь противополжный вход. Я понимаю если Машка вниз развернулась, но я так думаю, Вы о другом?
avatar
Алексей, take it easy, bro)

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

Для больших маркапов эту систему можно даже заставить работать в плюс. Но сделок при этом будет мало (50 в год примерно), а показатели системы — хреновые (Шарп около 1, т.е. максимальная просадка примерно равна годовой прибыли).

Фишка здесь в том, что эквити такой системы будет состоять из
1. Плюса от маркапов в точках сделок
2. Финреза лимитной системы, основанной на МАшке и работающей без маркапов (с нулевым смещением от последней цены)

Так вот п. 2 — это большой систематический убыток, поэтому хорошие и вкусные грибы растут совсем в другом лесу

Надеюсь, так понятнее

С уважением
avatar
Мальчик buybuy, да, спасибо, более понятно.
Если честно, то я не машкой определяю разворот, объёмом. Вход раньше.
Во вторых, нельзя определять рост/ падение впрямую, есть полутона… Рост/ откат/ рост например. Во втором случае второй рост сильнее.
Так что я не считаю, что окончание роста есть начало падения, скорее откат и поэтому реверс здесь не уместен)
avatar
Мальчик buybuy, лимитки с маркапами (отступами от текущей цены) предполагают что частенько будем получать неполное исполнение нашей заявки. Это тоже моделируется у вас? Видимо это и есть главная сложность?
avatar
wrmngr, нет

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

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

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

С уважением

P.S. Работающих в плюс лимитных стратегий (с нулевым маркапом) не существует в природе (к сожалению)
avatar
Мальчик buybuy, частичный филл в общем случае вполне моделируется, если кроме истории сделок имеется история динамики ордербуке а том или ином виде. Грубо оценить можно даже по тиковой истории вероятностно. Но это конечно нетривиально.
Интересно, что будет с бектестом если предположить что филлрейт совсем нулевой и оставить только корректирующую часть с исполнением по рынку с запаздыванием
avatar
wrmngr, нормально будет

max 100 сделок в год * двойной объем (переворот) * комиссия

в худшем случае доп. издержки 20% годовых (в реале меньше, конечно)

Так то я сильно больше зарабатываю

С уважением

P.S. Более того, при моделировании исполнения я всегда считаю полную маркетную комиссию — как если бы работа происходила по предложенной Вами схеме
avatar
Мальчик buybuy, хм, ну если так. тогда непонятно зачем прилагается столько усилий чтобы построить именно версию с лимитным исполнением? Может улучшать версию с исполнению «по-рынку»?
avatar
wrmngr, это я тоже делаю

Я вообще 6-й год исполняю глобальную программу исследования всех рынков, в т.ч. построение «правильного» ценообразования опционов, «правильные» CAPM и MPT. Работы очень много, так что движемся медленно.

Плюс маркетного исполнения заключается в том, что задача построения оптимального индикатора решается полностью (не вполне, но с точностью <3% годовых примерно). И вычисления попроще (хотя и нетривиальны).

Минус маркетного исполнения заключается в том, что средняя прибыль на сделку у оптимального индикатора болтается на уровне 0.5-1.0 спреда, так что получение прибыли принципиально невозможно. Это я про таймфрейм 1m, с его ростом прибыль (в процентах годовых, не на сделку) падает, но падают и издержки, так что на интервале 1+-h возникает окно возможностей, где можно вытянуть 10-30% годовых чистыми. Это законченное решение, но сейчас такие доходности меня не интересуют.

Все вышеизложенное относится к постоянному плечу (вернее, торговле плоским лотом).

Если мы используем продвинутую модель ММ, т.е. не шляпу в исполнении Ральфа Винса, а индикатор, знак которого определяет сторону сделки, а абсолютная величина — размер сделки, то все становится значительно приятнее и удается выйти в плюс.

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

Но это пока только в перспективе

С уважением
avatar
Мальчик buybuy, внушает! Однако я не пойму. Вот есть оптимальный ( в некотором роде) индикатор-предиктор с доходностью 10-30 годовых. Вам не кажется что это далеко от оптимальности из общих соображений если рассуждать? По крайней мере мне кажется это маловато для рынков с хорошей подвижностью/волой
avatar
wrmngr, так это на часовках

А вола здесь не при чем. Вола определяет оптимальное плечо. А доходность оптимального индикатора считается при условии задания максимального DD.

Так что это max 30% для DD max 20%. Вроде «Шарп» полтора, но лично мне вообще не интересно. Хотя открытые хедж-фонды в разы меньше показывают.

С уважением
avatar
Мальчик buybuy, неважно в целом на каком таймфрейме оценивать (в пределах разумного).
Как же вола не причем? Представляем себе актив, цена на который вообще не меняется. Константа. Тогда и нет никакой возможности что-либо заработать на нем. Другое дело когда актив ходит по 10 процентов в день, тут теоретически можно поднять много бабла. Разве нет?
avatar
wrmngr, ну нет, конечно. Мы о разном

На BTCUSD волатильность экстремально высокая, так что мои системы работают с плечом 1.5 примерно
На EURCHF (кроме 2015 года, хехехе) волатильность экстремально низкая, так что мои системы работают с плечом 40 примерно (12 по EURUSD)

Оптимальный алгоритм покажет некие характеристики — E (финрез) и DD (максимальная просадка, не дисперсия отрицательных приращений эквити).

После этого умножаете DD на некий коэффициент до достижения подходящего Вам значения (20% или 30% или 40%) и получаете максимальное допустимое плечо. На него умножаете доходность — получаете эффективную доходность индикатора.

Мне кажется, такой подход уравнивает все рынки. Или нет?

С уважением
avatar
Мальчик buybuy, ну естественно я говорил про доходность на фиксированную сумму/лот в работе. Плечо тут пока никак не участвует. Так вот: 30% в год с шарпом 1.5 на битке это мне кажется маловато для некоего «оптимального» индикатора.
А вот 30% без плеча в швейцарце это гуд, т. к. собственная вола инструмента низкая.
Уравнивать разные рынки можно по разному. Например можно посчитать теоретическую доходность «идеальной стратегии» (которая знает будущее) по зиг-загу. И относительно этой доходности оценивать оптимальность индикатора как долю «захваченных» разработанной стратегией движений.
avatar
wrmngr, так, дружище, мы опять о разном

1. Я писал про 10%-30% при маркетной стратегии с плоским лотом
2. По битку для лимитной стратегии с маркапами у меня получается 100-120% годовых на плоском лоте и 120%-160% при не очень сложном ММ (размер позиции пропорционален капиталу).

В случае 1. мои расчеты показывают, что простые стратегии не позволяют получить с битка больше 30% в субоптимальном варианте (больше 33% в оптимальном варианте). Ну и нет проблем — это означает, что просто не стоит торговать любые системы по маркету плоским лотом, а искать какие-то другие варианты торговли.

Так мы пришли к общему мнению или пониманию?

С уважением

P.S. Лучше не по зиг-загу, а просто с заглядыванием на 1 бар в будущее. Я так и определяю КПД. Жаль, что для лимитных стратегий Вы так недополучите разы до оптимума (будущие значения HLC значительно важнее, чем 1 будущий бар).
avatar
Мальчик buybuy, да, теперь понятно. Стратегия с маркапами в несколько раз лучше обычной «рыночной». Поэтому торгуем конечно ее. А теоретический предел индикаторной (используется только ценовая история этого инструмента) «рыночной» стратегии в диапазоне 10-30% годовых в зависимости от рынка и его волатильности. В общем и целом более вопросов и возражений нет
avatar
wrmngr, да, но только при торговле плоским лотом

Будущее ессно за торговлей с переменным плечом/позицией.

К сожалению, уже в маркетном случае эти расчеты сложны. А в лимитном практически непосильны для меня, т.к. там вся красота формул базируется (в-основном, так вышло) на том, что квадрат индикатора равен 1. Если же он может быть любым неотрицательным числом, то вычисления (пока) становятся устрашающе сложными...

Но я работаю над этим )))

С уважением
avatar
Мальчик buybuy, ну мои изыскания насчёт плеча привели в простым выводам, что нечего мудрить и надо торговать фикс. долю. По сути константный леверидж. Чтобы делать его переменным необходимо знать траекторию эквити в будущем, а это уже за пределами моего понимания
avatar
Мальчик buybuy, а как вы получаете больше 20%? Либо большая средняя сделка либо большая частота сделок?
avatar
Мальчик buybuy, у вас неточность в постановке задачи. Вначале постановки вы утверждаете за все лимитки, затем выясняется, что только для ТФ <=5 минут, а для высших ТФ это не касается. Это такой эзопов язык в постановке. Наверняка в вашей постановке еще куча ребусов, которые вы приготовили для любителей кроссвордов. Хорошая задумка, поддерживаю, но участвовать в этой теме не буду, ибо рынок и сам есть сложнейший кроссворд.

Без обид, бро)
avatar
Fat, я не сказал, что совсем не касается

Просто на большом таймфрейме эффект микроскопический, а на маленьком — гигантский

Ну и я не учу никого, а только дискутирую

С уважением
avatar
Мальчик buybuy, какой вывод для борьбы с сей заразой?
Переходить на большой ТФ. Тем более более, что AleхChi (недельный ТФ), Силаев (квартальный или месячный ТФ? в «Ленивце»), и др… успешно это демонстрируют.
Я сейчас оставил 5м для фьючей (там лимитки переставляю в лучший б/а, проскальзывание считаю) и 60м для акций (там лимитки кушают хорошо, даже во 2м эшелоне).
avatar
Fat, больше таймфрейм = меньше доходность

Ну и на минутках все выглядит очень красиво, чем выше таймфрейм — тем корявее все становится (IMHO)

С уважением
avatar
Мальчик buybuy, кстати, вы свои боты сами пишете, или нанимаете программера?
avatar
Fat, я сам пишу математику на Matlab и компилирую в dll

А ботов, терминал и коннекторы пишут программисты

С уважением
avatar
Мальчик buybuy, компилируете в dll? Это чтобы программисты грааль не украли?)
avatar
Fat, нет

Чтобы на c# не писать
В Matlab сложная математика выглядит просто и нативно
В С… очень топорно

С уважением
avatar
Мальчик buybuy, и таки для лимиток прогеры ботов делают?
avatar
Fat, так у меня только лимитки

С уважением
avatar
Мальчик buybuy, у мя средняя сделка достигает 5% при торговле раз в неделю и 2.5% при торговле ежедневно… но это пара ботов… в оновном средняя у меня на уровне 0.3..1%… кстати у вышеописанного бота наоборот средня сделка 1...2.5% в зависимости от актива

Вообще тема лимитников отдельная… мне как то пришлось бота писать чтоб выяснить как правильно ставить лимитку… Но на америке мне никак т к у мя все запаздывает на 2..3 сек
avatar
ves2010, странно...

У хорошего брокера д.б. 1 миллисекунда + латенси интернета
Правда, у хорошего брокера и открыться проблемно

С уважением
avatar
Мальчик buybuy, у мя сервак в мскве торгую на найс и нждак… мне не осбо критично… у меня типа окна длинной в час-2-3 все сделки окне в профит

В том же ib данные это слепки раз в секунду… кроме того если качать 100 бумаг и больше то датафид тормозит на пару секунд
avatar
ves2010, можешь подробнее описать? тема интересная. Используешь в реале преобразование Фурье в ботах? и какие задачи решил с его помощью?
avatar
avvin, фурье это линейный фильтр… а для нестационарных процессов оучше брать нелинейный… что я и делаю…
avatar

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

....все тэги



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