Стратегия с классификацией ордеров по времени жизни. Часть 1

bats

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

 

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

 

Таким образом, для высокочастотного алгоритма было бы естественно искать ордера с длительным временем жизни в биржевом стакане, надеясь получить лучшее исполение для собственной стратегии. Конечно, большинство ручных ордеров будут маркет ордерами, поэтому в стакане мы их не увидим. Наша задача - найти лимитные "ручные" ордера. Сначала рассмотрим график времени жизни всех лимитных ордеров отправляемых на биржу:

esma_nov2014_c3  Как видно, больше половины высокочастотных ордеров (HFT)  отменяются в течение 1 секунды после постановки. Другая картина для  инвестбанков (IB)  и остальных участников - половина их ордеров имеет время жизни более 10 секунд.

 

Далее построим график, который отражает поведение цены актива до и после исполнения ордеров с разным временем жизни (для биржи Nasdaq):

toa-orderageinet-13662На верхнем графике отражена цена актива до и после исполнения сделки с точки зрения пассивной стороны. Если ордер имел время жизни менее 100 мсек (красная штриховая линия) то после исполнения следующих 100 акций он терял около 0,2 центов на акцию (20 mils на графике), в то время как ордер, имеющий время жизни более 1 сек, терял уже около 0,5 центов на акцию. Нижний график отражает объем акций, проходящий на бирже, до и после сделки. В заглавии поста подобный же график приведен для биржи Bats, где этот эффект также присутствует.

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

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

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

На графике ниже показана прибыль стратегии, которая просто повторяет все сделки, происходящие на бирже, без учета времени жизни ордера:

toa-shrsfilled-edgexsignal-1000shrorder-13662Симуляция производилась для ордера объемом в 1000 акций, при копировании сделок на активах с разной ценой и имитировались разные объемы исполнения этого ордера. Зеленая линия - цена акций от 30 до 70 долларов, исполненный объем от 99 до 301 акции, синяя линия - цена акции от 30 до 70 долларов, исполненный объем от 301 до 1001 акции, красная штриховая линия - цена акции от 70 до 1500 долларов, исполненный объем от 99 до 301 акции, голубая штриховая линия - цена акции от 70 до 1500 долларов, исполненный объем от 301 до 1001 акции. Из графика можно сделать вывод, что наилучший результат после исполнения сделки показывают дорогие акции с присутствием лимитных ордеров большого объема.

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

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

В результате бэктеста такой стратегии получаем:

toa-edgex-5s_execution-1000shr-backtest13662Красная штриховая линия - прибыль стратегии при уровне исполнения ордера от 99 до 301 акции, голубая - при уровне от 301 до 1001 .

Автор находит подобный результат замечательным. Это простая стратегия, без параметров, без опасности подгонки на истории, и может быть спроектирована в высокочастотном исполнении. По подсчетам автора, если частота сделок составит около 7000 в день, при комиссии 0,5 цента за акцию, прибыль алгоритма может составлять до 10К долларов в день. Конечно, это результаты симуляции, и в реальной торговле результат может быть хуже, но тем не менее, есть солидное позитивное ожидание. Также можно отметить, что в стратегии не сформулирован алгоритм выхода из позиции, подразумевается выход по времени, которое можно определить по вышеприведенному графику.

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

 

Источник

 

  • алгоритм
  • HFT
X

Похожие публикации

Комментарии (6)

Чтобы оставить комментарий, вам необходимо войти или зарегистрироваться
UP