АЛГОРИТМЫ СВЕДЕНИЯ ОРДЕРОВ CME.
ЧАСТЬ 2
Привет, друзья! Надеемся, что вас заинтересовал материал первой статьи из цикла «Алгоритмы сведения ордеров CME». Сегодня мы рассмотрим еще 2 не менее интересных алгоритма, реализованных в рамках платформы Globex.
В этой статье будут рассмотрены следующие алгоритмы сведения ордеров:
- FIFO with LMM
- Split FIFO and Pro Rata
Алгоритм FIFO with LMM
Алгоритмы сведения ордеров, которые были рассмотрены в предыдущей статье, применяются на рынках флагманских контрактов группы CME. Конечно же не на всех рынках торговля ведется столь же активно. Поэтому для обеспечения ликвидности биржа обычно привлекает маркет-мейкеров. В некоторых случаях она предлагает маркет-мейкерам специальные программы материального стимулирования за услуги обеспечения ликвидности. Одним из самых распространённых средств стимулирования маркет-мейкеров является предоставление преференций в очереди приказов.
LMM (программа «Ведущий маркет-мейкер») – это специальные условия, предоставляемые группой CME для авторизированных маркет-мейкеров, которые взяли на себя обязательства по обеспечению ликвидности определенного торгового инструмента. Эти маркет-мейкеры получают определенный процент аллокации от входящих ордеров. Этот процент определяется в соглашении между LMM компанией и биржей.
Давайте рассмотрим пример с фьючерсным пакетом Eurodollar “Баттерфляй” (англ. Eurodollar Futures Pack Butterfly). При сведении ордеров на данном рынке используется алгоритм FIFO c LMM (FIFO with LMM).
Представьте, что в систему поступил агрессивный Buy Limit ордер на 30 контрактов. А теперь давайте разберем логику работы алгоритма на уровне 1.25. Общий размер, размещенных на этом уровне лимитных заявок, составляет 50 контрактов.
Итак, как видим, на данном ценовом уровне размещены два лимитных ордера, которые составляют в биржевом стакане сайз в 50 контрактов. Ордер ABC поступил в систему первым, но ордер LKZ система идентифицировала как LMM ордер с 40%-ой аллокацией. 40 процентов от 30 контрактов агрессивного ордера равняется 12. Соответственно 12 контрактов получат приоритет в соответствии с LMM условиями. Как только LMM условие удовлетворено, аллокация происходит по алгоритму FIFO. Остаточные 18 контрактов будут аллоцированы с ABC.
Алгоритм Split FIFO and Pro Rata
Алгоритм Split FIFO & Pro Rata гибридный по своей структуре, так как он является комбинацией FIFO и Pro Rata. Аллокация одной части входящего ордера X% происходит по алгоритму FIFO, вторая часть Y% — по алгоритму Pro Rata.
На первом этапе алгоритм FIFO выделяет определенную относительную величину входящего ордера для ее последующего аллоцирования с упорядоченными по времени лимитными ордерами.
На втором этапе алгоритм Pro Rata выделяет определенную относительную величину ордера для ее аллоцирования с упорядоченными по размеру и времени лимитными ордерами, используя Pro Rata формулу.
Дополнительный этап для некоторых продуктов: если остается неаллоцированный алгоритмом Pro Rata объем входящего ордера, то этот остаток распределяется между лимитными ордерами — по одному лоту на лимитный ордер (англ. 1 lot leveling — однолотовое равномерное распределение). Приоритетность аллокации остатка определяется по двум параметрам — величине объема и времени размещения лимитного ордера в стакане заявок. К любому остаточному количеству применяется алгоритм FIFO.
Давайте рассмотрим декабрьский контракт фьючерса на кукурузу (ZCZ6). При сведении входящего ордера с пассивными ордерами на этом контракте используется гибридный метод Split FIFO & Pro Rata, который 40% входящего объема исполняет по алгоритму FIFO и 60% — по алгоритму Pro Rata.
Итак, представим, что на рынок пришел агрессивный покупатель и решил приобрести 7 контрактов нашего торгового инструмента по цене 411’4 (Best Ask). Теперь детально разберем, что произойдет на этом уровне.
Как видим, на уровне лучшей цены 411’4 расположились 5 участников (см. рис. ниже).
На первом этапе к 40% размера агрессивного приказа применяется FIFO. 40% от 7 равняется 3. Данная часть размера ордера аллоцируется с первым в очереди лимитным ордером с идентификатором ABC. Соответственно после действия первого этапа алгоритма размер ордера ABC станет равным 97 (100-3).
На втором этапе остальные 60% агрессивного ордера, то есть 4 контракта, будут исполнены по алгоритму Pro Rata. Ордера, находящиеся в стакане заявок, исполняются в соответствии с их размером и временем их размещения в стакане (вспоминайте логику работы алгоритма Pro Rata, мы ее описывали в первой части нашего цикла статей). Фактически мы находим, какой процент от общего размера всех заявок на уровне 411’4 составляет каждый из лимитных ордеров. Общий размер всех заявок на уровне лучшей цены после первого этапа аллокации: 97+30+80+30+60 = 297. Теперь вычисляем Pro Rata коэффициенты:
Итак, остаточный размер нашего агрессивного ордера равный 4-м контрактам (7-3) распределяется между лимитниками на уровне 411’4 в найденном нами процентном соотношении. Результаты нахождения процентов округляются до ближайшего целого числа и после этого происходит аллокация. Если аллоцируемый размер меньше 1, то округление происходит до 0. Как раз по этой причине лимитные ордера XYZ, ZZZ и OPP не аллоцируются в результате действия алгоритма Pro Rata.
Любое остаточное количество агрессивного ордера исполняется по принципу однолотового равномерного распределения (англ., 1-lot leveling). В нашем случае, после действия алгоритма Pro Rata, осталось всего 2 контракта. Порядок исполнения лимитных ордеров определяется их размером и временем размещения в стакане заявок. Лимитные ордера, участвовавшие в аллокации по алгоритму Pro Rata (ABC и KLM), не участвуют в данном этапе. Итак, остается 3 ордера — XYZ на 30 контрактов, ZZZ на 30 контрактов и OPP на 60 контрактов. OPP самый большой по размеру ордер. XYZ и ZZZ -ордера одинакового размера, но первым в стакане заявок был размещен XYZ. Соответственно лимитники OPP и XYZ будут исполнены в размере одного лота каждый.
Примечание
Алгоритм Split FIFO & Pro Rata также может использовать компоненты методологий Top Order и Lead Market Maker (LMM). В нашем примере эти компоненты не используются.
Следите за обновлениями нашего блога. В следующей статье будет рассмотрен еще один алгоритм сведения ордеров CME — пороговый алгоритм пропорционального распределения.