Pull to refresh
0
ITI Capital
Лучший онлайн-брокер для работы на бирже

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

Reading time 9 min
Views 16K
Original author: Kipp Rogers
Примечание переводчика: Ранее в нашем блоге на Хабре мы рассматривали различные этапы разработки торговых систем (есть и онлайн-курсы по теме), и даже описывали разработку событийно-ориентированного бэктест-модуля на Python. Сегодня речь пойдет о том, как HFT-трейдеры в процессе разработки моделируют поведение людей, которые будут противостоять их торговым роботам на бирже.



Большинство трейдеров считает, что лучшие сделки должны совершаться при участии людей, выступающих в роли контрагентов, не при помощи компьютеров. Под компьютерами я имею в виду компьютерное исполнение ордера: не только алгоритмы высокочастотной торговли (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 секунд в отношении каждого «выжидающего» ордера на каждой из биржевых площадок. В итоге, наша стратегия будет выглядеть следующим образом:

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

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



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

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

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

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

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

Продолжение следует...
Tags:
Hubs:
+15
Comments 2
Comments Comments 2

Articles

Information

Website
iticapital.ru
Registered
Employees
51–100 employees
Location
Россия