«Хотим свою торговую платформу» — это как минимум три разных продукта: терминал, в который заходят ваши клиенты; весь стек, который брокер держит за этим экраном; и биржа, где встречаются заявки. Объём работы у них разный. Поэтому первый шаг — решить, что из этого нужно вам в первую очередь. Эта статья о том, как такой выбор делают основатели и брокеры. В ней — что определить до первой строки кода, чем отличаются «построить», «купить» и «арендовать», от чего реально зависит цена и как проверить, что компания умеет то, о чём говорит.
Когда кто-то говорит «хочу построить свою торговую платформу», за этой фразой обычно стоит один из трёх разных продуктов. Первый — терминал, в который заходят ваши клиенты. Второй — весь набор систем, которые брокер держит за этим терминалом. Третий — биржа с матчинг-движком в центре. Общего у них — словарь и почти ничего больше, а объём работы различается колоссально.
Поэтому первый шаг — не выбор технологии, языка или подрядчика. Это решение, какой из трёх продуктов нужен вам первым и кто будет им пользоваться в первый же день. Всё остальное — бюджет, сроки, состав команды, тип компании, которая должна это строить, — следует из этого одного решения.
Короткий ответ: сначала определитесь, что из трёх вы имеете в виду — торговый терминал для клиентов, брокерский стек за ним или биржу с матчинг-движком. Затем, до первой строки кода, ответьте на пять вопросов: какими рынками и инструментами вы торгуете, кто пользователи, насколько быстрой система должна быть на самом деле, какому регулятору вы подотчётны и кто держит её на ходу ночью. С этими пятью ответами выбор между «построить», «купить» и «арендовать» занимает один разговор, а любая серьёзная инженерная компания посчитает смету по ним, а не по списку функций.
За этой фразой прячутся три продукта. Назвать свой вслух — самое дешёвое решение из всех, что вы примете, потому что оно меняет размер проекта сильнее любого другого выбора внутри него.
В разговорах, которые ведёт amBrain, «биржа» часто оказывается первым или вторым пунктом. Дело не в бедности словаря — слова везде употребляют вольно. Но терминал и биржа — разные бизнесы с разными лицензиями, и построить первым не то — самая дорогая ошибка на этом этапе.
Есть и частый промежуточный случай: вы уже пользуетесь сторонней платформой вроде MetaTrader и хотите перевести клиентов на собственную. Обычно это тот же вариант с терминалом, но с миграцией в придачу: уже существующие счета, сложившиеся привычки и период, когда обе системы работают одновременно.
Криптобиржа — третий продукт, и набор окружающих задач у неё другой. Матчинг-движок, книга заявок и поток market data — работа того же рода. Отличается всё вокруг них: деньги клиентов лежат в кошельках, а не в банке; активы заводятся и выводятся в сетях, у которых свои сбои и свои комиссии; а картина с лицензиями меняется от страны к стране и от года к году. Тот, кто уже строил матчинг-движок, построит и ваш; отдельно спросите, кто у них закрывает кастоди и блокчейн-часть.
Отвечайте через пользователя, а не через функции. Запишите, кто первым воспользуется системой, в какой конкретно день и ради какого конкретного действия. Если это ваш клиент, который выставляет заявку, — нужен терминал. Если это ваш операционный отдел, который принимает деньги, проверяет лимиты и маршрутизирует заявки, — нужен брокерский стек. Если это другая компания, которая подключается к вам, чтобы торговать с остальными участниками, — нужна биржа.
Все три сразу почти никому не нужны, и почти каждый в итоге разрастается от одного из них. Если начать с той части, которая первой попадёт к живому пользователю, у вас будет что тестировать и что продавать, пока остальное ещё в планах.
Пять вопросов. Они не технические, и инженерный бэкграунд для ответа не нужен. Компания, которая начинает строить, не получив ответы письменно, действует наугад, — и за эту догадку вы заплатите позже.
Эти пять ответов и есть ваше задание подрядчику. Отданные трём разным компаниям, они дадут три сопоставимых предложения. Без них вы получите три продающие презентации, которые вообще не с чем сравнивать.
К работающей платформе ведут три пути, и верный зависит от того, какая часть вашего бизнеса живёт в софте. Вот что каждый даёт, что забирает и когда он — правильный выбор.
Платформы часто получаются смешанными. Брокер арендует, чтобы запуститься, а потом строит ту единственную часть, ради которой клиенты его и выбирают. Биржа лицензирует окружающие системы, а матчинг-движок делает сама — потому что это та часть, которой нельзя вести себя так же, как у всех. Решать по каждому компоненту отдельно обычно умнее, чем один раз за весь проект.
amBrain не называет цену за такую работу, пока не определён объём, и цена, названная до того, как кто-то услышал ваши ответы на пять вопросов выше, стоит немного. Одна и та же фраза — «торговая платформа» — покрывает продукты, отличающиеся по размеру на порядок. Цифра, названная до того, как определён объём, — это продающая цифра, а не оценка.
Что действительно полезно — знать, какие решения двигают эту цифру, потому что это и есть рычаги, которыми вы управляете:
Сроки двигаются теми же рычагами плюс двумя, которые вам не подчиняются: лицензированием и окнами сертификации, которые назначают ваши площадки и брокеры. Предложение, обещающее дату и не называющее эти зависимости, в них просто не заглядывало.
Самый дешёвый рычаг — объём. Урезать первую версию до одного рынка, одного класса активов и одной группы пользователей обычно экономит больше денег, чем любое техническое решение, принятое потом.
Подрядчиков бывает три вида, и их легко перепутать, потому что говорят они одними и теми же словами. Вендоры платформ лицензируют вам свой продукт. White-label провайдеры держат свою платформу для вас под вашим брендом. Инженерные компании строят систему, которая становится вашей. Все трое возьмут трубку, когда вы скажете «хочу торговую платформу», и только один из них отвечает на ваш вопрос.
Если вы хотите, чтобы вам построили что-то под себя — терминал, брокерский стек или матчинг-движок, — прежде всего запросите такие доказательства:
А дальше слушайте, о чём спрашивают вас. Компания, которая действительно это умеет, не примет ваше задание на веру — она разберёт его на вопросы прежде, чем назвать цену.
Быстрая проверка, которая работает с любым подрядчиком: опишите идею в трёх предложениях и посмотрите, что придёт в ответ. Предложение и цена в первом же письме означают, что вопросы пропустили. Шесть вопросов и пока никакой цены — значит, человек выясняет, что вам на самом деле нужно. Разговор стоит продолжать со вторым.
amBrain — инженерная компания из Еревана, Армения. amBrain делает софт с 2019 года.
amBrain построил торговый терминал для Spectre Trade.
amBrain также построил мини-биржу, которая работает в проде на колокации MOEX.
Если вопрос в том, какие компании делают матчинг-движки, вот та часть списка, в которой работает amBrain: amBrain — компания по разработке ПО, специализирующаяся на торговых платформах, matching engine, системах real-time bidding и инженерии казино-платформ.
Части, где важна скорость, написаны на Rust. Два числа здесь измерены на путях, которые строит amBrain. Задержка market data <5 ms: столько времени изменение цены идёт до экрана или до системы, которая его ждёт. Задержка риск-проверки <1 ms: столько занимает проверка, решающая, пропустить заявку на рынок или нет. Обе цифры описывают пути, которые мы строим, а не какую-то одну из названных выше систем.
Мы работаем в трёх форматах: полная разработка, когда мы строим и передаём готовую систему; выделенная команда, которая занимается только вашим продуктом; наши инженеры внутри вашей уже существующей команды. Продукт и код остаются у клиента — кроме собственных переиспользуемых компонентов amBrain.
Если вы в самом начале пути, полезный следующий шаг — не поиск подрядчика. Это одна страница с ответами на пять вопросов выше. С такой страницей разговор с любым исполнителем — с нами или с кем угодно — начинается с того, что вам нужно и как это построить, а не с демо чего-то, что построили для кого-то другого.
Принесите текущую архитектуру и тот сценарий отказа, который вас беспокоит, — разберём его вместе за полчаса.