Система управления ордерами (Order Management System, сокращенно OMS) — ключевая система участника биржевых торгов, сердце его торговой системы. У разных типов участников она играет разные роли, но общее назначение OMS — вести учёт и контроль всех транзакций, всех действий по ордерам.
OMS различаются по своему предназначению и функционалу в зависимости от того, для какого участника биржевого бизнеса она предназначена.
Buy-side
OMS используются в компаниях buy-side для управления инвестиционными активами и учета ордеров, отправленных брокерам на исполнение. Совмещают в себе несколько функционалов: portfolio management system, investment management system и portfolio analytics. Система показывает текущую стоимость активов, позволяет управлять портфелями и определять, что и в каком количестве надо продать или купить по результатам анализа и предсказания моделей. Buy-side OMS отвечает на вопрос: какими позициями я владею, сколько они стоят сейчас, как их надо перераспределить (что продать, что купить), чтобы достичь определенного целевого индикатора.
Для отправки своих ордеров на рынок buy-side интегрирует свою OMS с системами сразу нескольких брокеров. Редко, когда инвестор работает только с одним брокером. Когда менеджер-инвестор решает оформить ордер, он в своей OMS определяет, какому из брокеров ордер будет направлен. Ведущими вендорами OMS для buy-side были компании Macgregor, Linedata, Charles River, EzeCastle, LatentZero, Itiviti.
В начале 2000-ых годов некоторые из этих компаний были куплены или вошли в состав других компаний:
- в 2005 г. Macgregor куплена компанией Investment Technoglogy Group ITG
- в 2006 г. Eze Castle слилась с брокером BNY Mellon Securities и сформировали компанию ConvergEx, а потом Eze Castle была перепродана компании TPG
- в 2007 г. LatentZero куплена компанией royalblue, которая позднее переименовалась в Fidessa
Sell-side
OMS в sell-side — по своей сути представляет собой электронный гросс-бух, в котором ведется учет поступивших ордеров от всех клиентов и отчеты об их исполнении на бирже. Sell-side OMS отвечает на вопрос, какой клиент сколько и что купил или продал, какие ордера клиента сейчас в работе и каково их состояние, какие позциии клиент брокер забрал себе, а какие отправил на рынок, и кто кому должен сколько комиссионных.
У брокера может быть несколько OMS — каждая для разного отдела ценных бумаг (отдел акций, отдел деривативов, отдел облигаций, отдел FX). Например, для отдела торговли акциями — своя самописная OMS, а для торговли деривативами — OMS от вендора. Даже в одном отделе может быть несколько OMS параллельно: одна legacy, а вторая — новая постепенно заменяющая legacy. Постоянная интеграция новой OMS с legacy — та еще головная боль.
Крупные брокеры пишут свои OMS потому, что так проще вносить в OMS изменения под конкретные запросы, легче планировать и добавлять требуемые для бизнеса функции, полностью контролировать качество кода и общую архитектуру системы. Тогда фундаментальные ограничения OMS вендора (например, отсутствие возможности торговать целыми корзинами акций, свопами, ETF-ами) не являются препятствием.
Главными вендорами, чьи OMS я часто вижу в банках, являются:
- Fidessa OMS — популярна для торговли акциями. В 2018 году компанию купила группа ION Investment Group.
- ULLINK OMS — для торговли деривативами. Компания ULLINK недавно стала частью компании itiviti. В 2021 году itiviti купила компания Broadridge Financial Solutions.
На чем пишут OMS?
OMS это интерактивная многозвеньевая система с пользовательским интерфейсом, с которым работает трейдер, и серверной частью, которая обслуживает всех клиентов одновременно, хранит и обрабатывает данные, производит вычисления, доставляет данные на экраны трейдеров. И все это в реальном времени.
Серверная часть: может быть написана на чем угодно. Видел системы написанные на C++ и Java. И работает на любой операционной системе: в начале 2000-ых на серверах еще популярна была OS Solaris, потом ее место заняла OS Linux. Сервера на Windows NT тоже встречаются, но редко. Все данные сохраняются в конечном счете в корпоративной базе данных, где безраздельно правят Oracle и MS SQL Server.
Клиентская часть: Обычно трейдеры работают на компьютерах с Windows — это как бы офисный стандарт де факто. Значит, их UI работает в среде Windows. И чаще всего UI — толстый клиент, написанный на C++ или C#. Java (JavaFX) редко используется по причине бедности элементов пользовательского интерфейса. Клиентская часть общается с серверной с помощью сообщений. Протокол сообщений (messaging protocol) может быть различным: AMQP, JMS, TibcoRV или что-то самописное через сокеты. Иногда мне встречались OMS, у которых был Web UI. Но при всём объеме информации и функционала, который UI должен предоставить с минимальными задержками, я сомневаюсь, что Web UI на JavaScript способен с этим справиться без адского кода и танцев с бубном.
Роль IT
Так как OMS это компьютерная система, без IT отдела ее невозможно ни разрабатывать, ни поддерживать в PROD. В buy-side фирмах над OMS чаще всего работают консультанты от вендоров, которые настраивают OMS от вендора под нужды конкретного инвестора. В sell-side фирмах либо разрабатывают свою OMS под себя, либо покупают у вендора и настраивают ее под себя с помощью консультантов вендора.
OMS — mission-critical система. Выход её из строя приводит к остановке всего бизнеса. Без нее buy-side не может провести анализ и оценку портфеля, принять решение, какие акции продавать, какие покупать, не может формировать ордера-приказы и отправлять их брокерам. Sell-side не может принимать ордера от клиентов, отсылать их на исполнение на рынки, следить за отчетами их исполнений и по сути это глаза и уши брокера — из OMS идут отчеты в другие системы которые, следят за финансовым балансом, инвентаризацией активов, отчетами для регулирующих органов.
Если банк глобальный, одна и та же OMS внедряется во всех региональных отделениях и местные программисты участвуют в написании OMS и настраивают её под местные региональные особенности биржевых рынков, под местные организации бизнеса в регионе и под законы каждой страны, где OMS используется.
Роль программистов
Так как сложность этой системы очень велика, разработкой и поддержкой таких систем занимаются опытные высококлассные специалисты, которые хорошо разбираются не только в программировании, но и в целом в бизнесе биржевой торговли.
Проекты по написанию и внедрению OMS в банке длятся годами. За время проекта ведущие программисты приобретают такой колоссальный опыт в бизнес-области, что редко когда переходят в другой проект, в котором пишется что-то менее сложное. А если такой программист переходит в другой банк, то там он тоже скорей всего будет заниматься OMS.
Продолжение
Продолжение темы OMS читайте в отдельной статье «Что должна уметь OMS (Order Management system)«