Client connectivity: подключение клиентов

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

Команда client connectivity отвечает за техническое обеспечение подключения клиентов брокера к его системе. В ведении этой команды находятся входные шлюзы брокера, к которым подключаются все его клиенты, программные валидаторы и маршрутизаторы сообщений, которые передают входящие сообщения от клиента к далее к брокерским системам и ответы от брокерских систем клиентам.

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

Подключение по FIX-протоколу

Всех клиентов чаща всего подключают по протоколу FIX. У брокера есть книга rules of engagement. Подробнее о том, как осуществляется подключение по FIX-протоколу, написано в отдельной статье.

Валидации и лимиты по позициям

Вся инфраструктура client connectivity напрямую связана с клиентской базой. С клиентским id, выданным для подключения, связаны все лимиты по позициям для данного клиента: все настройки, с какими рынками он имеет право торговать, какими ценными бумагами и на какие общие суммы. Эти лимиты проверяются на всех стадиях обработки ордера и если валидация по каким-то лимитам не проходит, клиенту отправляется отлуп — сообщение Reject на его ордер.

Роутинг

Входящие сообщения от клиента далее могут перенаправляться в разные системы брокера. Все зависит от услуг, которые брокер предоставляет данному конкретному клиенту. Например, по услуге DMA сообщения от клиента попадают в OMS брокера. Там автоматически валидируются и направляются на рынок через модуль market connectivity. В случае услуги LLDMA — сообщения клиента направляются сразу на модуль market connectivity, минуя OMS брокера. Если брокер предоставляет клиентам к своему алгоритмическому движку (DSA-услуга), ордера клиента по его желанию могут направляться в движок. В случае услуг High Touch ордера от клиента попадают в OMS брокера и там ждут, когда их вручную обработает конкретный трейдер. Путей — множество и у каждого брокера для каждого клиента они разные. Все зависит от конкретного случая.

Cancel-on-disconnect

В случае, если клиент потеряет связь с брокером, все его открытые ордера автоматически отменяются на бирже. При восстановлении связи клиент получает отчет об отмене ордеров. Эта функция называется cancel-on-disconnect.

Так снимается риск потери управляемости ордеров, когда клиент связь потерял и не может отменить ордера самостоятельно. Так как ордеров может быть много и отменять их вручную может привести к ошибкам, отмена ордеров делается автоматически. При отключении TCP/IP протокол еще держит соединение открытым, ожидая восстановления связи несколько секунд, но потом, если программа получает от сетевого уровня уведомление о потери связи, сессия закрывается и запускается процедура отмена ордеров.

Обрывом связи может считаться также и неполучение FIX Heartbeat, например, TCP/IP связь работает, а heartbeat от клиента не пришел. Если он не получен через определенный интервал, связь с клиентом считается потерянной, и протокол FIX инициирует конец сессии и опять-таки инициируется процедура отмены открытых ордеров. По умолчанию heartbeat в протоколе FIX требуется каждые 30 секунд, но во избежание случайной задержки системы настраивают на посылку heartbeat через меньшие промежутки — скажем, каждые 25 секунд.

Почему все так сложно?

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

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s