Мальчик buybuy
Мальчик buybuy личный блог
31 мая 2020, 04:02

Лимитные ордера, их исполнение и рибейты. Навеяно последним топиком уважаемого Тихой Гавани

Доброй ночи, коллеги!

В последнее время участились (ну, или опять появились) топики, связанные с лимитными ордерами, рибейтами и прочей ересью.
После короткой дискуссии в последнем топике уважаемого Тихая Гавань, я решил вставить свои 4 копейки...

Дело в том, что лимитные ордера и особенности их исполнения — это достаточно сложная материя, в которой разбирается ещё меньше людей, чем тех, которые зарабатывают на рынке.
На моей памяти эрудицию в этой области проявляли буквально 4-5 резидентов СЛ, но лично я запомнил только fxsaber.

Азбуки в этом посте не будет. Если вкратце — лимитный ордер — это такой ордер, который может исполниться только по указанной цене или лучше, но никак иначе. Однако в ряде случаев он может быть отвергнут, либо исполнен по другой цене, но об этих исключениях я напишу ниже. В любом случае, традиционные проскальзывания на ордерах такого типа отсутствуют как класс.

ОТСТУПЛЕНИЕ. В определенном смысле limit order — это базовая концепция ордера, т.к. все остальные типы ордеров (маркетные, под условием, …) могут быть определены через него. Но это уже, скорее, вопрос аксиоматизации.

Интерес к лимитным ордерам всегда проявляли сторонники HFT, т.к. для них неприемлемы проскальзывания и прочие непрогнозируемые по абсолютной величине издержки.
Однако в последние несколько лет тема лимитных ордеров стала особенно популярной с появлением на криптобиржах феномена рибейта — отрицательной комиссии за сделку при условии выставления ордера в зону «мейка» (предоставление ликвидности).

ПРИМЕР. Лучший аск/бид спред в стакане криптобиржи составляет 9450.50/9450.00 (BTCUSD). Лимитные ордера на продажу, равные или выше 9450.50, считаются ордерами маркетмейкера (предоставляющими ликвидность) и исполняются по «мейку» (с рибейтом — отрицательной комиссией, в моменте -0.025%). Ордера на продажу, выставляемые по цене 9450.00 или ниже, считаются обычными рыночными ордерами и исполняются по «тейку» (комиссия в моменте +0.075%). С изменением структуры стакана и лучшего аск/бид спреда картина меняется, ессно.

ОТСТУПЛЕНИЕ. В действительности механизм рибейтов, как способ покупки сторонней ликвидности, был придуман задолго до крипты. Рибейты присутствуют на NYSE, NASDAQ,… К сожалению, это слово в последние годы изрядно изгадили говноброкеры, так что поиск по слову «рибейт» скорее всего выдаст дисконт на брокерскую комиссию, чем он для говноброкеров и является.

Теперь переходим к теме. Для удобства, начиная с этого места, речь пойдет исключительно о криптобиржах с рибейтом.

Возьмем конкретного трейдера. Он придумал систему, которая работает в плюс маркетными ордерами. Работает шикарно без комиссий и проскальзываний, но с их учетом сильно портит свою эквити.
И вдруг этот трейдер читает в интернете про феномен лимитных ордеров. У которых комиссий нет, есть даже доплаты, а проскальзываний не может быть по определению (ну это не совсем так — см. ниже).
Что он делает? Меняет в тестере минусовую комиссию и проскальзывание на +0.025% рибейта с оборота по каждой исполненной сделке и тут же кончает начинает радоваться жизни, глядя на стремящуюся ввысь эквити.

Начинаем разбирать ошибки этого трейдера.

ДОПУЩЕНИЕ И СВЯЗАННОЕ ОПРЕДЕЛЕНИЕ. (практически) Все трейдеры, алгоритмизирующие свои торговые системы, размещают ордер по цене close последнего бара из проанализированных. Тому есть масса причин, основная из которых (IMHO) обусловлена тем, что это последняя известная цена и, наверное, она будет максимально близка к последующему рынку. В случае, когда ордер размещается по другой цене (close+X) используется термин маркап (markup=X).

ЗАБЛУЖДЕНИЕ № 1. ЛИМИТНЫЙ ОРДЕР, ОТКРЫТЫЙ ПО ЦЕНЕ CLOSE, ПОЧТИ ВСЕГДА (ЧАСТО?) ИСПОЛНЯЕТСЯ

Почему это считается очевидным — понятно. Цена только что была здесь, компьютеры у нас быстрые, линии связи ещё быстрее, значит и цена от нас далеко не убежит.
В этом рассуждении есть только доля истины. Цена то от нас далеко не убежит, только она может начать систематически убегать в сторону, противоположную открытому ордеру. К примеру, мы открылись на покупку, а цена стала расти. И растет 1-2-3-4-5… баров без отката. Визуально это выглядит, как цепочка из «кубиков» (свеч без теней), выстроившихся в диагональ уголками друг к другу. Любой криптотрейдер неоднократно наблюдал этот феномен на минутках и прочих малых таймфреймах.

ИТОГ: Лимитный ордер, выставленный по цене close, может долго не исполняться абсолютно рыночным образом. Проскальзывание при этом легко может составить несколько спредов, что полностью нивелирует преимущество лимитного ордера перед маркетным.

МАТЧАСТЬ: Как проверить исполнение лимитного ордера на следующем баре?
Рекомендую первое (приближенное) соотношение:
— если ордер на продажу, для исполнения должно быть выполнено условие High(next) > Close(Prev)
— если ордер на покупку, для исполнения должно быть выполнено условие Low(next) < Close(Prev)
Здесь имеется в виду, что во время Prev выставляется ордер по Close, а на следующем баре Next мы анализируем цены High и Low

Теперь переходим к более тонким аспектам.

Система, совсем не подверженная заблуждению № 1 и торгующая в плюс (с учетом требований МАТЧАСТИ), все ещё не обязана торговать в плюс на реале. Почему?

ЗАБЛУЖДЕНИЕ № 2. ЛИМИТНЫЙ ОРДЕР, ОТКРЫТЫ ПО ЦЕНЕ CLOSE, ВСЕГДА ПОПАДАЕТ В ОБЛАСТЬ «МЕЙКА»

ПРИМЕР. Предыдущий бар закрылся по цене 9450, так что наша система выставила лимитный ордер на продажу по цене 9450. Однако, следующий бар открылся по цене 9452, так что наш ордер на продажу мгновенно исполнился по «тейку» и с нас тут же взяли комиссию 0.075%. И мало того, что она выше, так это ещё и чистый расход, а не доплата!

Это достаточно частая ситуация. Для борьбы с ней на криптобиржах (нормальных, ессно), существует опция post-only, которая гарантирует, что Ваш ордер не исполнится по «тейку» никогда (и с Вас не возьмут лишнюю комиссию). Вот только все имеет свою цену.
И свою реализацию. Биржа BitMEX режектирует (отменяет) ордера на продажу, которые выставлены по цене ниже 9452.50, если текущий спред составляет 9452.50/9452.00. Биржа Deribit САМОСТОЯТЕЛЬНО изменит цену Вашего ордера на продажу на 9452.50, если детектирует текущий спред на уровне 9452.50/9452.00.

МАТЧАСТЬ. Вы можете думать, что торгуете свою ТС, на деле вы торгуете систему с поправками биржи. В частности, в реальной жизни Вы никогда не открываетесь по цене Close, а (неявно, даже без собственного желания) используете динамический маркап. И помните, что маркап (смещение от Close) всегда неотрицательный, в противном случае Вы автоматом попадаете в зону «тейка» с уплатой всех сопутствующих комиссий.

МОРАЛЬ: Работая с рибейтом на криптобиржах, никогда не верьте тестерам стратегий. Ни MT4, ни MT5, ни TSLab не учитывают вышеприведенные нюансы и косячат не по детски. Выхода ровно 2:
1. Собственная гениальность (никакие тестеры мне не нужны)
2. Кропотливое написание собственных тестеров стратегий
К сожалению, путь 2 тернист. На 100% достоверно эта задача решается только на тиковом потоке Аск/Бид, который выдают далеко не все биржи и провайдеры ликвидности. К счастью, есть упрощенные модели, работающие на массиве OHLC отдельных баров. Но это именно упрощение.

Как-то так

С уважением

Сорри за многобукофф, пытался быть понятен
40 Комментариев
  • Олайвир Стокс
    31 мая 2020, 04:16
    лимитный ордер выполняется по указанной или лучше

  • Silent Hamster
    31 мая 2020, 08:45
    И на хера все это я прочитал?  БЫВАЮТ ПРОСКАЛЬЗЫВАНИЯ ПО ЛИМИТНИКАМ И ЧТО? МАЛЬЧИК, УСПОКОЙСЯ И РУБИ ПРОФИТ!
    ЛУчше сон свой наладь, чем пургу писать!
  • Дар Ветер
    31 мая 2020, 09:52
    Нагнали вы туману на простую проблему. Если стратегия основана на манипулирование ликвидностью и эксплуатирует микроструктупу рынка то граыик и его анализ вам никчему, тем более закрытия баров. Вам нужны уровни и все. Если вы торгуете по графику лимитами то почти все описанные страсти вас не касаются, вы ставите лимиты в нужных местах заранее и ждете исполнения. И все. Для анализа криптофьючей я лично использую Ninja Trader с данными от битмекс. Тиковых они не дают но мне и не нужно, скальпировать на крипте с учетом риска менее интересно чем например на тех же акциях. Дам это можно делать снова в нинже, через связку скажем с айби. Ну пдт есть, да. На крипте оптимальные стратегии с точки зрения оборачиваемости капитала — это интрадей.
  • SergeyJu
    31 мая 2020, 10:33
    В некотором смысле московская биржа — простейший полигон для изучения данного вопроса. Все ордера идут в стакан, исполняются на общих основаниях, сидат в полном ордерлоге, комиссы не зависят от выставленной цены (про штрафы за избыточную неторговую активность или про ошибки — не будем). Так вот, исследование реальных потерь на исполнение, помимо комиссий, которые неизбежны, говорят следующее. При парной операции открыл/закрыл позицию мы в среднем всегда отдадим 1 спред, если мы не ХФТ. Если мы выставляемся достаточно быстро (плаза или фикс) мы можем почти всегда попадать в ту зону стакана, которая нам нужна. Если есть бОльшая задержка, мы случайно попадаем выше или ниже спреда с какой-то вероятностью. Как следствие, мы или исполняемся в среднем чуть-чуть лучше заявки, но по худшему для нас краю спреда, или зависаем с риском вообще не исполниться в разумные сроки. Тогда заявку приходится переставлять по худшей цене. Практические исследования показывают, что в реале мы сдаем 1,5-2 спреда практически всегда на лимитниках. На маркетах (которые я не использую) будет хуже. А при не слишком большой ликвидности инструмента — непредсказуемо хуже.
    И последнее, это относится к очень маленьким заявкам. Чем больше заявка — тем хуже. 

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

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