{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Как мы в рамках фронт-офисной системы «Персей» разрабатываем и внедряем полезный функционал для брокеров и трейдеров

За последние девять месяцев у нас появилось несколько важных фишек: добавились групповые поручения и «умное» определение параметров, стал понятнее интерфейс, а процедура создания ордера и его проверка значительно упростились.

Ну вот мы в «Персее» и подошли к большому рубежу: с момента запуска наша система OMS (Order Management System) показала значимый результат в 50 000 исполненных ордеров. И это отличный повод рассказать о том, что стоит за этой цифрой и почему она так важна для команды «Персей» и брокерской деятельности БКС в целом.

Прошлой осенью бизнес поставил перед нами задачу в рамках микросервисной архитектуры разработать полноценный функционал ОМS – специализированной комплексной системы управления ордерами.

OMS: Key Facts

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

В январе 2020 года была сформирована отдельная специальная команда, которая занялась только оптимизацией и доработкой системы. Это касалось взаимодействия пользователей и сервиса, добавления нового функционала и т.д.

Сейчас мы в моменте, когда можно говорить о завершении большого этапа работы над улучшенной версией OMS. Были добавлены групповые поручения, сделано «умное» определение широкого ряда параметров, улучшен интерфейс брокера и трейдера, а также максимально упрощена процедура создания ордера брокером и дальнейшая его проверка трейдером. А теперь об этих новых фишках поподробнее.

Групповые поручения

Изначально в OMS была возможность создать только одно поручение за один раз. Портфельная рекомендация для клиента могла включать в себя несколько инструментов, и брокеры могли принимать несколько поручений в рамках одной рекомендации. При этом брокерам нужна была такая связка и для модуля OMS в системе «Персей» – возможность создавать несколько поручений в рамках одной рекомендации (за один раз). А так как брокер совершает действия, направленные на исполнение клиентских заявок, в той последовательности, в какой они были приняты, то нужен был механизм для реализации корректного порядка их исполнения.

Команда пришла к решению, что поручения, заведенные и принятые в рамках одной рекомендации, будут группироваться и поступать на исполнение трейдерам единым пулом. Так для корректного исполнения заявок мы внедрили групповые поручения. Внутри этой группы трейдер может исполнять заявки в корректном порядке (например, сначала покупка инструмента, а потом уже стоп-заявка по нему). Благодаря этой разработке теперь трейдеры выполняют абсолютное большинство поручений через сервис OMS системы «Персей». Автоматическое исполнение заявок дает возможность наращивать объемы биржевой торговли при значительном снижении операционных рисков. С технической точки зрения, все ордера напрямую связаны с рекомендацией и объединены между собой. И мы можем точно сказать, в рамках какой рекомендации были заведены поручения и какие конкретно.

Экран трейдера с групповыми поручениями в системе «Персей»

«Умное» определение параметров

Процесс обработки торговых поручений связан с определенными рисками. Ошибка может оказаться критичной. Сейчас OMS гарантирует, что поручение, созданное брокером, точно попадет на биржу со всеми необходимыми параметрами, за исключением таких, как «Биржа», «ТКСБ» (торгово-клиринговый счет брокера), «Цена». Цену редактирует трейдер, а остальные система может правильно подставлять сама. Но корректно получается не всегда. Например, «Биржа» подставляется исходя из того, на какой площадке чаще всего торгуют данным инструментом.

Конечно, бывают случаи, когда нужно выставить поручение на другую площадку. Если брокер или трейдер меняет параметр «Биржа», то система сама подставляет нужный «ТКСБ», который используется на той или иной площадке. Но при этом трейдер не может сменить площадку, если лотность торгуемого инструмента на этих двух площадках не совпадает. Мы сделали это во избежание ошибок, связанных с количеством покупаемых бумаг.

Интерфейс брокера и трейдера

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

Мы сделали кнопку, при нажатии на которую открывается модальное окно, где выведены самые важные параметры

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

На самом деле подобных фишек добавлено много. Некоторые, как те, что описаны выше, сразу заметны, но многие почти не видны. А при этом все вместе они улучшают пользовательский интерфейс.

Процедура создания ордера и его дальнейшая проверка

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

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

Что еще мы сделали полезного

В основном мы концентрировались на стабилизации сервиса и исключении возможных проблем в процессе торговли.

Ключевые показатели – количество ошибок и время, которое тратится на заведение поручения и его исполнение. В системе работают 40 персональных брокеров, в день они заводят в среднем по 275 поручений. Выяснилось, что количество ошибок снизилось почти в два раза, время, затрачиваемое брокерами на создание ордеров, уменьшилось на 20 минут в день, а трейдерами на исполнение – на 4 часа в день.

Немного о технической части

Модуль OMS в проекте «Персей» изначально задумывался как система с обновлением данных в реальном времени, поэтому браузер пользователя подключается к сервису OMS по вебсокетам. Они гарантируют минимальные задержки при обновлении данных, так как между сервисом OMS и интерфейсом пользователя открыт постоянный коннект и данные обновляются в реальном времени. Так параметры поручения гарантированно будут всегда валидные.

Второе ключевое требование к OMS – это стабильность. Каждое действие пользователя внутри сервисов тщательно контролируется с точки зрения правильности, после этого проверяется, можно ли применить данное действие к нужному поручению. И только после этого происходит применение действия. Внутри сервиса настроена жесткая схема изменения состояний ордеров. Ключевая особенность данной схемы в том, что все действия, направленные на изменение поручения, в базе выполняются атомарно (если изменения начали применяться в базе, то другие действия, направленные на изменения этого же поручения, ждут, пока выполнится первое действие). Профит заключается в том, что при такой схеме невозможно сломать сам бизнес-процесс исполнения ордеров.

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

А что дальше

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

В перспективе OMS системы «Персей» будет коробочным автоматизированным решением по биржевым и внебиржевым поручениям, доступным для внешних пользователей.

0
1 комментарий
Alex Syrtsov

Очень круто!!! Поздравляю =)

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда