Запросить демонстрацию

Инфраструктура алгоритмической торговли: почему каждой стратегии нужен свой контейнер

Изоляция, выделенные каналы данных и чёткая маршрутизация делают управление множеством стратегий возможным.

Торговые технологии5 мин чтения

Написать торговый алгоритм — интересная часть работы. Надёжно запускать десять алгоритмов день за днём — сложная. Большинство проблем, с которыми торговые команды сталкиваются при работе с алгоритмами, связаны не с самими стратегиями, а с общей инфраструктурой.

Проблема общего пространства

Когда несколько стратегий работают в одном процессе или на общей неуправляемой инфраструктуре, они влияют друг на друга. Одна стратегия, которая потребляет слишком много ресурсов, падает или засыпает систему сообщениями, может замедлить или остановить остальные. Понять, какая стратегия вызвала проблему, становится трудно.

Один контейнер на стратегию

EXO, платформа алгоритмической торговли OTS, запускает каждую стратегию в собственном контейнере. Контейнер изолирует стратегию, поэтому сбой одной не распространяется на другие, а каждую можно запускать, останавливать и отслеживать независимо.

Выделенные каналы

Изоляция полезна только тогда, когда каждая стратегия получает нужную ей информацию. В EXO каналы сообщений передают рыночные данные, запросы на заявки и данные о сделках, а для каждого алгоритма выделена отдельная очередь. Каждая стратегия видит свой поток и не конкурирует с другими за одни и те же сообщения.

Текущие и исторические данные вместе

Стратегиям часто нужно знать и то, что происходит сейчас, и то, что было раньше. EXO обеспечивает каждую стратегию хранилищами текущих и исторических рыночных данных, которые поступают через потоки REST и сокетов.

Понятное ядро

В центре ядро EXO управляет рыночными данными, заявками через REST и соединениями в реальном времени через сокеты. Внутри среды выполнения контейнеров маршрутизаторы доставляют рыночные данные и сделки по назначению, а управление состоянием следит за каждой стратегией.

Написать алгоритм — интересная часть работы. Надёжно запускать десять — сложная.

Вопросы к любой алгоритмической платформе

  • Что происходит с остальными стратегиями, когда одна даёт сбой?
  • Получает ли каждая стратегия собственные каналы рыночных данных и сделок?
  • Могут ли стратегии использовать исторические данные наряду с текущими?
  • Как отправляются заявки и как они маршрутизируются?
  • Можно ли отслеживать и контролировать каждую стратегию отдельно?