Поверхностно об основах рыночной архитектуры и алготрейдинге » Элитный трейдер
Элитный трейдер


Поверхностно об основах рыночной архитектуры и алготрейдинге

Многие знают, что одно из первых, что говорят в техническом ВУЗе — забыть все, что проходили в школе. Данная рекомендация актуальна и здесь. Полезно иногда с чистого листа начать.

На данный момент все рынки автоматизированы. По этой причине какие-то экономические объяснения ценообразования являются некими рудиментами. Рулят алгоритмы + некое ручное вмешательство.

Задача каждого торгового алгоритма всегда одна и та же — принести денег владельцу. Алгоритм тем лучше, чем больше денег он в состоянии принести.
3 декабря 2013
Маркетмейкеры

Среди алгоритмов на рынке есть так называемые маркетмейкерские алгоритмы. Объяснить на пальцах, наверное, можно от простого примера к более сложному:

Представьте, что у вас задача создать новый символ для торговли. Пусть есть люди, которые по какой-то причине хотят его торговать. Что требуется от вас? Вам нужно в любой момент формировать из своих заявок Level2 вашего символа. Т.е. наполнить символ ценами и ликвидностью. Вначале можно сделать совсем тупой ММ-алгоритм — Level2 не меняется. Т.е.клиент купил или продал, после чего вы добавили ликвидности до исходного Level2. Очевидно, что такой алгоритм будет давать владельцу постоянно деньги. Но проблема в том, что люди не полные идиоты, и на символе-константе торговать не станут — нет даже потенциальной возможности им заработать.

Значит надо как-то людишек заставить совершать сделки. Следующий тупейший ММ-алгоритм может быть простой синусойдой — Level2 ходит то вверх, то вниз. Многие люди будут также сливать, но найдутся гении, которые увидят закономерность и начнут нагибать владельца ММ-алгоритма.

Выходит, что нужно придумать что-то такое, чтобы ММ-алгоритм имел максимальную разницу между сливающими и зарабатывающими. Тут и начинаются разрабатываться различные мат. модели, которые далеко не тривиальны.

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

Т.е. вы понимаете, что маркетмейкером можете быть даже вы, нужен только хороший ММ-алгоритм и решение некоторых организационных вопросов.
Попробуем пошагово смоделировать на своем компьютере биржевой (самый простой вариант) замкнутый рынок (из одного ФИ).

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

Как запустить тысячи роботов, чтобы они начали между собой торговать?

Зададим начальный уровень (не цену) средней цены — единица. Запустим сначала роботов, которые выставляют сразу лимитные заявки. Начнется формирование истории цен Bid и Ask. Какое-то время не будет никаких сделок, но цены при этом будут двигаться по любой траектории.

Если траекториями (две) будут горизонтальные линии, это будет обозначать, что рынок мертв полностью. Чтобы оживить его, запустим роботов, которые выведут траектории из горизонтальности. Тут мы можем столкнуться с тем, что траектории бесконечно устремляются в одну из сторон. Значит надо задать (не обязательно явно) какие-то границы траекторий. Теперь имеем более-менее сносную историю. При этом ни одной сделки еще совершено не было.

Запускаем роботов, которые на основании сформированной истории делают свое грязное дело — торгуют. Пошли сделки. Роботы, что выставляли лимитные заявки, могут слить. Тогда исчезнет цена и все застопорится. Придется определенным таким роботам дать несоизмеримо высокий капиталл (это значительно увеличит начальную (50/50) вероятность заработка), по сравнению с остальными. Назовем таких роботов ММ-роботами. И в алгоритм их заложим гарантию присутствия своих заявок. Есть ли возможность слития ММ-роботами? Конечно есть. Значит нужно каким-то образом гарантировать отсутствие слития для ММ-роботов.

Можной пойти по двум путям. Ввести такие торговые издержки, чтобы они покрывали медленный слив ММ-робота. Либо получать инсайд-инфу о торговле других роботов и на основании ее моделировать и менять цену, чтобы было положительное МО. Логично делать и то и другое.

Вводим начальные торговые издержки для всех роботов за торговые операции, и перечисляем их на счета ММ-роботов. Начальные издержки делаем Koef * MO ММ-роботов. Конечно, Koef > 1. Инсайд тоже научились пользовать, так что ММ-роботы потихоньку сливают остальных роботов.

Можно ли сделать так, чтобы роботы торговали между собой бесконечно? Этого сделать нельзя, т.к. определенные роботы точно сольют, выбыв из игры навсегда. Прибыль от слива будет перераспределяться между другими роботами, т.е. средняя капиталлизация со временем будет расти, а количество участников рынка падать.

Как этого избежать? Путь только один — ввод новых роботов с новыми капиталлами. Значит требуется всегда на определенном этапе подпитывать наш рынок новыми деньгами и новыми роботами.

Ну, вроде, задышало…

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

Какие простые выводы из даже такого примитива, что был выше озвучен, можно сделать?

— Рынок — инструмент отнятия денег в пользу ММ-роботов.
— Рынок мертв без новых участников и их новых капиталлов.
— Рынок мертв без инсайда и торговых издержек.
— Цены формируются на основе инсайда.

Площадко-образующий биржевой алгоритм

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

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

Биржевой алгоритм сугубо технический, т.е. приносит прибыль его владельцу тем, что его результатами все пользуются, платя комиссию. При этом в алгоритм может быть вложена даже отрицательная комиссия, например, для ММ-алгоритмов. Комиссионная сетка — это опять же некая несложная мат. модель.

Итак, есть Level2 (терминология FOREX, в биржах его называют еще MarketDepth) — это уровни: цена покупки/продажи и сколько (объем). Каждый такой уровень (цена + объем) называется бандом. Самые лучшие банды для продажи и покупки называются Bid и Ask (некоторые называют Offer, но это лишь терминология).

Level2 формируется из клиентских заявок (лимитники) — это и ММ-алгоритмы + еще некоторые виды алгоритмов и мясо. Спредом называют разницу между текущими Ask и Bid (в частности, по этой причине есть очень неточная по своей формулировке фраза, что ММ зарабатывают на спреде).

Любой лимитник биржевой алгоритм почти всегда ставит на соответствующий банд в стакане. Именно по этой причине, поставив лимитник внутрь спреда происходит соответствующее его сужение. Совсем на пальцах это объяснять не буду, алгоритм постановки простой (можно погуглить или спросить).

Если лимитник ставится хуже, чем текущая соответствующая цена (например, SellLimit = 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-данных. И именно на основании такого построения оценивается максимальная потенциальная доходность.

Типы трейдеров

Классификацией трейдеров можно заниматься до бесконечности. Но среди проф. участников рынка (брокеры, разработчики платформ и т.д.) трейдеров делят на два типа: кликеры (GUI-clickers) и алготрейдеры. Названия полностью говорят о их особенностях. Разделение на опытных и новичков (употребяют также «нубы»), как правило, не ведется.
Если стоит задача привлечения трейдеров, то проще всего привлекаются кликеры и гораздо сложнее алготрейдеры.
Кликерам делается хороший красивый GUI, торговым условиям уделяется второстепенное внимание. По этой причине, в частности, кликеры являются в среднем мясом (источником прибыли для других участников рынка). Конкуренция за кликеров высокая.
Алготрейдеры очень придирчивы к торговым условиям, GUI не имеет определяющего значения. Конкуренция за алготрейдеров низкая, хоть усилия на это тратятся серьезные.
Мат. ожидание всех алготрейдеров много выше мат. ожидания кликеров. Количество алготрейдеров много меньше, но оборот выше.
Так случилось, что к мнению алготрейдеров прислушиваются в гораздо меньшей степени, чем к кликерам. Этим страдают разработчики платформ, этим же страдают и брокеры. Мнение алготрейдеров может распространяться даже на то, как, например, платформа продается брокеру — за комиссию с оборота или абонентскую плату. Т.е. учитываются все нюансы возможного изменения торговых условий.
Чаще всего участники рынка настроены на удовлетворение только одного типа трейдеров.

Очевидно из написанного ранее, что маркетмейкеры являются алготрейдерами.

Токсичный поток

Данным термином пользуются маркетмейкеры. Токсичным потоком называется системный прибыльный поток торговых приказов. Он исходит от тех самых, которые зарабатывают на несовершенстве ММ-алгоритмов. На практике 99% токсичного потока приходится на алготрейдеров.

Модели работы брокеров

Маркетмейкинг.
STP.
ECN/STP.

Все три модели являются абсолютно рыночными — это очень важно понимать, т.к. нет честного рынка или нечестного. Все едино и переплетено.
Первая отличается от двух других тем, что зарабатывает не на комиссии с оборота клиентов, а на их сливе. Разберем все на одном реальном примере (все данные публичные), имена упустим.

Некий брокер заявляет, что его оборот > $100 млрд/месяц, при этом заработок $80 с мио. Очевидно, что это маркетмейкер, т.к. даже самые неадекватные STP не зарабатывают больше $65 с мио, не говоря уже про столь высокий месячный оборот.
Выходит, что $80 с ляма — это скорость слива их клиентов. Это обозначает, что при среднем лоте 0.5 средний клиент совершает сделку с прибылью ~ -0.5 пункта EURUSD.
Если извернуться, то среднюю сделку в лот/пипс можно примерно посчитать по тикетам в MT4. Да, многие тикеты будут уходить на отмененные отложки и операции ввода/вывода, но это ни в какое сравнение не пойдет с количеством маркет-ордеров — любимцев кликеров.

Рассуждаем дальше, раз месячный оборот > 100 ярдов, то значит MoneyIn — MoneyOut > $8 мио. Т.е. брокер на сливе своих клиентов ежемесячно зарабатывает $8 мио.
Спрашивается, где возможно найти ежемесячно такое количество хомячков. Причем не забывайте, что MoneyOut в среднем примерно раза в два меньше (сам придумал) MoneyIn. Т.е. брокер ежемесячно привлекает порядка $16 мио новых живых денег.

Как он это делает?!
Средний хомячек несет где-то $200 (также сам придумал, ни от кого никогда не слышал). Значит даже по самым скромным подсчетам (MoneyOut = 0) нужно ежемесячно обирать 40 000 хомячков.
На самом деле хомячки на то так и называются, что сливают много много раз. И несут свои средние $200 по расписанию — с каждой ЗП, годами. Это плата за регулярное удовольствие ощущать себя кликером. Точно также, как тратят ежемесячно на кино, пиво и т.д.

Если среди хомячков вдруг попадается токсичный поток, то он быстро и легко выявляется, после чего настоятельно рекомендуется перейти в STP-тип, либо закрыть счет.
Такому брокеру на самом деле выгодны другие типы брокеров (STP и ECN/STP). Эти брокеры не являются маркетмейкеру конкурентами. Они даже делают огромное благо: производят явное разделение «ECN для профи» и «Стандарт для новичков». Т.к. это позволяет клиентскую базу на Стандарте избавить от токсика. Им даже выгодно, чтобы люди уходили к другим, т.к. токсика в итоге меньше. И можно больше зарабатывать с менее рискового в итоге ММ.

STP И ECN/STP могут испытывать серьезные проблемы при высокой доли токсика. Им нужные кликеры хотя бы для того, чтобы разбавлять токсик перед своими LP, которые почти всегда сводятся на крупных маркетмейкерах. А они действуют по образу и подобию мелких маркетмейкеров (как описал выше).
Дело в том, что на FOREX на данном этапе превалируют ММ-алгоритмы крупных владельцев — банков. Если вы зарабатываете на FOREX — то это почти всегда убыток этих банков, точнее их алгоритмических отделов, у которых миллионные бюджеты тратятся на то, в частности, чтобы вы не зарабатывали.
Получить прибыль от слива другого простого трейдера можно сейчас в своей основе лишь косвенно: трейдер сольет ММ-алгоритму, а вы вырвете этот профит у него себе. Грубо говоря, зарабатывать на FOREX — это грабить наворованное.

Но все это странно звучит только в том случае, если смотреть через розовые очки на многие происходящие в мире события. Уже давно рынок (фондовый или FOREX) стал легальным инструментов отъема денег у населения. Но не все так плохо.
Вернемся к нашему ММ-брокеру. Граальная ли у него схема? Не совсем. Дело в том, что ММ-брокер в состоянии зарабатывать даже много больше $80 с мио при очень волатильном и трендовом рынке. Но и уходить в приличные минуса на длительно-вялом рынке. Таковы вполне предсказуемые особенности торговли среднего хомячка. Т.е. ММ-модель брокериджа — это рисковая модель, но при этом могущая быть очень прибыльной при благоприятных рыночных условиях.

Чтобы ММ-брокер отказался от ММ-модели, ему нужно поверить в то, что STP-модель в состоянии давать на комиссии не сильно меньше. А это значит, что ему нужно увеличивать в разы обороты. Это практически нереально сделать на огромной базе кликеров, т.к. оборот делают алготрейдеры. А алготрейдеры пойдут только тогда, когда торговые условия будут одними из лучших. Ну а это в свою очередь может произойти при серьезнейших финансовых вливаниях в STP-инфраструктуру.
Более того, если имеется такое огромное стадо мяса в виде кликеров, то зачем отдавать их слив зажравшимся ММ-банкам, получая лишь только комиссию с их слива. Если можно забирать все полностью себе. В общем, такие несложные рассуждения позволяют понять, что ММ-брокер с огромной мясной-базой становится заложником самого себя.
Тут еще может доходить до смешного, если база обладает каким-нибудь национальным менталитетом. Например, количество русских хомячков уменьшается на порядок, если просить их заполнять чуть больше полей в анкете, как требуют того регуляторы. Это во многом заставляет ММ-брокеров уходить в оффшорные зоны.

Но опять же, не все так плохо…

Кванты

Квантами являются, как правило, образованные люди с аналитическим складом ума. К сожалению, по-жизни бывает так, что хорошего образования, владение точными науками и т.д. бывает недостаточно для успеха. Обычно, чем больше усилий на изучение чего-либо потрачено, тем большая значимость этому придается. Среди ученых огромное количество посредственных личностей, которые неплохо справляются с карьерными особенностями своей профессии. Это публикации в журналах, участие в саммитах, чтение лекций и т.д. Одной из околонаучных тем является всестороннее изучение околоторговой деятельности. Все делается так, как научили. Т.е. влоб применяется мат. аппарат, строятся ассоциации с физикой, создаются различные рыночные модели и т.д. Таких ученых называют квантами. Огромная часть из них — карьеристы. Но есть и исключения, как и в любом деле.

Коинтеграция

Можно наводить различную квантовую ересь, давая термину коинтеграции четкие математические определения. Но все это имеет мало отношения к практике трейдинга. По простому объяснить коинтеграцию возможно. Представьте, что у вас много торговых символов. Если существует возможность (количество каждого символа) купить/продать эти символы таким образом, чтобы прибыль колебалась возле какого-то не сильно изменяющегося значения, то такие символы коинтегрированы. Конечно, совсем по-детски, но суть передает на 90%. Такая комбинация символов называется коинтегрированным портфелем. Классический пример такого портфеля: актив и фьючерс на него.

Арбитраж

Любой портфель имеет Bid и Ask-цены. Более того, имеет свой Level2 (несложно вычисляется из Level2 символов, в него входящих). Если существует возможность по коинтегрированному портфелю совершить сделку так, чтобы после ее закрытия был положительный профит, то такая возможность называется арбитражем. Сам такой коинтегрированный портфель называется арбитражным портфелем (только что придумал).
Чем меньше торговые издержки (качество исполнения, комиссии), тем больше шансов у коинтегрированного портфеля стать арбитражным.

Маркап

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

Торгуем арбитраж

Допустим возникло желание заняться арбитражем. Для этого нужно, как минимум, создать коинтегрированный портфель. Самый простой коинтегрированный портфель состоит из двух одноименных символов: один у одного брокера, второй — у другого.
Возьмем, например, так популярный EURUSD и дадим символам для удобства соответствующие названия: EURUSD1 и EURUSD2. Важнейшее замечание, которое необходимо полностью осознать, что EURUSD1 и EURUSD2 — это совершенно разные символы. Они могли бы вообще подругому называться у брокеров, иметь сильно (на порядок, например) разные цены и другие отличия. Важно лишь только одно — они коинтегрированы. Но для простоты будем рассматривать элементарный случай: EURUSD1 и EURUSD2.
Перед тем, как сравнивать цены, делается алгоритмический маркап на них для того, чтобы внести в них все возможные торговые издержки (качество исполнения для каждого брокера и комиссии для каждого брокера). Будем далее считать, что все цены уже замаркаплены.
Итак, в каждом брокере у вас имеются торговые счета с определенными деньгами. Если очень примитивно смотреть на арбитраж, то требуется находить моменты Ask1 = Ask[1], то в T&S попадают все банды из Level2[1]_Ask, которые не выше Bid[0]. Аналогично для ситуации Ask[0] <= Bid[1]. В остальных случаях в моделируемый T&S ничего не попадает.
Данный алгоритм легко проверить на лин. связи с официально предоставляемыми биржами T&S-данными. Затем навести некоторые улучшениче через неравномерные по бандам распределения и т.д… Вообщем, тема копается всегда с грубой модели выше.

STP (желательно много ЛП)

Vector_Ask[0] = Level2[0]_Ask — Level2[1]_Ask. У этого вектора суммируются от лучшего (по цене) банда все отрицательные значения, пока не встретится первый неотрицательный банд. Это сумма заносится в T&S[0]. С Bid — аналогично.

ECN/STP

Здесь посложнее, т.к. надо объединить два почти противоречащих друг-другу метода для ECN и STP. Расписывать не буду.

Зачем T&S?

Применимость в ММ-алгоритмах уже описывал. Также, например, можно оценивать ценовые уровни скопления серьезных объемов и анализировать их влияние на отдаленные (секунды, минуты, часы) ценовые цели.
На FOREX для того, чтобы оценивать взаимосвязи между всеми символами, иногда резонно использовать Level2 не символов, а валютных пар (самим строить синтетический Level2).

Аллокация ордеров

Так называется правило (алгоритм) распределения заполнения (при исполнении) лимитных заявок, расположенных на одном и том же банде.
Например, на лучшем банде располагается сразу несколько заявок, суммарный объем которых больше, чем пришедший объем маркет-ордера от PriceTaker. Понятно, что PriceTaker получит полный объем исполнения по цене на лучшем банде. Встает вопрос, а как этот объем распределить между заявками, что находились на банде?
И тут у каждой системы возникает свое видение, как это делать правильно.

Pro-Rata

Это классическое правило аллокации, когда на момент исполнения все заявки имеют коэффициент исполнения, соответствующий той части объема, которую вносят заявки в общий объем банда.
Это значит, что не имеет значения, разбиваете ли вы свой лимитник на куски, в какой последовательности эти куски отправляете. Исполнение всегда будет одинаковым.

FIFO

Здесь главенствует время постановки лимитника. Лимитники заливаются по приоритету: пока раньше выставленные лимитники не будут залиты полностью, другие лимитники заливаться не будут.
При таком правиле аллокации PriceGivers пытаются выставить свои лимитники раньше остальных, чтобы увеличить вероятность их исполнения. Как следствие, это вызывает сужение спреда и уменьшение объемов на бандах, т.к. если кто-то выставил свою заявку на новый банд (уменьшил спред), то другому участнику нет желания присоединяться к этому банду, т.к. все равно он будет аутсайдером перед более пронырливым.
При выставлении заявки на новый банд, ее отправляют либо полным объемом, либо разбивают на куски по убывающей, выставляя их в этой же последовательности в очереди. Это позволяет, если необходимо, убрать часть объема своей заявки (по принципу стека), при этом не потеряв приоритет исполнения.

Volume (Weigth) FIFO

Термин сочинил на ходу. Приоритет идет не по времени выставления, а по объему заявки (или иному кастомному признаку — Weight).
Такая аллокация побуждает PriceGivers наполнять наилучшие банды максимальной ликвидностью. Для PriceTakers это одно из наилучших правил.

Weight Pro-Rata

Также термин сочинил. Это модификация Pro-Rata, где заявкам даются уже не одинаковые веса распределения, а в зависимости от признака Weight.
Например, может использоваться любое распределение (мат. термин) по времени выставления заявок: чем раньше выставил, тем выше вес. В частности, распространено использование мат. линейного распределения по времени (Time Pro-Rata).
Аналогично делается и по Volume и даже по более сложным признакам (например, Weigth = TimeLive * Volume).
При таком подходе применяются уже различные математически обоснованные методы оптимального выставления заявок — максимизация вероятности наибольшего по суммарному объему исполнения заявок от участника рынка. Т.е. находятся алгоритмы, как разбивать на куски заявку и в какой последовательности их отправлять на банд.

Что используют и зачем

Каждая площадка придумывает свои правила аллокации, либо использует уже кем-то наработанные. В зависимости от целей, что она преследует. Понятно, что основная цель — увеличение прибыли, т.е. увеличение оборота. И тут встает нетривиальный вопрос выбора алгоритма аллокации. Чтобы и PriceGivers мотивировать и активность PriceTakers не уменьшить. Тут все зависит от базы имеющейся клиентуры площадки и перспектив развития.
Чаще всего не заморачиваются и выбирают простые варианты: Pro-Rata и FIFO.
Единственный алгоритм, где не возникает коллизий с минимально допустимым объемом (лотом) — FIFO-варианты.

PriceTakers 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 уменьшался. Поэтому исользование такого легко вычисляемого алгоритмического инсайда видится разумным с точки зрения природы современного электронного фин. рынка.

Организация перехода биржи на новый движок

Каждая биржа работает на каком-то торговом движке. Допустим, владелец биржи осознал серьезное угрожающее (или тормозящее) бизнесу несовершенство текущего движка. Перед ним встает задача написать новый совершенный движок биржи.

Может так оказаться, что новый движок несовместим (такое бывает) со старым. Как перевести биржу на новый движок?

Проблема в том, что на старом движке находится вся текущая ликвидка. И если старый просто выключить и дать новый. То на новом ликвидки практически не будет (убийство биржи) — не могут все мгновенно перестроиться.

Поэтому делают ECN/STP-схему работы нового движка. Когда старый движок подключается по STP к новому в качестве единственного LP. А новый дает еще свою внутреннюю ECN.

Это позволяет торговать сразу через два движка.

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

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

Важно понимать, что биржевой движок (или движок любой другой торговой площадки) ничего не имеет общего с торговыми API. Т.е. никто, кроме самой биржи, не в состоянии как-либо влиять на работу этого внутреннего движка напрямую. Это можно делать только косвенно.

Для этого владелец движка пишет бриджи между своим внутренним движком и внешним торговым API. Чаще всего ограничиваются только одним таким реальным торговым API — FIX API (ПОЧТИ обязаловка — стандарт). Но бывают случаи, когда реальных торговых API несколько.

Торговые платформы со своими торговыми API — это не реальные торговые API площадки, а их обертка: иногда более высокоуровневая, иногда менее функциональная, но более простая в работе. Например, почти у всех торговых платформ имеющиеся торговые API на самом деле являются обертками. Поэтому торговля через них увеличивает торговые издержки за счет latency обертки.

Поглощение бирж

Торговых площадок очень много. На некоторых из них могут торговаться не только коинтегрированные ФИ, но и вообще одни и те же ФИ. Т.е. один и тот же ФИ торгуется на разных площадках.

Для того, чтобы поглотить эти площадки (перелить всю их ликвидку на свою площадку), нужно создать ECN/STP-агрегатор, где все площадки-жертвы выступают в качестве LP. Такой способ создает новую торговую площадку с более выгодными ценами — демпинг цен.

Благодаря также грамотному маркетингу продвижения новой площадки, на нее из-за демпинга переходят сначала алго-тейкеры, затем алго-гиверы, затем снова тейкеры и т.д. Переливая ликвидку, как снежный ком. С определенного момент процесс становится необратимым. И площадки-жертвы полностью поглощаются.

На примерах выше вы можете видеть основную историческую значимость ECN/STP-схем. Они служат целям централизации рынка, более эффективного ценообразования, увеличения ликвидности и улучшения цен.

Матчинг

Матчингом называется описанное ранее сведение двух разнонаправленных торговых заявок в рамках ECN. Заметьте, что STP-исполнение заявок не является матчингом.

Классификатор матчинга

В любой ECN (бирже) есть возможножность статистической классификации проведенного матчинга на группы участников рынка, внутри которых происходит наибольший оборот матчинга. Например, если два участника рынка, благодаря матчингу, переливают друг-другу деньги через взаимный матчинг, то подобный классификатор выделит их в отдельную группу.

Самоидентификация

Любой ECN стратегически выгодно, чтобы у нее было как можно больше брокеров (независимых баз данных клиентов). Это нужно для уменьшения вероятности создания себе гипотетического конкурента.

Конкурент рождается чаще всего через самоидентификацию брокеров, которая происходит следующим образом. Относительно крупные брокеры проводят классификацию матчинга своих баз данных клиентов. Если удается выявить крупнооборотистые группы таких клиентов внутри своих баз данных, то возникает очевидная мысль: зачем эти клиенты должны платить ECN за матчинг между собой, когда он происходит все равно между клиентами брокера? Конечно же, это прагматический вопрос.

Dark-pool

Ответом на него служит создание своего ECN/STP-движка, где ECN служит для матчинга внутриброкерских клиентов, а STP — для исполнения на внешней ECN (во избежании путаницы дальше по тексту будем называть внешнюю ECN биржей (чаще всего так оно и есть)). Данное решение дает несколько плюсов (и минусов), как для брокера, так и для его клиентов.

Брокер уже имеет свою торговую площадку, которая по отношению к бирже имеет свое название — dark-pool. Соответственно, комиссия от матчинга своих клиентов идет теперь к владельцу этой площадки, а не к владельцу биржи.

Клиенты брокера получают иногда более качественное исполнение (чем на бирже), если оно происходит внутри ECN, т.к. latency (технические/вычислительные временные задержки) биржи для клиентов брокера всегда выше, чем latency клиентской базы данных клиентов брокера.

Но есть и неоднозначные для клиентов моменты. Если проводится STP-транзакция, то гарантированного исполнения клиентов уже не выходит. Т.е. FillRate (качество исполнения) 90% из которых являются плановыми — экономические новости по расписанию.

При поиске рыночных закономерностей разумно выбрасывать из анализа подобные периоды провалов N(t), как плановые, так и форс-мажорные. Выбрасывают еще и периоды явных отсутствий искомых закономерностей — специальный автоматизированный фильтр.

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

Поэтому во время торговли найденной рыночной закономерности прекращается какая-либо торговая деятельность перед выходом запланированной новости и некоторое время после.

(C) Источник
Не является индивидуальной инвестиционной рекомендацией
При копировании ссылка обязательна Нашли ошибку: выделить и нажать Ctrl+Enter