openfx
openfx личный блог
29 октября 2013, 00:00

Исполнение лимитых ордеров на бирже.

Как и прошлые записи, эта является продолжением предыдущей. Поэтому, для более ясного понимания содержания и терминологии рекомендую прочесть прошлые записи по порядку:
1. Немного о маркетмейкерах.
2. Моделирование рынка.
3. Биржевой алгоритм.

Итак, теперь пару слов о лимитных ордерах на бирже.

Корректный биржевой алгоритм не допускает в ценообразовании публичной ситуации Bid >= Ask. В самом алгоритме по мере приема заявок на начальном этапе формируется стакан, в котором частенько бывают ситуации Bid >= Ask. В такой ситуации включается исполнительная часть биржевого алгоритма, задача которой разрулить эту ситуацию до состояния Ask > Bid. И только после разруливания уже сформированный стакан с соответственно сформированными Last-данными становится публичным — доступным всем.

SellLimit всегда исполняется по цене Bid, BuyLimit — исполняется по Ask.
Но только эти Bid и Ask являются непубличными ценами сформированного на начальном этапе стакана, как описал выше.

Если вы выставляете SellLimit — это желание вами продать, что равно предложения для других купить у вас. По этой причине SellLimit попадает в Ask-банды. Например, если вы выставляете внутрь спреда SellLimit, то формируется наилучший Ask-банд с уровнем и объемом вашего лимитника. Т.е. выставив вовнутрь спреда SellLimit, вы меняете Ask-цену. Если кто-то захочет купить по Ask-цене, то он будет заливать ваш лимитник. Говорить в таком случае, что SellLimit исполняется по Ask-цене, либо же исполняется без спреда — очень расплывчатая формулировка. Лучше просто понимать механизм, как и везде.

Приведу пример исполнения. Вы выставили SellLimit внутрь спреда, значит Ask приравнивается к SellLimit. Теперь вы же выставляете BuyLimit равный Ask. В этой ситуации (см. первый абзац) в биржевом алгоритме получается, что Bid приравнивается к BuyLimit. Т.е. в итоге выходит, что Bid = Ask. Все, пошло разруливание ситуации, пока Ask не станет больше Bid. Пока алгоритм не разрулит, никто корректный стакан не увидит. Для простоты пускай объемы SellLimit и BuyLimit равны Vol. Получается, что оба лимитника схлопываются, Bid и Ask становятся равны следующим лучшим бандам в стакане, т.е. Ask > Bid. Далее Last-данные содержат в себе цену исполнения, которая равна вашим SellLimit (== BuyLimit), объем Vol и направление BUY (потому что BuyLimit был отправлен позже SellLimit).

Заметьте, что если в той же ситуации сначала послать BuyLimit, а затем SellLimit, то результат будет один и тот же — вы купите/продадите сами себе, потеряв на двойной комиссии. Но только в Last-данных флажок направления будет противоположный — SELL.


Возвращаясь к вопросу цены, по которому исполняются лимитники:

Если вы будете смотреть на бары мелкого ТФ на каком-нибудь слаболиквидном символе, то увидите, что Bid-бары подрезаются снизу (BuyLimit-ами), а Ask-бары — сверху (SellLimit-ами).

Рассмотрим опять же ситуацию SellLimit. В побаровом тестере SellLimit исполнится только тогда, когда его HighBid  >= SellLimit. Обратите внимание, что HighBid (как и LowAsk) практически не подрезаются на биржах. И забегая вперед — совсем не подрезаются на ECN/STP. Т.е. если вам нужно протестировать стратегию с лимитниками, то для вас главная информация по исполнению SellLimit является значение Bid-цены, а точнее ее High. Это может быть еще одним аргументом в пользу утверждения, что SellLimit исполняется именно по Bid-ценам.
 
Отвлекаясь немного, можно сказать, что из этих же соображений строятся ЗигЗаги с вершинками на Bid-данных и низинками на Ask-данных. И именно на основании такого построения оценивается максимальная потенциальная доходность.

Алгоритм формирования биржевой площадки является очень частным случаем более сложных площадкообразующих алгоритмов — децентрализованных рынков (даркпулов).
5 Комментариев
  • Realist
    29 октября 2013, 05:50
    Проголосовал в + за все топики автора. Распечатаю и почитаю еще с листа. Спасибо. Публикуйте еще. Ваши тексты превращают конспирологию рынка в обыденную реальность.
  • А. Г.
    30 октября 2013, 01:01
    В нормальном биржевом алгоритме кросс-сделки отфутболиваются. А в российском биржевом алгоритме вообще признаком клиента являются паспортные данные для физического лица и ИНН для юридического и отфутболиваются даже кросс-сделки с одним признаком, даже поступившие от разных брокеров. Так что никакой комиссии в России никто за кросс-сделки не платит. Другое дело, что, например, клиент торгующий несколькими роботами должен сам отслеживать кросс-сделки между своими роботами, потому что при попадании таких сделок на биржу происходит полное неисполнение даже при несовпадении объемов.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн