Блог им. DED_MEDOED

Цена простоя. Куда побежали все брокеры после 24 февраля?

Всем привет!

Меня зовут Денис и это мой первый пост. Хочу поделиться с вами альтернативной версией событий 24 февраля. А также, я попытаюсь описать возможные причины, которые приблизили нас к инвест-фаталити. У моего поста есть определенная задача – зафиксировать состояние и сфокусироваться на решении одной маленькой, но очень важной проблемы. Сделать это нужно было еще в марте, пока рынок истекал кровью и котлеты отправлялись в рай. Но одновременные страдания одних слоев общества и невероятная эйфория других не позволяла этого сделать, по общечеловеческим причинам. Свой рассказ я буду вести в повествовательном стиле, на стыке технологий и бизнес-аналитики. Заваривайте напитки, мы погружаемся!


Цена простоя. Куда побежали все брокеры после 24 февраля?


Предисловие.

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

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

— сколько стоят меры по обеспечению стабильности работы торговых систем?

— сколько рынок потеряет денег за секунду простоя?

Почему «рынок», а не «я», спросят проф. участники. Это очень простой вопрос. Считая собственные убытки «в моменте», вы совершенно не думаете о среднесрочных и долгосрочных последствиях, которые будут обусловлены поведением рынка. Если Вы бездействуете – рынок, в лице частных инвесторов, будет предпринимать самостоятельные решения. Сильно лучше от этого никому не станет.

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

Цена простоя. Куда побежали все брокеры после 24 февраля?


Часть 1. Титан.

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

И вместе с этим, у каждой продвинутой системы, с непрерывным процессом разработки и регулярными релизами, есть свои скелеты в шкафу. И имя одному из скелетов — качество. Думаю, все замечают разницу между S-классом родом из 90х и W223. Наличие продвинутых систем с элементами электроники и наличием процессора вынуждает нас ехать в сервис. Про ремонт «с пацанами» на гараже можно забыть. На рынке каждый знает, что активный рост котировок ведет к неизбежному откату в район среднего значения т.к. финансовые показатели предприятия не могут оправдать повышенную активность. Тоже самое происходит с информационной системой на определенных этапах жизненного цикла. Непрерывное развитие функциональной составляющей делают торговые системы сложнее. Если вы не обеспечиваете разработчиков зрелыми процессами тестирования – вы создаете необеспеченный рост, который со временем окажет губительный эффект. Абсолютно невозможно обеспечить скорость разработки, многофункциональность и стабильность в равных пропорциях в силу ограниченности ресурсов. Это и не нужно. Дело в том, что тестирование торговых систем отстало примерно на 10 лет и не соответствует реальным требованиям.


Цена простоя. Куда побежали все брокеры после 24 февраля?


Этот дисбаланс очень редко является поводом для дискуссий (разве что в феврале, Ыыы!?), ведь основная цель любого бизнеса в начале пути — сделать клиентский опыт комфортным, максимально коротким и ооочень эффективным. Иными словами, задача биржи и брокера — сделать все, чтобы вы комфортно начали торговать. Много, часто, круглосуточно. И это правильная позиция. Отсюда следует, что основными направлениями тестирования являются функциональное (ручное) и автоматизированное. Аудит производительности — это одно из самых узких направлений в IT, которое отнимает гигантское количество ресурсов и является финальным штрихом. Прекрасным бантиком на нашей торговой системе. 

Основное заблуждение заключается в том, что откладывая вопрос производительности в долгий ящик мы начинаем заниматься самообманом. Эта общечеловеческая ошибка заставляет нас думать «авось, пронесет» или «че я, лох, тратить кучу денег на создание аналогичной системы/инфраструктуры для тестов?». В конечном счете, мы опускаемся до мысли что у нас не интернет-магазин с самокатами, чтобы заниматься вопросами производительности и пусть вообще платит брокер/клиент за такое удовольствие. 

И это в корне неправильный подход. Даже если биржа уверена в том, что своя система выдержит, нельзя так просто взять и гарантировать аналогичный сценарий на стороне брокера. Ведь вы являетесь двумя винтиками в одной системе. Отказ систем брокера — это, отчасти, упущение биржи. Тут как в вальсе, есть ведомая сторона и ведущая. Слово «партнер» будет неуместно. Почему, спросите вы? Пока биржа не создаст условия, в которых будет реальная возможность для проведения технических работ для подготовки и реализации серии тестов для каждого(!) брокера в индивидуальном порядке – брокеры не смогут провести аудит. А даже если такие условия будут созданы, то не факт что у каждого проф. участника найдется экспертиза. Не стоит забывать, что есть еще третья сторона — мы с вами. Обычные люди. К последним вернемся, как и полагается — никогда)) 

Также очень забавно будет выглядеть ситуация, если вы спросите тим-лида по разработке торговых систем «какова цена простоя?» он вам не сможет ответить на этот вопрос. Потому что, кроме вас, ему такое никто не задает. И если честно, ему вообще плевать, ведь количество задач на одного человека позволяет разве что не сойти с ума от работы… А для бизнеса с короткой памятью (не умеем в долгосрочное планирование, поэтому дольше 3 секунд не фокусируемся) простой 3 часа — это «не может такого быть, у нас точно!» ©.

Цена простоя. Куда побежали все брокеры после 24 февраля?

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

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


Часть 2. Франкенштейн.

Возможно я задел за живое, названием главы, разработчиков Transaq, QUIK, множества web-клиентов и пр. Ребята, если вы выжили в фервале — простите. Мне очень жаль, но большинство из вас занимается разработкой в отрыве от процессов, которые связаны с обеспечением качества. И уж тем более, вы не имеете ни малейшего представления о производительности своих систем до тех пор, пока не упадет сервер. Прогнозирование таких ситуаций является невозможным и несет в себе множество рисков, контролируемых или нет (зависит от вашей роли в системе).

Краткая справка о принципе взаимодействия брокера и биржи для смартлабовцев:

1. Терминал брокера подключается к системам биржи по протоколам ASTS и FIX. 
2. После установки соединения происходит обмен информацией, включая котировки, заявки на покупку/продажу активов, данные для ДЕПО/клиринга и т.д. Вы видите активность в ЛК благодаря обмену маркет датой между всеми участниками рынка.
3. Обмен данными напрямую связан с работой ядра биржевой системы.

Цена простоя. Куда побежали все брокеры после 24 февраля?


Что еще нужно знать?

1. Инфраструктура торговых систем биржи огромная и уникальная. В текущих реалиях практически невозможно собрать идентичную конфигурацию.
2. Брокер не может знать порог производительности своей системы, если не прогоняет нагрузочные тесты в боевой среде (где все мы торгуем каждый день)
3. Текущая тестовая конфигурация биржи не насыщенна данными с рынка и не может предоставить удовлетворительные условия для тестирования. Более того, доступность тестовой среды ограничена по времени (1-2 окна в год).
4. Содержание такой среды требует наличия огромной команды с узкой специализацией на максимально возможных ставках (обычные инженеры по нагрузке стоят как топовые разрабы).

5. Создание инцидентов для проведения нагрузочных тестов в боевой среде влечет за собой непоправимые последствия, которые не поддаются оценке и хотя бы примерному подсчету нанесенного ущерба всем игрокам.
6. Создание тестовой среды может быть реализовано только усилиями всех участников торгов (от биржи до конечного клиента).


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

Цена простоя. Куда побежали все брокеры после 24 февраля?


Бездействие конечных клиентов и смиренное терпение равносильно безразличию по отношению к ситуации со стороны брокера и биржи.

Часть 3. Разговор Бога и Моисея.

«Сказал же Моисей Господу: «Кто же я, Господи, что ты хочешь, чтобы я вывел твой народ?»

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

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

1. Основная цель тестовой среды – аудит производительности торговых систем брокеров, выявление и ликвидация узких мест с использованием принципа shift left testing. Построение центра компетенций, который готов оказать квалифицированную поддержку всем проф. участникам рынка.

2. Тестовая среда может существовать только как обсуживаемый сервис с наличием оператора и оперативным поднятием команды по запросу с целью сокращения издержек на содержание штата.
3. Наличие рыночной информации в тестовом контуре для реализации jitter|latency, которая будет поставляться с промышленного стенда ИЛИ эмуляция такой информации с помощью ИИ. Простыми словами – наша с вами активность без привязки к брокеру – это очень и очень сложный бизнес процесс, который руками воссоздать просто нереально (с учетом особенностей в функционировании протоколов и торговых систем).
3. Оператор берет на себя обязательства по созданию графика проведения подготовки и тестирования в рамках взаимодействия с брокерами.

4. Тестовая среда должна быть экономически обоснована. Я думаю, в этом никаких сомнений нет, просто обоснование сейчас ведется с точки зрения одной стороны, и никто не думает о потребностях другой. Есть к чему стремиться, товарищи брокеры (!).

Цена простоя. Куда побежали все брокеры после 24 февраля?
 

Часть 4. Адвокат дьявола.

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

Не пытайтесь в одиночку построить «Вавилон». Нужно прекратить эти сольные конвульсии и перейти к консолидации знаний и финансов. Делать тестовую среду нужно совместными усилиями и никак иначе. Как бы странно это не звучало, но только сейчас происходит невероятное стечение обстоятельств, при которых множество сторон задали себе одинаковый вопрос «Может скинемся?». Невероятно, но факт!

Цена простоя. Куда побежали все брокеры после 24 февраля?

Что это значит для нас с вами? Все очень просто — отсутствие двадцать четвертых, мать его, февралей. Просто потому что все стороны будут знать свои пределы. Уважаемые брокеры могут спросить: «А на фиг нам это надо?». Отвечу. В первую очередь, у вас появится такой инструмент, которому вы сможете найти практическое применение. Не пытаться прыгнуть в окно. А забронировать место в производственном календаре и быть уверенными в том, что работа пройдет и результат будет удовлетворительным. Далее. Знание пределов порождает процедуры, которые противодействуют отказам и прогнозируют риски. Превентивная аналитика, которая вовремя (!) подаст сигнал на ребалансировку нагрузки и поможет вовремя увеличить ресурсы. Это сделает облачные сервисы умнее, себестоимость владения инфраструктурой и системами дешевле. И не позволит клиентам потерять кучу денег, в конце концов.

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


Я прошу вас, друзья, задуматься на секунду. В этой ситуации можно пойти по классическому сценарию «да это они во всем виноваты!». Есть опасения, что рынок снова отложит вопрос аудита в долгий ящик. По разным причинам, от нехватки «железа», до снижения активности на рынке и падения доходов. Отговорка «сейчас такой нагрузки уже не будет» становится все актуальней. Но мы ведь знаем, к чему приведет этот путь. Правда же? 

Цена простоя. Куда побежали все брокеры после 24 февраля?


25 июня я приеду на конференцию. Очень надеюсь, что господа брокеры и представители биржи подготовят ответы.  А еще лучше, составят список встречных вопросов, который мы сможем коллективно проработать. До встречи J

 

P.S. Если вам хоть на секунду показалось, что это заказная статья – я прошу прощения. Тут не фигурируют названия компаний. Единственная цель у этого материала – поднять и без того острый вопрос и организовать дискуссию. Данный материал я показал своему хорошему знакомому, Олегу Кузьмичеву. Оценка «в целом хорошо» определила судьбу этой публикации. Надеюсь, было полезно!

    ★5
    27 комментариев
    Не читал, но одобряю.
    Про что текст, расскажите.
    avatar
    SergeiL, если очень коротко — разбор работы торговых систем и описание причин, по которым мы не могли торговать первую половину дня 24 февраля.
    avatar
    DED_MEDOED, потому что никого за это не наказали?
    avatar
    DED_MEDOED, кто не мог торговать? У меня оба брокера работало.
    Мне слишком дорога моя жизнь, чтобы читать такие тексты)
    avatar
    Меня зовут Денис и это мой первый пост.

    Бесплатное лечение от алкоголизма | Лечение алкоголизма в Москве: цены в  наркологической клинике, отзывы пациентов центра Альянс КРК

    Привет, Денис
    avatar
    $100, примерно так и выглядит обсуждение этой темы последний месяц. Коллективная терапия 
    avatar
    Заходит однажды тестировщик в бар.
    Забегает в бар.
    Пролезает в бар.
    Танцуя, проникает в бар.
    Крадется в бар.
    Врывается в бар.
    Прыгает в бар.

    Заказывает:
    кружку пива,
    2 кружки пива,
    0 кружек пива,
    999999999 кружек пива,
    ящерицу в стакане,
    –1 кружку пива,
    qwerty кружек пива.

    Первый реальный клиент заходит в бар и спрашивает, где туалет. Бар вспыхивает пламенем, все погибают… ©
    Дмитрий Овчинников, трудовые будни в соседнем отделе)) у нас все проще — 1 млн человек ломятся в бар на 3 посадочных места, официантку завалило чаевыми, у бармена закончился даже самогон из под полы. Заказчик уверяет что все протестировал и клянется что пропускная способность бара позволяет обслужить 10 млн. посетителей одновременно.
    avatar
    Не понял, как создание «тестовой биржи» предотвратит появление «двадцатьчетвертых февралей». Там разве в отказе биржевой/брокерской инфраструктуры основная проблема была?
    avatar
    MadQuant, тестовая среда, которая имеет идентичную конфигурацию с боевой и насыщенная маркет-датой позволяет создавать инциденты, равные по масштабу тем, что были в феврале. И даже сильнее. На промышленном стенде никто не рискнет размещать синтетические заявки, даже если каким-то невероятным образом вы научитесь фильтровать поток фиктивных сделок. К тому же, синтетика не даст релевантный результат. Основная проблема была не в отказе биржевой/брокерской инфраструктуры. Она заключается в том, что игроки были не готовы к такой активности. Ни в плане командной работы, ни в техническом плане. 
    avatar
    DED_MEDOED, 
    Она заключается в том, что игроки были не готовы к такой активности.

    Я 24-го каких-то особых сбоев не помню. Больших жалоб на инфраструктуру пост-фактум на том же СЛ тоже не помню, ну можно архивы поднять посмотреть.
    Впрочем, необходимости тестирования под нагрузкой систем биржи-брокеров это, конечно, не отменяет. Но странно, что МосБиржа не предоставляет такого функционала «из коробки», это разве не ее как бы *прямая* обязанность? Кроме того, это не должно быть по идее очень сложно в техническом плане.
    avatar
    MadQuant, наверное это самый правильный подход, обращаться к системным журналам. Двигаться на основе ощущений — это не тот подход, которого ждут клиенты брокеров и биржи. Что касается обязанностей биржи. В них входит обеспечение функционала собственных систем и работы, которые обеспечат их отказоустойчивость. Это они могут и делают. А что до брокеров. Почему из стакана пропадают заявки? Они пропадают сразу же после отключения торгов (если речь про лимиты)? Или есть некоторый рассинхрон. Это неподвластно визуальному анализу, к сожалению. И брокер в ситуации с нагрузочными тестами полностью зависим от той среды, которую предоставляет биржа. На текущий момент она весьма скудная, как в функциональном плане, так и в аппаратном. Коллеги не дадут соврать. Так вот, обеспечение тестовой среды у нас есть. Но практической пользы она не имеет, а это уже дело второе и не обязательное.
    avatar
    DED_MEDOED, у американцев есть хорошая поговорка: «Not broken — don't fix». Пока по ситуации 24-го у меня (как, наверное, и у МосБиржи) нет достоверных фактов того, что ее системы не выдерживали нагрузки. Как и системы большинства крупных брокеров. Поэтому, кажется, факт в том, что *в целом на рынке* проблем по этой части нет. Если у каких-то брокеров проблемы 24-го все же вскрылись — ну, значит, им и надо заботиться об их решении самостоятельно.
    Но, опять же, с учетом ожидаемого снижения количества активных счетов — не думаю, что это проблема, которая сейчас должна беспокоить.
    Гораздо более насущная проблема, которая вскрылась 24-го, и которую, имхо, уже лет 15 (с 2008-го года) надо решать — это страхование счетов. Но, как у импотентов, слышим только одни разговоры, а воз и ныне там, клиенты продолжают терять бабло при банкротствах брокеров.
    avatar
    ну, значит, им и надо заботиться об их решении самостоятельно

    MadQuant, в этом и заключается проблема. Для того чтобы брокер мог заняться обеспечением качества своих систем — ему нужно воссоздать условия, в которых происходит взаимодействие с биржей. Без участия последней — сделать это невозможно. Более того, часть работ в области функционального тестирования невозможно провести без воспроизведения полного пути, который проходит заявка. Можно, конечно, закрывать на это глаза еще 20 лет. До тех пор пока не случится ситуация, в которой вы не сможете ни купить, ни продать. Только будет уже поздно пить боржоми. Вопрос страхования стоит еще более остро, тут вы правы. Сам неоднократно слышал от Открытие Инвестиции и Локо Банка о том, как 10-100-250 млн. превращались в прах.
    avatar
    Не понял в чем проблема. Я пропустил утро и включил роботов после нескольких минут без «планок» и дискретных аукционов. Открытие дня получилось в 13:15. Никаких технических проблем не было до 23:50.

    А падение с утра на несколько планок вниз первый раз что ли? 3 марта 2014-го, 16 сентября 2008-го, 12 сентября 2001-го, можно ещё август-сентярь 1998-го вспомнить.

    Причем здесь торговая система биржи, если нет бидов?

    Вопрос не в торговой системе, а надо ли открывать торги, если из-за внешней новости ожидается такое? Это вопрос административный, а не технический.
    avatar
    А. Г., Проблема в том, что не у всех брокеров можно было выставить заявки т.к. внутренние торговые системы и инфраструктура не были готовы к такому профилю нагрузки. Собственно, с вашей стороны господа Соломатин и Секачев придерживаются мнения о том, что проблема с нагрузочным и функциональным тестированием системы Transaq имеется.
    avatar
    DED_MEDOED, не знаю, как было до 10:00, а после никаких проблем в Финаме и ещё в паре крупных брокеров с выставлением заявок я не видел именно 24 февраля. Но тут надо понимать, что для меня задержка до 2-х секунд — это не задержка. Просто потому что визуально с момента отправления заявки в квике до её  появления в таблице заявок в том же квике 1-2 секунды — это обычное дело. А я оцениваю техническую составляющую именно визуально по квику. 

    Проблемы может и есть, но именно 24 февраля в квикаэ я ее не заметил. А то, что цены «летели» с планки на планку — это другой вопрос. Технических проблем с купить на любой планке не было никаких.
    Я сам, когда увидел, что фьючерс на Газпром торгуется по 12500, а первый бид на споте 113 выставил заявки на покупку на споте. Они прекрасно встали. Только выяснилось, что это дискретный аукцион и естественно, что они не исполнились.
    avatar
    А. Г., Я с вами согласен, как пользователь. Вы правы, в паре крупных брокеров действительно дела могут идти хорошо. Или почти хорошо. Ведь есть несколько торговых систем и инфраструктура децентрализованная. Меня, как пользователя, беспокоит только функциональная составляющая. Если я вижу что моя заявка размещена/исполнена — я доволен. Но реализацию этого функционала при пиковых нагрузках можно обеспечить только если вы технически подготовились к увеличению активности и готовы автоматически масштабироваться. И если в одном уголке рынка мы наблюдаем процветание и ясную погоду, то в другом царит хаос и активность такого масштаба, что инженеры просто не могут поднять свою площадку.
    avatar
    А. Г., а я с утра уже торговал практически без проблем.
    Вместо разбора конкретного эпизода, какой-то лютый популизм на тему «всех спасёт нагрузочное тестирование», причём с расчётом на людей далёких как от HighLoad так и от внутренней торговой кухни.
    Даже розничные пишут что их тема не колышет, не потому что глупые, а потому что знают и учитывают, и им пара секунд не круг, а от брокеров у которых с инфраструктурой швах они тихонько уползают к нормальным, отвечающим их потребностям.
    А кому действительно надо, тот и с брокером договориться и на колокейшен станет. И колокейшн это не только право первой ночи (для обеспечения которого в ход идёт fpga), но и защита от рисков наркшения связи, тырьнет может вообще рухнуть, а ТС будет продолжать работать согласно своим установкам.
    Но рядовому инвестору это не надобно.
    Банки и брокеры такие какие они есть, не потому что тупые и не знают модных слов, а потому что просчитали свой гешефт и возможные риски.
    avatar
    Автор, помни! Краткость — сестра таланта
    avatar
    Зомбирование на уровне 5+!
    Ждем продолжения.
    avatar
    Iggr, 

    Ну а если серьезно, то самое главное чтобы от разговоров был толк. 
    avatar

    теги блога DED_MEDOED

    ....все тэги



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