Вышел второй релиз Flox. FLOX – это фреймворк, предоставляющий инструментарий для построения информационно-торговых систем с фокусом на пропускную способность и низкие задержки.
В этом обновлении движок получил новые абстракции, включая универсальный интерфейс для WebSocket-клиентов, асинхронный HTTP-транспорт и систему отслеживания ордеров. Интерфейс трекинга исполнения расширен и теперь охватывает весь жизненный цикл ордера, включая отправку, подтверждение, исполнение, отмену и отклонение. Также добавлена поддержка типов инструментов (спот, фьючерсы, инверсные фьючерсы, опционы), настройка CPU affinity и новая конфигурируемая система логирования.
FLOX это C++-фреймворк (стандарт C++23), предоставляющий компоненты и абстракции для построения событийных торговых систем с высокой пропускной способностью.
На его базе можно создавать торговые системы для высокочастотной торговли, агрегаторы сделок для сбора исторических данных, платформы визуализации, инструменты для тестирования на исторических данных и многое другое.
Архитектура модульная: компоненты связываются через шины данных, реализованные на базе lock-free очередей. Использование динамической памяти сведено к минимуму.
В FLOX уже реализованы две книги заявок (полная и оконная), агрегатор свечей, интерфейсы коннекторов, управления позициями, риском, стратегиями, а также подписочная модель через единую шину данных.
Код покрыт тестами, есть бенчмарки и документация. Включённое демо‑приложение демонстрирует работу ключевых подсистем и может служить шаблоном для разработки собственных стратегий.
Архитектура спроектирована с прицелом на расширяемость: любые модули можно дополнять без изменения ядра.
В планах встроить JS‑движок для быстрого прототипирования и проверки гипотез.
Проект распространяется по лицензии MIT, код полностью открыт.