Как мы разрабатываем свое ПО для работы с капиталом
Отвечает Григорий Соколов, технический директор.
Сейчас наша команда разрабатывает программное обеспечение для работы с капиталом. Наш фреймворк позволяет работать с ним сразу на трех слоях: трейдинг, хранение и транзакции.
Особое внимание мы уделяем безопасности и надежности. Сейчас активно тестируем продукт, проводим нагрузочные тесты. Параллельно уже загружаем капитал и работаем с ним. То есть это не разработка в отрыве от реальных задач фонда: система постепенно проходит проверку непосредственно в работе.
Почему мы занимаемся этим именно сейчас
В современных условиях наличие собственного ПО становится очень важной частью работы фонда. Работа с капиталом всегда сопряжена с рисками, но в последние несколько лет эти риски усилились. Санкции, завершение эпохи глобализации, боевые действия, усиление контроля за финансовыми потоками, внедрение ИИ, блокировки счетов до выяснения обстоятельств — все это делает работу с капиталом непростой, но решаемой задачей. В таких условиях мы просто не можем позволить себе надеяться только на сторонних вендоров.
Поэтому для нас собственное ПО — не разработка ради разработки. Это возможность самим контролировать критически важную инфраструктуру фонда, ее надежность и то, как именно мы работаем с капиталом.
Что уже могут делать пользователи
Наши пользователи — это прежде всего внутренние сотрудники компании: управляющие, трейдеры и аналитики. Внутри системы они могут проверять рыночные гипотезы, выполнять бэктестинги, подбирать гиперпараметры для алгоритмов, управлять пулами алгоритмов и мониторить состояние и изменение капитала.
Отдельный слой — аналитика фонда. Мы делаем дашборды и BI, где можно смотреть ключевые метрики фонда и на их основе анализировать дальнейшую стратегию управления капиталом. Фактически мы постепенно собираем в одной системе весь цикл: от проверки гипотезы и работы алгоритма до торговли, транзакций и контроля того, что происходит с капиталом.
Самая сложная часть — надежность
Наверное, одна из самых сложных задач в этой разработке — обеспечить надежность транзакций с капиталом. Также необходимо поддерживать постоянное соединение с биржами, рынками и брокерами. Здесь нет варианта, когда система может просто «иногда не работать»: мы имеем дело с реальным капиталом, поэтому требования к надежности совсем другие.
Параллельно постоянно возникают алгоритмические и инженерные задачи при работе с базами данных. По сути, у нас высоконагруженная система, через которую проходит большой объем данных и операций. Поэтому приходится одновременно думать и о функциональности продукта, и о производительности, и об устойчивости всей инфраструктуры.
Что сейчас уже готово
У нас есть шаблоны разных модулей, модуль торговли, модуль ИИ, дашборды и BI для фонда. Ниже я поделюсь несколькими скриншотами с нашего стенда разработки.





Если говорить о моей личной работе как CTO, то сейчас основная задача — устранять «бутылочные горлышки», повышать надежность продукта и качество разработки. В частности, моя задача — обеспечить качественную доставку новых фичей и нового кода в продукт.
Для этого я внедрил многоступенчатую систему контроля: на уровне тестов, GitFlow-процесса и дополнительного набора проверок после merge request. Нам важно не просто быстро выпускать новые функции, а понимать, что каждое изменение не ломает уже работающие части системы.
Сейчас для меня это один из главных приоритетов. Продукт развивается, появляется все больше модулей и связей между ними, поэтому вместе с функциональностью должна расти и инженерная зрелость системы.
В следующих статьях буду периодически показывать, что меняется внутри продукта, какие модули мы запускаем и с какими инженерными задачами сталкиваемся по мере развития.