АЛГОРИТМЫ СВЕДЕНИЯ ОРДЕРОВ CME.
ЧАСТЬ 1

Приветствуем всех читателей нашего блога! В этой статье мы разберем очень интересную тему. Наверное многие из вас задавались вопросом, как происходит сведение ордеров в электронном сердце CME – торговой системе Globex.  Сегодня мы заглянем в “святая святых” этого электронного монстра.

В этой статье:

  • Основные понятия и принципы сведения ордеров
  • Алгоритм FIFO (“Первым пришел, первым вышел”)
  • Алгоритм Pro Rata

Основные понятия и принципы сведения ордеров

Порядок сведения приказов на покупку и продажу в контексте электронной торговой среды значительно отличается от параллельного процесса биржевой торговли путем прямого контакта продавца и покупателя (Open Outcry). Процедура сведения ордеров может происходить с использованием множества различных методологий или алгоритмов.

Фактически в арсенале CME Group имеется несколько алгоритмов для торговой платформы CME Globex, адаптированных под конкретные требования различных рынков. Здесь важно отметить, что алгоритмы сведения ордеров постоянно развиваются, и нужно постоянно “держать руку на пульсе”, отслеживая нововведения биржи. Обязательно читайте правила и положения, предлагаемые биржей, для полного понимания текущего механизма сведения ордеров.

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

Для лучшего понимания биржевых технологий, обсуждаемых в сегодняшнем материале, советуем предварительно прочесть статью “Механика рынка: что нужно знать новичку о сведении ордеров”.

Алгоритм сведения ордеров (матчинга ордеров)  – это технология распределения, используемая для сведения агрессивного ордера с одним или множеством пассивных ордеров.

Сведение ордеров происходит в три этапа:

  1. Определение текущих цен пассивной стороны, противоположной по отношению к агрессивному ордеру, прямых и имплайдных цен
  2. Определение количества контрактов/лотов в виде пассивных заявок на уровне лучшей цены на основании правил Globex
  3. Выделение (аллокация) количества контрактов/лотов на уровне лучшей цены для заключения сделки с использованием рыночного алгоритма.

Вот такие алгоритмы используются CME:

  1. FIFO (First In First Out)
  2. Pro Rata
  3. FIFO with Lead Market Maker (LMM)
  4. Split FIFO and Pro Rata
  5. Threshold Pro Rata
  6. Threshold Pro Rata with LMM
  7. Allocation

Сегодня мы детально остановимся на описании первых двух алгоритмов – FIFO и Pro Rata.

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

Для большинства рынков биржи используют простой и интуитивно понятный алгоритм сведения ордеров, известный как «первым пришел, первым вышел» (FIFO). Например, фьючерсы E-mini S&P500 торгуются в соответствии с “чистой” методологией FIFO. Но это далеко не универсальный алгоритм. В торговле фьючерсным контрактом на евродоллар используется модифицированный алгоритм Pro Rata. На других рынках, в особенности зарождающихся, может использоваться алгоритм Lead Market Maker (LMM – Leader Market Maker) в попытке способствовать повышению ликвидности.

FIFO

FIFO, или алгоритм строгой приоритетности цены и времени, является наиболее простым и интуитивно понятным механизмом аллокации сделок. Цена и время являются единственными критериями, по которым алгоритм сводит ордера. FIFO работает по простой логике. В процессе сведения с поступающими агрессивными приказами, лимит-ордер, размещенный в книге заказов раньше всех, получает наивысший приоритет среди других ордеров, находящихся на том же ценовом уровне. Этот алгоритм матчинга для CME Group  является алгоритмом ”по умолчанию”, если иной механизм ей не был определен.

Алгоритм FIFO используется при сведении ордеров на рынках таких инструментов, как: фьючерс на S&P, фьючерс на какао, фьючерс на нефть марки Brent и др.

Давайте рассмотрим пример, приведенный на сайте CME Group.

Представьте, что в систему поступил агрессивный ордер Buy Limit на 100 контрактов по цене 2041.25. В книге заявок на ценовом уровне 2041.25 размещены лимитные заявки суммарным размером в 150 контрактов.

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

На рисунке лимитные ордера размещены в порядке поступления. В нашем примере ордер с идентификатором ABC “пришел первым ” и соответственно он будет исполнен в первую очередь.  Далее будет исполнена заявка XYZ.  Причем ордера ABC и XYZ будут “поглощены” в полном объеме. Лимитник KLM будет исполнен частично в размере 25 контрактов за счет остаточных 25 контрактов агрессивного ордера. 5 контрактов KLM останутся в книге заявок до следующих транзакций.

Примечание.

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

Pro Rata

Прямой алгоритм Pro Rata сводит входящий агрессивный ордер с лимитными ордерами, размещенными на одном ценовом уровне пропорционально размерам этих лимитных ордеров.

В CME Group используется модифицированная версия Pro Rata – алгоритм FX Calendar платформы Globex. Он исполняет заявки в строгом соответствии с ценой, по которой они были размещены, их размером и временем размещения. Количество контрактов/лотов входящего ордера-агрессора распределяется пропорционально размерам пассивных лимитных заявок. Полученные значения округляются до ближайшего целого числа. Если аллоцированный размер меньше двух, то он округляется до нуля.

Pro Rata (пропорциональный) процент лимитного ордера рассчитывается, как частное от деления его размера на общий размер всех лимитных заявок на определенном ценовом уровне. К оставшимся частям, которые возникают в результате округления аллоцированных размеров, будет применен алгоритм FIFO.

А теперь от “сухой” теории к примерам. Алгоритм Pro Rata используется на рынках таких фьючерсов, как E-mini JPY/USD, NZD/USD, AUD/USD и др. Давайте рассмотрим действие алгоритма Pro Rata на примере фьючерса календарного спреда AUD/USD (6AZ7).

  1. Итак, в систему поступил агрессивный ордер на покупку размером 100 лот. Давайте визуализируем, что будет происходить с лимитными заявками общим размером 255 лот на ценовом уровне Best Ask.
  2. Чтобы рассчитать Pro Rata коэффициенты, размер каждого лимитника делится на общий размер всех заявок, находящихся на уровне, в нашем случае, на 255.
  3. Далее, Pro Rata коэффициенты умножаются на объем поступившего ордера 100. Результаты расчетов округляются до ближайшего целого числа.
  4. Минимальный аллоцируемый размер для AUD/USD равен двум. Поэтому из заявки LKZ аллоцируется 0.
  5. Аллокация в алгоритме Pro Rata происходит в порядке от большего размера к меньшему. В нашем примере, сначала аллоцируется 58 лотов из MOV, а потом 39 лотов из ABC.
  6. Итак, в результате, алгоритмом Pro Rata было аллоцировано 97 лотов. Оставшийся объем в 3 лота, возникший из-за округления, аллоцируется по алгоритму FIFO. Так как первым был размещен ордер с идентификатором ABC, то остаточный объем в виде трех лотов будет аллоцирован именно с этим ордером.

Итак, фактически действие алгоритма FX Calendar происходит в два этапа:

  • Pro Rata с минимальной аллокацией
  • FIFO для любого остаточного количества

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

Другие статьи блога:

Преимущества и недостатки торговли на Московской Бирже по мнению компании OrderFlowTrading
Как использовать горизонтальный объем и повысить прибыльность торговли.