Блог им. Noizium

Похоже на CME не все чисто или кто то лезет без очереди

Известны случаи мошенничества на нью-йоркской фондовой бирже, а может просто слухи о том, что крупные, назовем их хитрые ММ, получали над всеми приоритет в очереди заявок. Похожее обнаружено при анализе потока данных на Чикагской бирже по инструменту S&P mini (ES).

Немного информации для начала. Гугл поиск утверждает в нескольких источниках, что алгоритм сведения ордеров для ES это FIFO — первый выставил лимитную заявку в стакане, первым тебя и исполнили. Другими словами очередность исполнения формируется по мере установки ордеров. Если снял и поставил заново или изменил заявку — в конец очереди.
Подробно, что происходит в стакане можно рассмотреть на неликвидном инструменте. Возьмем тот же ES, но контрактом следующим за текущим активным, на которым орудуют в основном роботы ММ то и дело выставляя — убирая заявки.
К слову сказать биржа шлет (кому то может быть полезную) информацию о том, какое количество покупателей или продавцов стоит на лимите. Кроме еще, конечно, объема и цены.
Можно взять один лимитный уровень и рассмотреть его заполнение подробно начиная с момента его первого заполнения (ESU5 какой то майский денек, какой то невзрачный бид, где то перед закрытием):
Похоже на CME не все чисто или кто то лезет без очереди
Первые столбцы — это информация об изменении лимита (цена, объем, кол-во покупателей). Цена везде одинакова, следим только за одним уровнем. Все промежуточные события в потоке убраны для наглядности (сделок не проходило). В начале понятно, что появился один покупатель на 5 контрактов. В табличке справа запишем его объем как факт появления. Далее в след строках покупатели приходят еще, забиваем инфу, получая наглядное представление о составе всех лимитников.

Когда кто то уходит с лимита (это где Vol Change отрицательное) легко можно понять какой объем ушел и сколько покупателей после этого осталось. Кол-во покупателей может не изменится — кто то просто снял некоторую величину от своей заявки и ушел в конец очереди на ожидание исполнения. Если кол-во покупателей изменилось, то легко определяем что один из записанных нами объемов ушел и убираем его. То что на скрине -нагдяное представление момента жизни всех объемов на уровне, причем очередность исполнения заявок соблюдена.

Можно рассмотреть ликвидный инструмент, и тут попался такой момент, что FIFO не работает — кто то снимает часть заявки и не идет в конец очереди. Вместо этого успешно частично исполняется и оставшийся объем уходит. Это июньский контракт того же ES день 27 мая:

Похоже на CME не все чисто или кто то лезет без очереди
В начале все хорошо, набирается объем на лимитке. Потом через какое то время есть две заявки на снятие объема в 1 контракт и затем 2 контракта, но количество покупателей не меняется — кто то убрал часть своего объема. Так вот дальнейшая логика построения «жизни» этого уровня сходится к тому, что это кто то стоял объемом в 64 контракта, затем убрав часть объема просто не перемещается в конец очереди. И, более того, принимает на себя продажу, которая происходит чуть позже (20 контрактов  sell). Не всю конечно, те кто был самые первые перед ним все же исполняются.
Далее чуть ниже (уже не видно на скрине, приложу файл) ситуация повторяется. Но заявка стояла на 5 контрактов и далеко не первая на очереди, тем не менее она забирает объем с продажи по маркету.

Если нигде ошибок нет и никто не сможет опровергнуть приведенную логику расчета в файле, то можно смело идти в SEC )) Или еще куда подальше. А вообще впечатление, что у самого руля пара тройка ММ, а скорости реакции на рыночные события у них чуть более 150 микросекунд. И это все не просто так.

Эксель файл тут
Жмите хор, если не спите.
★1
13 комментариев
Если рассматривать с точки зрения логики тот кто уменьшил размер ордера имеет право не перемещаться в конец. Возможно он открыл 64 ордера по одному контракту и потом часть отменил.
avatar
Димон, точно! проглядел это в рулах на сме — уменьшение не переводит в конец очереди.
Ладно плюсы можно не ставить.
Но со следующими 5-ю контрактами (которые выделены цветом) все равно что то не так.
avatar
Разве это имеет какое-то значение, если ордера все равно исполняются по нужной цене?
avatar
Ничего не понял, если один покупатель выставил несколько заявок, он будет инициализироваться как один или несколько?
avatar
Ask, в потоке ордеров есть такие моменты, когда увеличивается объем на лимите, но кол-во ордеров не меняется
avatar
123456789hft, на исполненные айсберги не посмотрел… могли и быть, кстати
avatar
Для анализа данные брали из стакана срез за срезом?
avatar
SECRET, событие за событием (обновление лимитов, рыночные ордера)
avatar
Alexander Noizium, ок, ваш метод может отличить 3 события, относящихся к одному ценовому уровню и направлению заявки:

1. Кто-то поставил 1 заявку на 100 контрактов
2. Один и тот-же игрок одновременно поставили 2 заявки по 75 лотов и убрал ранее выставленную заявку на 50 лотов
3. один или несколько игроков одновременно сняли 100 заявок по 1 лоту и добавили 99 заявок по 2 лота и 2 заявки по 1 лоту.
avatar
SECRET, возможно)
avatar
Я лично наблюдал за ситуацией в умном стакане ATAS, когда при выставления своих лимиток, у меня впереди очередь выбиралась, т.е. я уже в очереди должен быть первым. Но по ленте ордеров проходят еще рыночные ордера, а моя лимитка не исполняется.
avatar

теги блога Alexander Noizium

....все тэги



UPDONW
Новый дизайн