Разработка торговых роботов: поиск рыночных неэффективностей » Элитный трейдер
Элитный трейдер


Разработка торговых роботов: поиск рыночных неэффективностей

4 сентября 2015

Большинство трейдеров считает, что лучшие сделки должны совершаться при участии людей, выступающих в роли контрагентов, не при помощи компьютеров. Под компьютерами я имею в виду компьютерное исполнение ордера: не только алгоритмы высокочастотной торговли (HFT), но и некоторые другие виды алгоритмов исполнения ордеров. Высокочастотные трейдеры выходят на рынок, только когда уверены, что ордер принесет прибыль, их алгоритмы исполнения в основном работают в случае движения большого объема акций, поэтому даже если алгоритм недостаточно эффективен, он все равно может составить [человеку] опасную конкуренцию. Люди же, в свою очередь, действуют недостаточно точно при установлении цены (установление мгновенной цены с точностью до нескольких знаков после запятой – не самая лучшая трата времени для трейдера), еще более неточно – при назначении времени исполнения своих ордеров и их отмене (человеку присущи медлительность и невнимательность).

Поэтому логично, что трейдеры, использующие алгоритмы для поиска небольших долгосрочных ордеров, сначала задумываются о том, как максимизировать вероятность проведения торгов с людьми. Вероятно, большинство ордеров, размещенных самими трейдерами, пользуется широким спросом и в первую очередь обрабатывается оптовиками и темными пулами. Затем, если никто на этих рынках не считает их условия выгодными, они отправляются на крупные биржи. На них из-за высокой конкуренции в очередях «выжидающих» [англ. resting] ордеров типа FIFO [англ. First In, First Out] невероятно сложно выборочно работать с небольшими сформированными вручную ордерами: для того чтобы отобрать как можно больше выгодных входящих ордеров, трейдеру необходимо перехватить их раньше, чем это сделают все роботы. Учитывая, сколько быстрых и «умных» программ работает на рынке, состязаться с лучшими из них очень непросто.

Зная, что сформированные вручную ордера крайне востребованы на рынке, мы уделим внимание «выжидающим» ордерам, сформированным вручную. Если попытаться дать определение этому виду ордеров, можно отталкиваться от того, чем они не являются – от HFT-ордеров. Известно, что HFT-ордера обладают достаточно высоким уровнем отказов, то есть большое количество ордеров, размещенных роботом на рынке, аннулируется до того, как их исполнят. На графике ниже, взятом из недавнего отчета Европейского управления по надзору за рынком ценных бумаг (ESMA), представлена статистика срока действия заявок от HFT-алгоритмов, инвестиционных банков и всех остальных трейдеров. Заметьте, что в течение 1 секунды после размещения было аннулировано больше половины ордеров HFT-алгоритмов и лишь около четверти всех остальных ордеров. Этот график получен на основе данных по Европе, но общая тенденция должна соблюдаться на каждом из рынков с высокой долей HFT-трейдинга.

Разработка торговых роботов: поиск рыночных неэффективностей


Распределение длительности «жизненного цикла» ордеров в зависимости от типов трейдеров. Вертикальная ось – время в секундах, горизонтальная ось – процент отклоненных или измененных ордеров.[Ссылка на отчет]

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

Разработка торговых роботов: поиск рыночных неэффективностей


Верхний график: Зависимость средней прибыли или убытка в расчете на одну акцию от времени до/после сделки с точки зрения пассивной стороны. Например, спустя 30 секунд после сделки средний ордер Nasdaq длительностью менее 100 мс потерял около 0,2 цента (20 миллов) по сравнению со стоимостью 100 последних проданных акций. Средний ордер Nasdaq длительностью более 1 секунды потерял около 0,5 цента по сравнению с тем же показателем. Комиссия и рибейты не учтены. Нижний график: Зависимость объема акций, торгуемых на Nasdaq, от времени до/после сделки (учитывая доверительную торговлю). Замечание: все линии находятся в рамках области шириной в 1 стандартное отклонение друг от друга (вычислено приблизительно), поэтому их сложно разглядеть. 1 «мил» = 0,01 цента за акцию.

Разработка торговых роботов: поиск рыночных неэффективностей


Похожий график для биржи Bats BZX, нижний график также показывает объем акций Nasdaq

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

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

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

Несмотря на то, что такая стратегия приводит к лучшим результатам, нежели копирование действий других трейдеров, не стоит ожидать, что она окажется прибыльной. Чтобы получать прибыль, нам необходимо знать еще кое-что о структуре рынка ценных бумаг США. Вероятно, самым важным здесь является то, что потеря стоимости после исполнения «выжидающих» ордеров на платформе EdgeX биржи DirectEdge, как правило, больше, чем на других биржах. Не знаю, в чем причина, но на каждой бирже набор трейдеров и поток ордеров различны.

Разработка торговых роботов: поиск рыночных неэффективностей


Цена активов до/после исполнения ордеров на различных биржевых площадках. В целом этот график похож на графики выше. Обратите внимание, что рибейты не учитываются, поэтому видимое улучшение картины на таких биржах, как Nasdaq Bx (Bsx), Bats BYX (BatsY) и DirectEdge EdgeA (EdgeA), по большей части вытекает из разницы в компенсационных выплатах

Еще один немаловажный факт заключается в том, что потеря стоимости после исполнения ордера характерна для «дорогих» акций (речь идет об акциях с высокой стоимостью, а не об их оценке) в сравнении с «дешевыми» акциями. Это явление само по себе интересно и может являться признаком снижения активности рынка дорогих акций из-за: сниженной ликвидности, относительной незначимости величины тика и рибейта в сравнении с волатильностью, завышенных сборов Комиссии по ценным бумагам и биржам (взимаемых с каждого обращающегося доллара) с одной акции или обычая размещать ордера на количество акций, кратное 100 (что делает «минимальный» объем ордера контрагента в 100 акций слишком большим для извлечения из него выгоды маркет-мейкерами).

По той же причине стратегии торговли против существующей ликвидности в случае с дорогими акциями оказываются более выигрышными. Еще более необычным свойством платформы EdgeX является то, что чем более крупные «выжидающие» ордера на ней размещаются, тем выгоднее оказывается торговать. В большинстве случаев частичное исполнение крупного ордера (такое, что при этом значительная доля ордера остается неисполненной) означает, что текущий обладатель ордера в данный момент находится в более выигрышной позиции чем те, кто с ним торговал. Основание для такого поведения вполне очевидно; можно предположить, что если бы более «мелкий» трейдер из нашего примера был уверен в направлении движения цены, то выкупил бы все имеющиеся акции.

Если в такой ситуации все ведущие трейдеры исходят из этих предположений [и не работают с частично исполненными ордерами], получается, что теми, кто «откусывает» лишь часть крупных ордеров, являются либо шумовые трейдеры, либо те, кто в силу обстоятельств не может продолжать торговать. По какой-то причине в случае с EdgeX дело обстоит иначе. К примеру, если я смоделирую «стратегию», которая повторяет все агрессивные сделки (в отношении торговли «выжидающими» лимитными ордерами), в действительности, она сработает лучше, когда на EdgeX будет доступно больше акций на выбранном ценовом уровне.

Разработка торговых роботов: поиск рыночных неэффективностей


Симуляция поведения ордеров объемом 1000 акций в зависимости от диапазона цен на акцию и исполненного объема ордера. Поведение ордеров с большим объемом исполнения крайне необычно

Чтобы понять, почему это так необычно, представьте, что вы приходите в магазин электроники Best Buy и видите, как какой-то умник скупает почти все имеющиеся в наличии ноутбуки марки Dell. Затем представьте, что обычный человек заходит и покупает один Mac, оставляя еще 50 на прилавке. Вы, наверное, думаете, что тот, кто скупил ноутбуки Dell, хорошо подготовился и в итоге выиграл в цене больше, чем тот, кто приобрел Mac. Но оказывается, что, если Best Buy продает свои товары на EdgeX, то обладатель ноутбука Mac поступил умнее.

Возможно, тот, кто скупил ноутбуки Dell, воспользовался корпоративным счетом своей компании, и ему все равно, сколько они стоили, но дело обстоит иначе в мире профессиональных трейдеров, которые, согласно общему мнению, тщательно следят за эффективностью своей работы. Кроме того, мы можем поразмыслить на тему того, каково наше особое преимущество, и правильно ли мы им пользуемся, когда смотрим только на время жизни ордера. В нашей стратегии логичнее было бы следить за всеми ордерами на всех биржевых площадках и торговать только тогда, когда ордер становится относительно «старым». При таком подходе мы выигрываем еще 0,1-0,15 цента за акцию. Конечно, существует метод оптимизации стратегии по возрасту ордеров исходя из особенностей каждой конкретной биржи, но мы просто выставим стандартный порог в 5 секунд в отношении каждого «выжидающего» ордера на каждой из биржевых площадок. В итоге, наша стратегия будет выглядеть следующим образом:

Находим на EdgeX ордера объемом в 100 акций и сроком жизни более 5 секунд.
Если ордер, отвечающий нашим условиям, начинает исполняться, играем на изъятие ликвидности.
Объем нашего ордера должен быть выше (например, 1000 акций), чтобы мы могли получить как можно большую долю из оставшихся на EdgeX акций (с другой стороны можно посылать на биржу ордера любого размера, но только если на момент отправки доступны как минимум 300 акций).
Применяем этот подход к акциям стоимостью более $70 за штуку и для получения большего объема выставляем нашу цену на 1 цент больше цены сделки.

Как все это выглядит?

Разработка торговых роботов: поиск рыночных неэффективностей


Симуляция торгов по стратегии, приведенной выше. Данные моделирования не содержат информации о некоторых важных биржевых площадках, так как наша стратегия не учитывает возраст их ордеров. Стоит отметить, что (как и на всех предыдущих графиках) этот график учитывает прибыль и убытки на рынке в зависимости от объема исполненных ордеров. Моделирование охватывает более 2,5 недель августа 2014 года – ничем не примечательное время для данной стратегии. Для наглядности ордера разделены по исполненному объему. Заметьте, что на бирже Nasdaq (самой крупной и быстрой) не наблюдается сильных скачков после смоделированной нами сделки. После нее спустя 1 мс торговалось в среднем 10-20 акций – приблизительно тот же объем, что и на графике выше. Скачок в объеме указывал бы на одновременную алгоритмическую торговлю – это означало бы, что алгоритмические трейдеры используют схожую стратегию

Мне кажется, результат довольно неожиданный. Всю информацию, используемую в стратегии, без труда можно найти среди данных по рынку и в принципе в ней нет ничего особенного. Для высокочастотного трейдинга легче стратегии не найти; в ней практически не производится оптимизации, она не использует статистические модели – задействованы лишь некоторые особенности рыночных данных. Эта стратегия, можно сказать, противоречит расхожему мнению о том, что успешные стратегии невероятно сложны и формируются годами. Естественно, она не приносит достаточно крупного дохода (по меркам высокочастотной торговли), и в ней нет методики выхода из позиции по времени, но нетрудно представить, что чуть более кропотливая работа в этом направлении может принести гораздо больше прибыли.

На данный момент она приносит по 1 центу за акцию без учета комиссии, при количестве сделок порядка 7000 в день и среднем объеме ордера в 350 акций. После выплаты комиссии в размере около 0,5 цента за акцию (0,3 цента – бирже, около 0,2 цента – Комиссии по ценным бумагам и биржам, клиринговые сборы обычно составляют не более нескольких сотых доли цента), в итоге имеем прибыль около 10 тысяч за день. Я не испытывал эту стратегию в деле; это лишь модель, а в реальности результаты иногда отличаются. Но, по большому счету, при моделировании агрессивной торговли возникает меньше расхождений с реальностью в сравнении с моделированием работы маркет-мейкера.

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

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

Разработка торговых роботов: поиск рыночных неэффективностей


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

Если говорить о стереотипах об HFT-трейдинге, то первое, что приходит на ум (после частых отказов) – это небольшая средняя величина сделки [1]. Считается, что трейдеры любого типа, использующие в своей работе алгоритмы, размещают небольшие «выжидающие» ордера. HFT маркет-мейкеры поступают так, потому что хотят выборочно торговать с некрупными агрессивными игроками во избежание потери ликвидности на всем ценовом уровне. Алгоритмы, повышающие ликвидность, размещают малые ордера, так как им нужно скрыть свое намерение торговать более крупными объемами, чтобы максимально долго удерживать цену на нужном уровне.

Естественно, при агрессивной торговле все может быть несколько иначе – алгоритмы, которые стремятся «скрыть свои намерения», подвергаются риску со стороны других роботов: те могут воспользоваться оставшейся в выбранном ценовом диапазоне ликвидностью. Для агрессивных HFT-алгоритмов это стремление не выдать себя не имеет никакого значения, поэтому предполагается, что они устраняют всю ликвидность, которая может принести прибыль. Однако в предыдущем материале мы отмечали, что для агрессивных трейдеров с биржи EdgeX такое поведение, как ни странно, нехарактерно.

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

Разработка торговых роботов: поиск рыночных неэффективностей


Верхний график: Зависимость результатов торгов от рыночной стоимости на бирже Nasdaq с учетом «возраста» ордера и наличия ордеров размером не более 201 акции при данной цене. Под размером ордера понимается первоначальный размер в момент появления ордера в сводках данных по рынку, исключая любые изменения его размера вследствие исполнения, обработки или обновления системы. Ордера, размещенные с целью проведения доверительной торговли, включены в выборку. Комиссия и компенсационные выплаты не учитываются; в выборке отсутствуют данные по некоторым биржам. Нижний график: объем акций на Nasdaq с учетом доверительной торговли.

Разработка торговых роботов: поиск рыночных неэффективностей


Те же графики для EdgeX. Нижний график также показывает объем акций на Nasdaq

Заметно сильное влияние присутствия малых ордеров на долгосрочные результаты сделки. В случае, если на бирже Nasdaq не имеется малых ордеров и обрабатываемый ордер был размещен недавно (менее 1 секунды назад), пассивная сторона в торгах оказывает на их исход негативное влияние. Стоит заметить, что самоокупаемость на Nasdaq при пассивной торговле, в принципе, может принести немалый доход из-за размера компенсационных выплат примерно в 0,30 цента.

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

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

Ситуация полностью изменится, если мы взглянем на ордера, размещенные на Nasdaq более секунды назад, что соответствует первоначальной гипотезе. Отсутствие малых ордеров на Nasdaq соответствует достаточно низкой ликвидности, при этом после торгов мы теряем почти целый цент. То же происходит и с ордерами, размещенными как давно, так и недавно на EdgeX: «возраст» ордеров и их размер только усиливают эффект. Ситуация повторяется на всех рассмотренных мною биржах. Не могу сказать, почему Nasdaq выделяется в условиях присутствия в торгах недавно размещенных ордеров, но отмечу, что это самая быстрая инвестиционная биржа с интенсивным потоком сообщений, а биржи могут вести себя достаточно своеобразно при отсутствии доступа к системе лучшей котировки (NBBO).

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

Теперь мы можем отобрать «выжидающие» ордера с низким уровнем риска, используя данный метод; мы может смоделировать стратегию подобно тому, как мы это делали в предыдущем посте. А именно:

Следим за всеми ордерами на всех доступных биржах, размер которых не превышал 201 акцию в момент их размещения.
Если ордер, размещенный более 5 секунд назад, начал исполняться, при этом на рынке нет малых ордеров или недавно (менее 100 мс назад) размещенных ордеров, тогда
Отправляем ордера на другие биржи по той же цене. В предыдущем примере мы торговали в один тик агрессивнее, но здесь мы не можем смоделировать ту же ситуацию, потому что эта стратегия не ограничена дорогостоящими акциями.

Учтите, что стратегия не проверена. Если в качестве сигнальных данных использовать данные Nasdaq, получим следующий результат:

Разработка торговых роботов: поиск рыночных неэффективностей


Верхний график: Зависимость результатов смоделированных торгов от рыночной цены на разных биржах. Моделирование велось в течение недели в августе 2014 года. Размер каждого смоделированного ордера составляет 100 акций. Нижний график: Объем акций Nasdaq без учета смоделированных торгов.

Объем небольшой, но, тем не менее, даже при вычете комиссии получаем приличную чистую прибыль, особенно на EdgeX. EdgeX же, как мы уже убедились, может принять и более крупные ордера. Если отправлять ордера объемом в 1000 акций на EdgeX, то эта стратегия будет приносить около 5 тысяч долларов в день только на этом направлении. Это лишь пример, но отмечу, что биржевая пара Nasdaq->EdgeX – не единственная из тех, что подходят для этой стратегии, особенно если у нас есть ограничение на торговлю дешевыми акциями. Кроме того, если мы собираемся торговать дорогими акциями на 1 цент агрессивнее [рынка], объем может быть намного больше.

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

[1] Во введении к обзору литературы, составленному Комиссией по ценным бумагам и биржам, сказано:
Основными характеристиками высокочастотного трейдинга являются высокая скорость передачи сообщений, резкий рост количества отказов и изменений ордеров, высокий показатель объема совершенных сделок, малые размеры сделок и увеличение скорости торговли. Данные характеристики обычно связывают с более общим явлением алгоритмической и автоматизированной торговли в той или иной форме.

(C) Источник
Не является индивидуальной инвестиционной рекомендацией
При копировании ссылка обязательна Нашли ошибку: выделить и нажать Ctrl+Enter