в Алготрейдинг

Системный трейдинг не защищает от человеческого фактора

Автор: Александр Кургузкин (mehanizator).

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

В связи с этим встает вопрос – есть ли вообще преимущество у системного трейдинга перед дискреционным? Или «оба хуже»?

Любой тайминг рынка на основе любых правил или полу-интуитивных соображений является просто преобразованием графиков рыночных цен в эквити трейдера/стратегии, в подавляющем большинстве случаев — линейным. График цены нарубается сигналами купить/продать и пересобирается заново с какими-то коэффициентами, получается эквити. Преимущество системного трейдера в том, что он может алгоритмически реализовать целую тонну таких преобразований и в итоге располагать вагоном эквити, которые он дальше будет таймить руками – отрабатывать включение/выключение стратегии — в точности так же, как дискреционный трейдер таймит руками исходный график цены. Даже если он очень хитрый и смог алгоритмизировать тайминг эквити отдельных стратегий, он в итоге получит портфельное эквити более высокого порядка (или даже вагон оных), которую, опять же, будет таймить руками.

В общем, суть такова, что рано или поздно, какими бы мы ни были мощными программерами, но мы все равно выбираемся на уровень принятия решений «руками». И вот там начинается человеческий фактор в полный рост. Думаете, решения по поводу включения/выключения систем по сути чем-то отличаются от входов/выходов для инструментов дискреционного трейдера? Думаете, они менее нагружены эмоциями и предвзятостями (bias) и не являются продуктом гонки за прошлой доходностью? Я в этом не уверен. Ключевым умением успешного системщика по-прежнему остается умение задницей чуять движения шестеренок в глубинах рыночной стихии и вовремя подкручивать какие-нибудь коэффициенты или пересобирать портфель систем нужным образом под текущий рыночный режим.

Вот такая вот алгоритмизация.

Автор: Александр Кургузкин (aka mehanizator)

Комментарии:

VNIK: Необходимо понимать все плюсы роботов и все их недостатки по сравнению с ручной торговлей. И уже, с учетом этого анализа, делать соответствующие выводы.
И главное преимущество робота — это возможность просчитать большое количество разных данных, в то время как Трейдер может правильно запомнить и оценить одновременно всего 5 параметров. Нсли же параметров будет больше, то Трейдер сразу проиграет по времени при принятии своего решения, а это очень важный фактор.
Но в целом робот — это та же ручная стратегия Трейдера, только быстрее, точнее и без эмоций.
И здесь даже не о чем спорить…

Kent: не всё так безнадежно

Tvitchenko: Я так понял, статья эта – эпатаж, приглашение оспорить. Тогда, покритикуем немного. 🙂

Во-первых, по терминологии. Понятия «дискреционные» стратегии (и трейдеры) перекочевало в рунет из англоязычных книжек, в том числе переведённых на русский. В первоисточниках, если корректно с учётом контекста, в переводе на русский означает не «бессистемный», а «полу-системный». Конечно, «полу-системный» звучит нелепо, подобно «полу-беременная», но дискретная торговля такая и есть. У дискретного трейдера часть правил принятия решений — механическая, а остальные правила он сочиняет на ходу и меняет от сделке к сделке. Он не в состоянии их обосновать, тестировать, а нередко даже просто внятно сформулировать. Примеров таких трейдеров — множество, например, почти все постоянные участники некогда созданного вами сайта www.russian-trader.com

Во-вторых, вы слишком упростили структуру и градацию инвестиционных стратегий, сведя всё к геймблингу — когда трейдинг это казино в телевизоре. Для большинства трейдеров оно так и есть, но это большинство мало влияет на ценообразование. Те, кто много влияет на ценообразование, те черпают информацию не из графиков OHLCV (хотя из них тоже) а в первую очередь из того что кличут макроэкономические и фундаментальные данные, к коим относят очень много рядов данных, в том числе ценовых на иные финансовые активы. Программерским языком – используют внешние данные. Тут уж вы должны лучше нас знать, чем руководствуются ваши коллеги – управляющие инвестфондами при принятии решений.

mehanizator: ну вот проснулся человек с утра, открыл график, посмотрел-посмотрел на него и говорит «а зайду-ка я в лонг». что здесь полу-системного?

mehanizator: за инвестфонды у меня душа не болит, мне за простого частного трейдера обидно. а те простые частные трейдеры, что я наблюдал (и я сам в том числе), в подавляющем большинстве случаев как раз и занимаются тем, что я написал — избыточное прочесывание данных, пере-оптимизация, писанные на коленке скрипты исполнения.

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

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

Intro: И вообще, система, работающая в любых условиях, даже с учетом подстройки под текущие уловия рынка — маловероятное явление. Даже просто по той причине что барашки, которыми она питается, со временем кончаются.

GreenBear: логично что — систематизатор обязан выбрать одну систему, с минимальным приседанием на истории. ну это имхо.

GreenBear: «Думаете, решения по поводу включения/выключения систем по сути чем-то отличаются от входов/выходов». в принципе проблема уже затертая «относительно», делается бэктест систем (если их каким то образом окажется больше 1) самой лучшей дается больше всего денег, тем кто похуже меньше и аутсейдерам ничего…

GreenBear: или вот еще — усредненный сигнал систем. тем что получше дается больший балл тем что похуже меньший.

Tvitchenko: По моим скромным наблюдениям, в западной терминологии достаточно распространена классификация на три типа трейдеров — «системные», «дискреционные», «интуитивные». Но широко употребляется, и классификация на два типа. Противопоставление «механической» торговли в пику так называемой «аналитической» — это подход популярный у анти-механистов вроде Джо ДиНаполи. Адепты механических торговых стратегий могут обходится этим дуализмом (например, то же Швагер), но нередко делят своих оппонентов на две группы — на «дискреционных» и «интуитивных». Разница — в степени бессистемности.

В тройной классификации «дискреционные» — это те, у которых механика смешана с приступами «аналитических озарений». Например, торгует чел вполне себе механическую систему QQQCrash, боится попасть в панический обвал а-ля 2008г., но не знает, как решить эту проблему. Поэтому перед каждой сделкой сочиняет новое дополнительное правило, например, чтобы график был похож на «чашку с ручкой». А на следующей сделке «чашку с ручкой» уже не хочет, подавай ему «голова плечи». Система есть, но системный эффект сознательно нивелируется. Такой вот «полу-системный» трейдинг.

В тройной классификации «интуитивные» — это те, у кого одни сплошные «озарения». В рунет-локализации — «разоблачения» очередного «замысла Кукла», перед каждой сделкой новая версия индикатора «сантимента Атамана» и т.п. «аналитика». В некотором смысле будет правильным сказать, что интуитивщики – это люди застрявшие в модели поведения трейдера-неофита, в практически полной бессистемности.

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

mehanizator: Tvitchenko, исчерпывающе 🙂

Kent: «GreenBear: «Думаете, решения по поводу включения/выключения систем по сути чем-то отличаются от входов/выходов». в принципе проблема уже затертая «относительно», делается бэктест систем (если их каким то образом окажется больше 1) самой лучшей дается больше всего денег, тем кто похуже меньше и аутсейдерам ничего…»

«GreenBear: или вот еще — усредненный сигнал систем. тем что получше дается больший балл тем что похуже меньший.»

такие методы плохие и даже бессмысленные

Intro: Опишите хорошие методы сбора корзины систем =)

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

Tvitchenko: Когда систему снимать с торгов? — Здесь надо определится, как вы относитесь к трейдингу. Как к инвестированию или вы пришли «наказать казино». Если как к инвестированию, то есть ориентиры — базисные показатели доходности финансовой отрасли. Их надо знать, чтобы не витать в облаках.
Один из них это всем известная так называемая «безрисковая» доходность. Под ней подразумевается доходность государственных облигаций. Пишу «безрисковая» в кавычках потому что государства имеют права объявлять дефот, тем самым отправив «безрисковые» облигации к вашим «глубинно-рыночно-умело-чуящим органам»(с)mehanizator.
Для долевых бумаг т.е. акций бесспорный ориентир — это пассивное инвестирование «купи и держи». По определению подразумевается, что экономика должна расти, а значит стоимость долей/акций должна возрастать, что в основном и происходит на практике. Широкие индексы рынка служат сравнительными эталонами, как доходности, так и убытков (просадок).
Если у системы просадка больше, чем у «купи и держи», если убыток больше чем у индексов лучших акций — S&P100, Nasdaq100 и т.п., то очевидно, что ставить на неё – дело сомнительное. Если же просадка менее убыточная, то решение использовать систему или нет – сугубо личное, и зависит только от требований которые вы предъявляете сами к себе. Т.е. насколько вы круты в собственных глазах.:)

Tvitchenko: Чисто праздный интерес – что такое «скрипы исполнения»? Наверное, это когда программа для беэктестинга отдельно (например, Эксель), пользовательская платформа брокера отдельно (например, ROX) а чтобы связать их и запустить «автотоговлю» создается третья программа (отдельно-устанавливаемая или в качестве аддона к одной из этих двух программ) Скрипты исполнения это тоже самое что называют «модули автоторговли»?

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

GreenBear: Kent. Позвольте с вами не согласиться сударь! ансамбль слабеньких систем генерирует больше положительных сигналов чем каждая система в частности. Главное чтобы системки не были коррелированы.

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

Kent: «Если у системы просадка больше, чем у «купи и держи», если убыток больше чем у индексов лучших акций — S&P100, Nasdaq100 и т.п., то очевидно, что ставить на неё – дело сомнительное. » Tvitchenko

тоже не согласен
если рекавери приемлемый то вполне надо играть
пример, пусть с вероятность 10% в год система разоряется, с вероятностью 90% выдает скажем 100% годовых, и что не играть такую систему?

у каждого свои конечно предпочтения, но смотреть только на максдродаун неправильно

Kent: «GreenBear: Kent. Позвольте с вами не согласиться сударь! »

да не вопрос ) так интереснее дискутировать!

EdgeStone: Какая классная дискуссия, хорошо что есть этот сайт ))
Разрешите свои 5 коп. )

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

Гипотеза такова:
Рынок — явление социальное, отражающее сложное взаимодействия множества людей и люских же логик поведения (пусть даже в и в виде роботов).

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

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

Как можно смоделировать рынок? И какие у него могут быть инварианты?

Ну квантовую динамику оставим тому парню, забыл его ник.

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

Типа: » Если ФРС повышает ставки — рынки за следующие полгода падают»
«Если цены на металлы и удобрения падают — австралийский доллар падает к USD»
или «Если в США 2 недели морозов ниже 15 градусов — цена на WTI в следующую неделю растёт »
Или у Питера Линча
«Если ген. дир компании появился на обложке Форбс — акции компании в следующем году упадут»
«Если вы и ваши соседи перестали ходить в Перекрёсток и стали ходить в Магнит, то акции Магнита вырастут а X5 упадут»

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

Можно эти модели делать нелинейными, типа
«если случилось А, и при этом В больше С, а на календаре сентябрь, то D.»

Второй подход — это обрушить на рынок всю мощь количественных методов.

Нарезать любые числовые данные на дискретные значения и составить из них ряд.

При позиционном трейдинге, мы анализируем приращения цены.

В стат. арбитраже — ряд приращений отношений цен 2-х или корзины активов.

В опционах — составляющие цены извлекаемые из нее по некой модели (Блэка-Шоулза например).

В любом случае в итоге имеем временной ряд.

И тут по-хорошему надо проверить его на стационарность, в широком смысле на инвариантность неких его свойств.

И тут тесты Дики-Фулера, автокорреляции, RS-анализ и т.д., дадут ответ, был ли ряд стационарен в неких свойства В ПРОШЛОМ.

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

и это самый тонкий момент, на мой взгляд.

А потом мы строим систему или несколько, которая эксплуатирует это стационарное свойство временного ценового ряда.

Типа, постоянную дисперсию у ряда приращений отношений Золото/Серебро например

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

Вот такой логический ряд

dobrachev: Я согласен с EdgeStone.
Конечно, нам никто не гарантирует, что найденные закономерности на истории и дальше работать и приносить нам прибыль. Но такая вероятность есть. Если же наша система вдруг перестаёт работать, то начинается лотерея, где стоимость билета — это комиссионные расходы.
Если комиссии не большие, а мани и риск менеджмент разумные, то в этой лотерее тоже нет ничего страшного. В конце концов мы в состоянии отличить систему с шарпом 2 от системы с шарпом 0, ну и прекратить играть в лотерею.
Если мы ждали шарп 2, а получили шарп 0 (или ещё хуже), то это не только повод снять систему, но и задуматься — а нет ли у нас ошибки (хотя может нам просто не повезло и вот как раз сейчас свойства рынка поменялись)

Kent: «т.е. должна с вероятностью более 50% предсказывать события на рынке» EdgeStone

поправка, 50% не обязательно, обязательно МО > 0 с учетом накладных
МО=профит*(частота профита) — убыток*(частота убытка)

EdgeStone: У нашей небольшой команды сформировалась неккя идеалогия торговли,
теоретическое обоснование которой дано в Антихрупкости Талеба.
Но практически реализовать эту идею без алго очень сложно.
Но как мне кажется, такой подход устраняет недостатки описанные Александром, но противоречит мнению Kent, что нет смысла торговать ансабль систем.
Поэтому интересно услышать ваши мнения и критику.

Речь идёт о стратегиях с положительной ассиметрией.
Моментум стратегии, стратегии ставящие на продолжение движения, эксплуатирующие инерционность, персистентность ценового ряда более антихрупки по Талебу, ососбенно на кортких тайм-фреймах.
У Александра была классная статья на эту тему.
Еще такой тезис, как мне кажется справедлив:
Какое свойство цены ликвидного актива инвариантно всегда?
Изменения, движения т.е. — цена всегда будет изменяться.
Движения могут быть разные в разные периоды, у них может меняться дисперсия,условная «длина волны» движений, и т.д.
Важно понимать, что возврат к среднему на неделях и днях, это возможно хорошие тренды на часах и 15 минутках, и могут быть тренды на месяцах, и возврат к среднему на часах, а тренды на 15 минутках.

Идея такая на одном ликвидном инструменте (фьючерсы ES, YM, Si, Apple и т.д.) тестируем, кросс-валидируем несколько импульсных, и/или тренд следящих систем с разной логикой входов/выходов, на разных тайм-фреймах, с разными настройками даже у систем с похожей логикой.
В итоге получаем портфель систем имеющих на истории близкие показатели Сортино, Шарпа, Рекавери фактор, и отношением доходности к площади всех просадок (типа Lake-Ratio), но при этом, системы вошедшие в портфель максимально отличаются по логике, тайм-фреймам, настройкам похожих по логике систем, т.е. максимально некоррелированные системы, заточенные на разный рынок, но при этом выдерживающие на каждом интервале кросс-валидации минимальные требования по параметрам эквити.
Веса систем можем построить по макс-дродауну, или по волатильности их эквити, или просто найти решение в exel, возможно есть другие варианты.

Тогда, когда будут однозначные, длинные движения, они сначала случатся на маленьких тайм-фреймах, потом на средних и т.д.
Вот такие движения мы заберём большинством систем.
Пример: рост доллара с лета 14 года, а потом падение с февраля 15го до лета.
Т.е. длинные плавные тренды мы заберём,
Резкие импулься цены на днях и часах, мы тоже должны отработать быстрыми системами на коротких тайм-фреймах.

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

И второй важный момент, в случайном блуждании, в некой рваной динамике рынка, в каком-тл рыночном «болоте» у такого портфеля будут убытки,
но в силу разности логик трговых, в силу разных настроек систем,работающих на разных тайм-фреймах, наши ситемы на таких рынках часто будут стоять в противоложных направлениях, какие-то в шорт, какие-то в лонг, в целом это будет приводить в общему снижению нетто-позиции на таких рынках.
Т.е. на неудобном нам рынке, за счёт ансамбля систем, мы большую часть времени будем иметь околонулевую позицию, а когда начнётся истинное движение, которое получит продолжение на всех тайм-фреймах, объём наших позиций будет большим.
Таким образом реализуется та самая положительная ассиметрия.
Где мы ставим мат.ожидание на нашу сторону.

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

GreenBear: EdgeStone, Kent эксплуатирует рыночную неэффективность, а не строит прогнозы. В целом чтобы уловить движения доллара и рынка в конце прошлого года достаточно было иметь портфель из не коррелированных инструментов, а не плодить тысячи систем 🙂 .
Ансамбль (комитет) систем на мой взгляд не может включать разные mr и mom на разных tf потому как у них очень высока корреляция. достаточно одного tf с разными периодами mom и mr.

dobrachev: EdgeStone, мне тоже нравятся моментум стратегии. Во-первых, именно такие стратегии дают более высокий коэф.Шарпа (по крайней мере из того что я видел)по сравнению со стратегиями с возвратом к среднему. Кроме того моментум стратегии обычно меньше находятся в рынке, а значит уменьшается рыночные риски (типа флеш-крэшей) и появляется больше свободный средств для торговли по другим стратегиям. Минус таких стратегий в том, что нужна хорошая ликвидность, чтобы быстро открывать позицию. Поэтому чем больше денег, тем сложнее им следовать.
Лично я за деверсивикацию, особенно когда это сильно улучшает гладкость эквити.
Единственное где я вижу риск, это если 10 Ваших стратегий на одном инструменте откроют позу с предельным плечом, а в этом момент рынок как раз сильно скакнёт в противоположную сторону.
Мне кажется, что нужно тут определять максимальный размер позиции вообще( а не для отдельно взятой стратегии), чтобы быть более уверенным что все риски под контролем.

EdgeStone: dobrachev
Да, со всем согласен, размер позиции определяется по итоговой эквити, по Кэлли, или например просто из max drowdown,
и да при этом важно следить за максимальным плечом в случае если все системы стоят в одну сторону, оно не должно быть большим, думаю не больше 3 в любом случае.

EdgeStone: GreenBear
По доллару в прошлом году просто как самый яркий пример выраженных трендов,
если говорить конкретно про доллар, то такой подход работал и предыдущие года и работает в 2015.

И я имел ввиду только стратегии mom, и трендследящие, которые эксплуатируют инерционность, персистентность ценового ряда,

Для таких систем можно отбирать активы по Хёрсту например,
Доллар? Apple пример таких активов.

Ну и еще была не очевидная мысль, в которой я не уверен, что любой mean reversion это импульс на меньшем тайм-фрейме внутри канала.

eugeny888: Алготрейдинг безусловно не устраняет человеческий фактор, но существенно его уменьшает.