Блог им. karat39

Эволюция протоколов МосБиржи

Привет, Смартлаб.

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

Так сложилось, что в эту тематику я стал активно вхож примерно в 2016, так что, что происходило до этого, я могу лишь восстановить по каким то рассказам на каких то посиделках или конфах ) Поэтому могут быть какие то неточности в моем повествовании.

Архитектурно, у нас так сложилось на бирже, что можно выделить ядро срочки и ядро практически всего остального. Оно и понятно, сначала развивалась фонда и валюта, а уж потом срочка. Поэтому, по сей день, надо разделять: доступ на фонду/валюту и доступ на срочку. Даже практически десятилетие у этих рынков были разные часы. Представляете? Что это значит? Это когда вы одновременно клик в клик покупаете валюту и на другом терминале фьюч, а время сделок у них будет разницой в секунду, потому что часы в ядрах разные. Утак вот. Утрирую конечно, что разница в секунду, но все же. Биржа кстати часто обещалась сделать синхронизацию часов по ptp протоколу и все годами сидели и ждали. Ну или другой пример: вы на просторах СЛ часто слышали про SPAN западный, технологии которого наши применили в риск модуле срочного рынка.

Судя по всему, когда биржа начала активно развиваться как IT, за ее основу были взяты какие то готовые наработки других бирж. Это как сейчас в нашем нишево пустеющем бурно развивающем IT в стране: мы не идем по пути создании своего с нуля, а приобретаем компетенции, покупаю готовые лицензии фундамента технологий. Так появился протокол FIX, на движок которого (видимо купив его) биржа любила ссылаться наравне, как ссылается и западные биржи. Так мы получили неповоротливого мастодонта FIX. 

FIX отвечал на тот момент скорее всего всем запросам. Крайне простой для понимания протокол, в котором прям текстом передавалась вся инфа. Ну как бы вы по факсу переслали письмо с текстом: «инструмент=usdrub; цена=60; сайз=10; операция=купить». Протокол чисто транзакционный, то есть по нему можно посылать только заявки. Вот прям так пишите словами и отправляете )

На равне с фиксом, принято упоминать протокол FAST. Хрен его знает зачем. Якобы это одно и тоже. Ну фиг знает, им наверное виднее ). Во первых FAST — протокол раздачи биржевой инфы. Ну там котиры, заявки ваши обезличенные, трейды и тд ) Во вторых fix и fast похожи только чисто идеологически.  Но его реализация шфирования/дешифрования (грубо говоря парсинг протокола), совершенно иной и уже сложнее. Когда еще на сайте биржи был свой форум, ветка по фасту была самой популярной с вопросами.

Время шло, начали съезжаться не плохие алго игроки, пошло пользование протоколом и тут появилась потребность в создании некого шлюза — программная приблуда, которая отвяжет вас полностью от терминала. Через этот шлюз можно теперь получать всю инфу, которая требуется для алго: ваши лимиты, ваши счета, ваши заявки, ваши трейды и тд… и назвали его ASTS BRIDGE. Простая софтина, которая запускается у вас на сервере/машине, вы из робота подключаетесь к ней и получаете всю инфу. А она в свою очередь сама общается с биржей. Короче прокладка.

Упомяну, что тут я больше сейчас про валютку и фонду и срочку еще не затронул.  

Рынок развивался, росла конкуренция. С конкуренцией растут скорости. Ну знаете ли, каждый хочет обогнать соседа и съесть пирог по вкуснее. Вообще это самое ключевое в эволюции протокол и биржи и в дальнейшем я вам это покажу.

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

Биржа все эти тонкости прекрасно понимала спустя время и осознавала и скорее всего и из за этого и чисто по маркетингу, искусственно замедлила шлюзы и в приоритет вывела по скорости сами протоколы. И это правильно. Теперь нам надо покупать и шлюз (чтобы получать инфу с терминала) и FIX и FAST. Чтобы быть на коне быстрее всех. Утаквот. Чисто бизнес, ничего личного.

Срочка развивалась своим чередом и там тоже появился свой софтовый шлюз. И естесно вы все про него слышали и стали называть его Plaza, хотя сам шлюз называется cgate если что. И ребята даже зашифровали там траффик, учитывая ошибки фонды и валютки. Но вот незадача, применили один из известных протоколов шифрования, который быстро вычислялся и начал так же юзаться в обход шлюза. Кулибины стали умнее. Конкуренция же растет. И прознав про алгоритм шифрования, стали создавать втихоря свои шлюзы, подменяя биржевой cgate. Тем самым получив прирост скорости, что неимоверно клало конкурентов на лопатки ). Увы, кулибины тоже люди ) И тоже делают баги. Помните как в те годы часто зависала биржа? Говорят это все проказники на cgate со своими багами.
Поэтому на срочке, биржа поступила точно так же, а именно замедлила cgate и в приоритет стала выдвигать протоколы.

Как я уже написал выше, FIX неповоротливый слон. Чтобы собрать сообщение на C# уходило порядка 5микросек. На c++ порядка двух микросек. Мега долго. Да, можно было потвикать свои алго и в памяти постоянно держать уже собранные сообщения на готове, но все же… А тут еще FAST со своей долгой дешифровкой. Да. Алго научились долбить оперативку и кеш CPU и выцеплять нужный котир из нее, когда еще не весь пакет зашел с кабеля… Но время уже начало диктовать свои условия...

И я хочу это подчеркнуть в первый раз, что именно время стало диктовать свои условия. У алготрейдеров появился запрос к бирже и она начала его реализовывать. И так родился протокол TWIME. Бинарный, легкий, быстрый. (помните лозунг Сочи? Жаркие. Зимние. Твои). Сообщения по твайму уже были бинарны. То есть нельзя уже было просто послать текст, теперь нужно посылать в сеть двоичные данные по определенным правилам. За счет бинарности резко уменьшились размеры сообщений. Видать ДЦ биржи вздохнул, траффик стал меньше, а самое главное, само ядро стало тратить гораздо меньше времени на обработку сообщения. Сейчас это время, от сервера до постановки в стакан каких то 80-100микросек. При этом 25 микросек — это чистый матчинг заявки в ядре. Так стали отмирать FIX на срочке.

К слову сказать, именно бинарность стала позволять внедрять участникам рынка новые железяки на бирже. Так у нас стали появляться плисоводы (от слова плис). Что это и кто это? ) Грубо говоря, участники рынка стали ставить в ДЦ железяки, которые можно запрограммировать и которые сами уже начнут торговать, как только в них вставишь сетевой кабель. Ни CPU и сервер ваш торгует. А запрограммированная железяка. Запомните этот абзац, мы к нему вернемся ) Если вы вообще дочитали до него )

Твайм развивался. Абсолютно точно так же стали находиться все его баги и тонкости. И примерно в течении года многим или некоторым стало очевидно понятно, что TWIME не дает преимущества перед другими участниками с TWIME. Ха-ха. Прикиньте, мы тратим миллионы рублей на супер технологичную реализацию, а потом оказывается, что если моя заявка самая первая прилетает на биржу за вкусным пирогом, то это не значит, что пирог достанется мне. Вот это был облом… И доподлинно не известно: это такой маркетинговый ход или это студенческая неопытность разрабов биржи?.. Почему маркетиногвый ход? Потому что участникам рынка пришлось покупать много параллельных доступов на биржу, чтобы как в рулетке, склонить вероятность попадания твоей заявки в пирог в вашу сторону.

Как я уже сказал. Все развивается и не стоит на месте и появился новый запрос. И биржа его начала реализовывать. Что они сделали? Пришли и сказали: «парни, мы все понимаем это. И готовы сделать так, что вы гонялись в честно борьбе и если ваша заявка будет первой, то конфеты ваши». И они сделали. Но только на валютном рынке и стоимостью абонентки в мес до 100тыщ рублей ). И назвали это дело FIX FIFO (типа First Input First Output). Фикс скажете вы? Вота фак? Ну вот так парни.

Все развивается и не стоит на месте. Биржа обрастает плисоводами. И тут важно знать один нюанс. Возможности их железяк не безграничны. Будем считать так, что если обучить железяку понимать FAST, FIX, TWIME и общаться самой с биржей — это уже 60% ресурса железяки.  И тут дальше пойдум мои домыслы, но я уверен, пошло некое лоббирование определенными участниками рынка. Они стали рождать спрос и лоббировать свои интересы и выступать за резкое упрощение протоколов. Поэтому, когда вы пишите, что биржа мол #ибилы, нафига это все делает? Не все так просто парни. Делает, значит надо. Или кому то надо ) Или удовлетворяет за дикие деньги спрос. Так у нас родились по всем секторам рынка современные протоколы, а именно: FAST теперь в прошлом по скорости и его заменила да-дам SIMBA. FIX теперь в прошлом по скорости и его заменил да-дам TWIME ASTS.

Да-да. Валютный рынок перешел теперь полностью на бинарные протоколы. И SIMBA и TWIME ASTS являются полностью бинарны, очень просты в расшифровке и тд… при этом тонкости SIMBA построены так, что полностью ориентированы для плисоводов. Тонкости рассказывать не буду, один фиг чисто технические нюансы.

Так парни и живем. Развиваемся и офигиваем от новых реальностей с их ценами на все это дело добро.

У меня все, простыню окончил.
★25
62 комментария
эти протоколы дают какое то преимущество игрокам , или только работу тем кто их внедряет на москухню? купил ты на тысячную долю секунды быстрее чем весь остальной рынок и цена час стоит и смотрит на тебя с монитора какой ты счастливый что купил на чуть чуть быстрее в этом суть всех этих шлюзов или ещё есть какой-то подтаеный смысл?
Главком Главком, преимущество в скорости получении биржевой информации и подачи заявок. Я в принципе об этом написал )
avatar
Андрей К, как бы да — но вот прям сейчас на практике и секунды достаточно (как правило) на спокойном рынке срочки
ну а в опционах можно с утра ставить заявку и то не факт что исполниться…
avatar
Sergio Fedosoni, ну понятно, что процентов так для 60-70% супер скоростных страт теперь все технологии можно выкинуть с вложенными средствами ) Временно конечно, года через 3-4 опять придется доставать.

Но пока на самых вкусных пирогах все равно скорости сидят.
avatar
Андрей К, было бы интересно, если бы вы описали конкретную рабочую стратегию (рабочую хотя бы в прошлом), которая требовательна к высокой скорости получения маркетдаты/отправки заявок.
avatar
Gypsy, подумаю, как сгладить края
avatar
Андрей К, помню Секрет в комментариях приводил расклад одной из своей страты, там очень просто было mx против ри-си. 
avatar
Gypsy, естесно. Чем выше технологии, тем проще страты и наоборот. mx против ri-si сейчас кстати можно трейдить без всяких технологий, но лучше поджидать периоды волатильности
avatar
Андрей К, да я эту «пару» трейдю с того момента как mx только появился, но я торгую с перекрытием полным. Первый месяц у меня было такое ощущение, что кроме меня и еще пару человек там никого нет)) Но Секрет я так понял торговал ри, смотря на си и мх, без вторых ног. Что-то в этом роде.
avatar
Gypsy, торговать корзину одной ногой — это тоже подход ) Говорят, так или иначе, торговцы корзинами к этому подходу приходят, оно в принципе и понятно
avatar
Gypsy, так это же известно, и понятно. Классический арбитраж, фьюч-акция, сишка-бакс,  ришка против корзины, и тд и тп. Скорость она всегда про арбитраж, чтобы успеть сожрать. И про маркетмейкинг, чтобы тебя не успели сожрать.
Но как только у вас умные алгоритмы, так сразу скорость становится вторичной.
Андрей К, поскольку инорезы к нам не вернутся, не придется
avatar
monko, думаю это все временно ) Нельзя оставлять такую котлету без присмотра. Инорезы не придут, начнут подтягиваться наши алго, подтягивая к этому бизнесу инвесторов
avatar
Андрей К, дак нет, речь идет о «мясе» так называемом. Чтобы зарабатывать, нужно чтобы оно было на рынке.
avatar
жизненно

аффтар пеши есчо
avatar
Ho_Chu, жизненно не то слово ) пережито и пропущено через самое сердце )
avatar
Проблема у биржи традиционная. Они не способны сделать хорошую газонокосилку, но им это не очень интересно, ведь на самом деле они строят свой Ферарри. 
Может быть сначала надо научится клиринги считать правильно, комиссию нормализовать, маркет мейкеров напрячь, выкинуть мудовые инструменты и развивать нормальные, а потом уже факс-фист и вся фигня?
Дмитрий Овчинников, возможно лобби не так просты, как мы думаем ) особенно если держало дикий процент ликвидности на рынке. Но это все домыслы 
avatar
Андрей К, 
у нас с тобой диаметрально противоположный интерес к мосбирже и, соответственно, взгляд на все происходящее. 
я далек от быстрых протоколов, но мне не понятно, чего можно считать 20 минут клиринга и при этом насчитать фигню.
Дмитрий Овчинников, а хрен его знает. Но вроде как бесшовный клиринг был готов уже. И перешли от стадий теста к внедрению. И тут бац, СВО. И такие штуки на такой волатильности видать внедрять рисково.

Слушай, когда я собеседовался на позицию  у биржи было полно вакансий по этой тематике, там было все очень на супер старых решениях и технологий. Это правда был 2014 год, но по таким масштабам это не далекий срок ) Вот как раз лет 6 переделывали
avatar
Андрей К, 
вопрос же не в технологиях, а в приоритетах. бирже не интересно заниматься построением нормального бизнеса, вот и все. а зачем? конкурентов нет и не предвидится.
зато купить вагон «компрессии» и засунуть ее в движок это понятная модель для управляющих.
Eugene Logunov, ага, видел эту реализацию в форекс агрегаторах. Ну и часто в мануалах читал. В той же мос бирже пишут, мол дешифруй FAST и получишь чистый fix. Это они любители копипастить и переводить чужой материял. К слову сказать, их доки — это вообще легенды ). Вполне официально можно получить ответ на свой запрос, что в мануале описан протокол неверно, точную специфику нужно смотреть в файле txt на ftp moex ) 
avatar
А разве есть там столько денег чтобы даже плис прикручивать?
avatar
Karbyshev, всегда были ) щас конечно рынок сжался и все стало по другому.
avatar
Биржа и за шлюзы стала драть и комиссы подняла. 2/3 забирает из заработанного
avatar
Karbyshev, им наверное обидно стало, что обычно они забирали 25-40% профита, а после 02.2022 их доля в профите стала 1-2% и решили нагнать этот недоразумение ) 
больше конечно шутка. От горькой правды
avatar
Огромное спасибо! Отличную тему подняли и хорошо раскрыли!
avatar
Сколько примерно участников используют сейчас ПЛИС на нашей срочке, можно как-то оценить?
avatar
Schurik, хрен его знает ) доподлинно не известно.
Оценка простая — берем супер триггер, смотрим в ленту и считаем сколько там заматчилось заявок. Оценочно не больше пяти бьются за супер триггер.

Но есть и другие участники, которые тоже юзают плис в своих других целях и их кол-во оценить не могу.
avatar
Андрей К, и вроде эту поляну триггеров очень сильно уменьшают
https://www.moex.com/msn/ru-derivatives-premarket-session

А CME/Nyse/Nasdaq не смотрел?
Там ликвидности больше.

  Или более совершенный рынок?
John_Travel, многие говорят, мол там все круче и суваться не стоит. Но наша биржа очень прям технологична и вырастила своих отличных кулибиных уже прям в серьезной конкуренции.

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

История знает примеры, когда наши кулибины гремели на чужих биржах достаточно громко )
avatar
Андрей К, помнишь Фишерман раньше появлялся публично?
Сейчас пропал куда-то.
SEKRET был очень крут на отечественной бирже. Тоже не появляется 
John_Travel, я про это иногда пописываю ) нужно процентов 30 заработанных денег вкладывать дальше в свое развитие. Мало кто так делает, поэтому и такой результат
avatar
А вот интересно, все эти проделки с реверс-инжинирингом шлюза в итоге окупились? Ведь на это по-любому ушло много времени, плюс время на повторный реверс в случае обновлений, поддержку. И можно было бы, например, его потратить на разработку коннекторов к другим биржам.
avatar
beast, по опыту, если в чем то идешь до конца, то потом результат окупает потраченные усилия за 3-4 мес )
avatar
как пипсовщик понимаю серьёзность темы, а как программист — всё печально
avatar

Хорошо, как было и что стало мы поняли. А вот что дальше? Есть хоть какая-нибудь инфа о чём думают разрабы на бирже и чего от них ждать в перспективе? Может думают про MarketByOrder, как на америке? Или время сессий увеличить? Или ещё чего? Ну или ничего не думают, а ждут у моря погоды ликвидности.

PS А вообще спасибо, очень интересно.

avatar
Sprite, можно подписаться на рассылку для разрабов. Там бывают мини анонсы или релизы тестового контура, по которым понятно, что будет в течении года. В целом думаю масштабные изменения в доступе закончены. Дорого это все делать и самое главное, теперь пока не для кого все это создавать )

Теперь будут поддерживать то, что на создавали, периодически исправляя баги и нюансы
avatar

Отличный пост!

Сколько старый протокол Plaza2 через родной роутер проигрывает TWIME / самому быстрому протоколу в постановке ордера на биржу?

avatar
yurikon, не помню уже, сильно устаревшая не нужная инфа. Хочется сказать, что микросек 200, но это все не точно
avatar
Архитектурно, у нас так сложилось на бирже, что можно выделить ядро срочки и ядро практически всего остального. Оно и понятно, сначала развивалась фонда и валюта, а уж потом срочка. 

Причина в другом. Мосбиржа (тогда еще ММВБ) купила РТС в 2012-м.  На самой ММВБ основными секциями были фондовая и валютная, а срочка — неликвидна, а на РТС как раз основной секцией был FORTS (срочка). Поэтому и отказались от того, что было «мертво».

А сама срочка на ММВБ до слияния работала на том же ядре, что и фондовая секция.
avatar
А. Г., понятно, спасибо за уточнение
avatar
Помню, ммвб долго допиливала свои фьючи. И можно сказать, только допилили, как слились с РТС. Процесс еще продолжался примерно год, но потом за основу взяли ядро ртс плазу и тд
Redline, шутку юмора оценил ) но вроде норм работает
avatar
Импортозамещение наконец-то добралось до ММВБ
Но как была Мамбой, так ею и остаётся
avatar
Интересно, какие ежемесячные затраты получаются у «среднего» алготрейдера в месяц на все эти протоколы, подключения, железо и какой профит в итоге получается.
Ну просто порядок цифр, чисто для более полной ясности.
avatar
Vkt, все очень уникально для каждого участника. Насколько крута команда и распустила свои руки по всему рынку.

Думаю не ошибусь, если сделаю такую градацию от степени крутости:
тысяч 200
тысяч 500
млн 1.2-2

на меня могут наброситься и сказать, что можно и 50-100тыщ. Но это уже немного не тот уровень.
avatar
Андрей К, понятно, ну а профит какой примерно, ± километр, возможен при таких затратах?
avatar
Vkt, если окупил косты и чуть чуть на еду в текущих реалиях, то уже хорошо )
не могу про профиты говорить, я их просто не знаю, как народ торгует )
avatar
Андрей К, получается борьба с нулем что ли? А смысл, биржу кормить?

avatar
Vkt, в целом наверное так и есть ) иногда теперь крупняк заходит, накормит всех и уходит. Смысл в этом простой. Люди «жизнь положили» на это дело. И просто так свернуться и уйти, тоже сложно. Как показывает история, всегда можно подстроиться со временем
avatar
Андрей К, спасибо, в общих чертах понятно. Хорошо если  хоть иногда крупняк кормит, а то  прям грустно как-то, особенно про «жизнь положили».
avatar
Vkt, ну бывают же жирные годы. Вот в пример любят ставить SECRET. Для него тогда, как и для всех, был жирный год, который кормит последующие два ) Вообщем это обычный бизнес, как в реале, бывает черное, бывает белое, в целом надо уметь балансировать, уметь принимать кризисные решения, уметь обязательно развиваться и вкладывать в развитие. И тогда есть риск, что застрянешь тут на более чем 10 лет ) как то так

upd. При этом надо стремиться, чтобы твой доход был минимум на уровне качественного айтишника по году. Иначе зачем все это…
avatar
Андрей К, бывает такое, что кто-то  все же выходит  из этого  бизнеса из-за падения рентабельности или народ так или иначе приспасабливается?
avatar
Vkt, уходят много. Все как в реальном бизнесе. Бывает крупные съедают мелких ) Ведь конкуренция же. Кто то уходит, пытается приспособиться на других рынках (типа крипты). Но так или иначе, я думаю, это все следствия не правильного развития: где то не дорос, где то кадры не нашел, где то не доинвестировал, где то перебрал лишнего и тд.
avatar
Андрей К, спасибо, очень ценная информация!

avatar
Redline, мне понравилось, как написал однажды Евгений Логунов. В трейдинг (не помню, наемный или нет) идут ради бонусов. И только.

Если смог достичь нужных высот, то да, уже включается, как вы сказали «классный PR», бонусы могут быть очень жирные. Ха-ха, как сказал один начинающий трейдер — сидишь смотришь, а перед тобой квартиры с автомобилями летают.

Легче пойти программистом на Kotlin/Scala/Java
возможно. Каждому своя специфика ближе. Кому то нравится сражаться с рынком, кому то нравится сражаться против коллег, это тоже достаточно интересно, не все меряется деньгами в этой сфере.
avatar

Белки в колесе, блин. Друг на друга наступаете, отталкиваетесь, а результат всё равно один, что фикс, что фаст, что симба-пумба.

P.S. От снуффинга немного прифигел 

avatar

теги блога Андрей К

....все тэги



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