Блог им. C-4
hrenfx 2013.07.17 04:14 #29 ENPriceTakers vs PriceGivers.
Когда в T&S-данных есть классификация по направлениям, можно говорить об общих показателях торговли PriceTakers, либо же PriceGivers.
Будем считать далее, что упомянутое направление касается PriceTakers. Это условность на самом деле, т.к. PriceGivers-направления — просто с обратным знаком.
Вспомним, что каждый элемент T&S-последовательности представляет из себя данные по совершенной кем-то из PriceTakers сделке: цена, объем и ее направление.
Это значит, что мы вполне в состоянии построить динамику изменения суммарного Equity всех PriceTakers по каждому символу в отдельности и, соответственно, по любой совокупности символов. Более того, на FOREX, рассматривая все кроссы и мажоры одновременно, можно построить динамику изменения общего валютного профиля PriceTakers: сколько какой валюты «на руках» у PriceTakers.
Level3--.
Есть такое понятие, как Level3 — это полная информация о текущем состоянии каждого из участников рынка. Грубо говоря, это хорошо охраняемый инсайд. Однако, как было сказано выше, мы можем к нему приблизиться, вычислив Equity_PriceTakers.
Напомню, фактическое предназначение PriceTakers — мясо для PriceGivers, среди которых есть очень сильные участники рынка. Т.е. само алгоритмическое ценообразование служит обогащению PriceGivers за счет слива PriceTakers.
Так что PriceGivers будут делать все, чтобы Equity_PriceTakers уменьшался. Поэтому использование такого легко вычисляемого алгоритмического инсайда видится разумным с точки зрения природы современного электронного фин. рынка.
Пост этот старый, но от того не менее полезный, как впрочем и все, что было написано hrenfx. Основная мысль здесь однако проста: PriceTakers — мясо. PriceGiver — это в том числе хорошие MM, которым нужно кормится. Современная экосистема электронных фин. рынков устроена таким образом, что бы вторые кормились за счет первых. Если же ММ дает сбой и начинает бить по своим, то он становится токсиком и FX брокер пытается его задвинуть (об этом можно почитать уже в других его постах той ветки, которую я горячо рекомендую).
Не удивительно, что данная точка зрения пришла из Forex. Площадка эта децентрализованная, маркетмейкеры там как бы есть, но Level II закрыт от посторонних глаз. А увидеть секрет полишинеля стоит заградительных пошлин. Например LMax просит 7 000$ в месяц, только что бы «поглядеть» на весьма невразумительный стакан цен из нескольких уровней. Отсутствие публичной информации может потенциально породить Каргокульт или мифических «Они», однако не все так однозначно.
Но вернемся к крипто биржам. Информацию они транслируют открыто и даже зачастую не требуют логина для ее получения. Поэтому анализировать ленту сделок можно по ним. Что мы и сделаем. Вот скриншот Time&Sales для фьючерса BTC-PERPETUAL биржи Deribit, сделанный мною практически в случайный момент времени:
На скриншоте видно, что в 2021.04.16 08:29:41.804 произошло две сделки, объемами 4820 и 4560 соответственно. Казалось бы, что тут такого? Кто-то может сказать, что очередной кликер жахнул по рынку. Но обратите внимание на объем этих двух сделок, он равен 9380$ (на Deribit объем транслируется в долларах, а не в контрактах). Эти цифры не очевидны, если их смотреть в стандартных потоковых тикалках, размещенных на сайтах таких бирж, или через кривые крипто приводы, список которых большой, но называть имен мы не будем, что бы никого не обидеть. Если же сделать согласованное представление данных, а именно объединить Ask+Bid+Last в одном синхронизированном потоке, становится вдруг сразу видно, что некоторые сделки по рынку с хирургической точностью выжирают ликвидность лучших бандов. Давайте посмотрим на хронологию произошедшего уже более подробно:
Объем обоих сделок составил 9380$, т.е. одним приказом был выкуплен весь ценовой уровень. Так как это породило две сделки Last то можно сделать вполне уверенный вывод что на другой стороне было именно два участника. Дальше цена продолжила снижаться.
Похоже ли эта рекогносцировка на действие непрофессионального участника? Нет, не похожа. Что бы взять цену по этому уровню нужно во-первых выставить лимитный ордер с нужной ценой и объемом, а во-вторых, быть ну очень быстрым. Посмотрите сами, разница между формированием уровня Bid и срабатыванием Last составила всего 20 мсек. Это 1/2 типичного roundtrip. Вы можете спросить, откуда такой вывод? Что же, отвечу, что альтернативных вариантов не много. Судите сами:
Единственная лазейка, показывающая что Pricetaker все-таки ошибся, заключается в том, что и у пред-предыдущей цены 61608.5 был такой же объем. И выставляющий маркетную заявку целил именно в нее, однако просто не успел предвидеть преставление Bid до 61607, хотя позволил своей заявки скользить как минимум на 1.5 бакса. Но даже в этом случае мы имеем время реакции равному типичному roundtrip 55 мсек. Это по-прежнему крайне быстро для человека и такую команду мог выдать только бот, при том, очень смартовый, так как даже стакан на сайте биржи обновляется со скоростью «всего» 10 раз в секунду, а здесь нужна скоростью повыше. Те кто сомневаются могут понаблюдать, за записью реальных изменений в стакане BTC_PERPETUAL:
Итак, если мы и имеем «глупого» PriceTaker, то он весьма оснащенный товарищ, потому что:
Поведение подобных участников вызывает интерес. В противоположность этому, уровни PriceMakers анализировать уже сложнее, так как не видно ни реальных намерений участников, ни их количества. К тому же на Deribit и ей подобных фьючерсных биржах с системой нулевых комиссий или даже вознаграждений (ребейтов) существенно искажается ценовой профиль стакана. Участники, вместо того, что бы стойко держаться установленных ими цен, начинают гонятся не пойми за чем, в надежде урвать кусок своего маленького дохода, тем самым создавая нездоровую конкуренцию самим себе. Но эта уже совсем другая не менее интересная история.
Имея же православный T&S, сопряженный с ценовыми уровнями лучших бандов, можно вычленять подобных участников, и например, рассчитывать нетривиальные индикаторы сантимента по ним. Скажем можно разделить всех тейкеров на «умных», бьющих подобным образом, нейтральных (чье поведение не удалось идентифицировать), и глупых, — тех кто проваливает стакан своими заявками, не понимая, что мало того что они скользят, так и еще ускоряют и без того неспокойную цену, размывая ликвидность в хлам.
Правда, не думаю, что такой подход может является каким-либо секретом, скорее логическим продолжением такого анализа. Но даже, если такой индикатор может оказаться ценным, то воспользоваться им смогут не многие. Ведь среднестатистическому участнику, с его, жрущим гигабайты памяти и десятки процентов ЦПУ приводом, быстрое выставление заявок недоступно. Он получит срез на 10-15 кадров отличающийся от текущего, еще такт удержания контекста (до 16 мсек) ему понадобится для обсчета и еще столько же на путь заявки до сервера. Короче, когда его заявка придет на биржу, то стакан будет другим на столько, на сколько другим он будет через минуту или час. Единственное, что можно порекомендовать таким участникам, это выставлять флаг «post only». С этим флагом, биржа отлифтует или отреджектит нерадивую заявку такого участника, если она попадет на противоположенный банд как маркетная. Но даже если соблюсти все условия и быть очень быстрым, то это все равно HFT: разница во времени между возникновением торгового сигнала и его отработкой сопоставима с roundtrip, что накладывает ограничения не только на реализуемость вообще, но и на потенциал прибыли, а вот это уже даже более печальный факт. Хотя кому как, кому как...
Не могли бы вы пояснить, о каком roundtrip здесь идёт речь?
И ещё мне не понятно, почему вы сравниваете два несинхронизированных потока данных между собой: поток сделок и поток level2. Эти потоки не синхронизированы не только на криптобиржах, но и на CME, например.
Roundtrip — имеется ввиду время, затраченное на доставку котировки от ядра биржи на машину пользователя. А затем время, затраченное на доставку торгового приказа пользователя до ядра биржи (т.е. туда и обратно). Это сугубо индивидуальная история на которую можно влиять, например размещать свой сервер на colocation биржи.