Платформа «QAnt»

Система автоматизации формирования и передачи торговых поручений на финансовых рынках по заданным алгоритмам или в ручном режиме

  • Инвестиционным брокерам
  • Частным компаниям
  • Брокерским компаниям
  • Частным лицам

Возможности QAnt

Автоматизация

Автоматизация маршрутизации и передачи торговых поручений (заявок), сформированных в соответствии с параметрами, заданными лицензиатом (торговые алгоритмы, лимиты, риск-параметры).

Больше бирж

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

Умный рост

Увеличение количества учётных записей, счетов и торговых логик без привлечения дополнительных сотрудников для обеспечения процессов формирования, передачи и сопровождения торговых поручений (заявок).

Функциональные характеристики

  • Автоматизированное формирование, маршрутизация и передача торговых поручений (заявок) на финансовых рынках, включая подключение к торговым площадкам, предоставляющим API.

  • Добавление подключений по API с использованием учётных данных и параметров доступа, предоставляемых торговой площадкой или брокером.

  • Автоматическое восстановление после разрыва связи (переподключение).

  • Журналирование событий и операций. Сохранение истории статусов торговых поручений (заявок), балансов и позиций в базе данных.

  • Подключение учётных записей/счетов к наборам параметров торговых алгоритмов с различными характеристиками в зависимости от выбранных параметров риска и торговой площадки.

  • Добавление и обновление наборов параметров торговых алгоритмов, включая изменение технических параметров их работы.

  • Переназначение учётной записи/счёта на другой набор параметров торговых алгоритмов. Приостановка формирования и передачи торговых поручений (заявок) по выбранной учётной записи/счёту.

  • Ведение справочных показателей по портфелю или учётной записи за выбранный период (в т.ч. HWM)

  • Система автоматического мониторинга инцидентов, включая обрывы связи, отклонения от расчётного поведения алгоритмов, резкое изменение балансов.

  • Система риск-контроля в различных модулях для приостановки формирования и передачи торговых поручений (заявок) торговыми алгоритмами.

Технические средства QAnt

01

Исключение ошибок

написан на языке программирования Python.

02

СУБД PostgreSQL

Хранение информации с бирж, настройки портфелей и данные системы.

03

Место хранения

— сервера в Дата-центре.

04

Компиляция программы – не требуется

выполняется в режиме интерпретатора.

05

Физический адрес нахождения

технических средств хранения кода и данных программы: GitHub (код), Дата-центры.

Архитектура системы

Программное обеспечение включает в себя графическую оболочку (терминал) для удобства администрирования учётных записей и счетов, сопровождения заявок, управления параметрами алгоритмов, а также обширную внутреннюю часть:

  • Модули обработки данных от бирж и преобразования внутренних команд.
  • Модули работы с базой данных.
  • Распределенную систему мониторинга инцидентов.
  • Модуль оповещения об инцидентах и состояниях счетов.
  • Библиотеку торговых роботов.
photo

Для возможности гибкого развития системы путём добавления новых модулей, а также из-за ограничений Python на использование CPU было принято решение использовать модульную (микросервисную) архитектуру с обменом данными между модулями с помощью сокетов ZeroMQ.

qant_terminal — графический интерфейс для администрирования счетов и учётных записей, сопровождения заявок и портфелей алгоритмов, а также отображения статусов системы и результатов исполнения поручений, написан на языке программирования Python.

qant_lib — общая библиотека для всех модулей и их совместного взаимодействия, написана на языке программирования Python.

qant_connector — ядро всей системы (далее “коннектор”), содержит модули взаимодействия с бэкендами бирж (feeds — обработка публичных данных, executors — обработка приватных данных), которые приводят все данные к стандартизированному виду системы QAnt, а также модуль order_manager, который обеспечивает корректное взаимодействие роботов (трейдеров) с соответствующими feeds и executors, написано на языке программирования Python.

qant_managers — модули управления роботами, предоставления информации о состояниях роботов и подключений, балансах, позициях, заявках из коннектора в терминал и другие модули, написаны на языке программирования Python.

qant_telegram_bot — модуль рассылки информации об инцидентах, состояний счетов и учётных записей пользователей в чаты мессенджеров Telegram и Slack, написан на языке программирования Python.

qant_bots — библиотека с примерами торговых роботов и индикаторов, написана на языке программирования Python.

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

Все модули выполняют похожие функции — получение публичных рыночных данных (потоки обезличенных ордеров, данные о совершённых биржевых операциях, транзакциях, свечные данные), данных биржевого аккаунта (состояние счетов, ордера/заявки, результаты исполнения/статусы) и других данных, которые можно получить посредством запросов к API биржи.

Зависимости

Платформа обменивается сообщениями с API бирж и зависит от них.

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

Кроме того, осуществляется связь с торговыми ботами при помощи передачи сообщений.

И наконец, платформа связана с аппаратной частью, на которой выполняются вычисления, хранятся и передаются данные.

qant_api_ib — клиент API для подключения к международным брокерам, поддерживающим протокол FIX/TWS-API.

qant_api_cgate — клиент для подключения к Московской бирже по протоколу подключения Plaza II, написан на языке программирования Python. Пройдена регистрация ПО в соответствии с требованиями ММВБ, добавлено в реестр программных продуктов, разрешенных к использованию на Московской бирже.

qant_api_freedom — клиент для подключения к брокерам, использующим аналогичный протокол.

Требования к эксплуатации системы

Установка и эксплуатация системы

ПО (терминал) для администрирования учётных записей и сопровождения торговых поручений системы QAnt — Скачать

Запуск:

  • переместить директорию .ssh в домашнюю директорию пользователя
  • исправить путь до приватного ключа SSH в файле settings.ini (key_file)
  • запустить qterminal
  • ввести логин и пароль

Подробнее описано в файле — Требования к эксплуатации системы

Минимальные системные требования

  • Экран: Разрешение 1024х768 px
  • Процессор: Intel/AMD-совместимый x64, с частотой 2 ГГц
  • Видеокарта: 512 Мб
  • ОЗУ: 75 Мб
  • Объем программы (место на диске) – 130 МБ

Резервное копирование данных

Ежедневное резервное копирование данных включает в себя:

  • Создание резервной копии файлов Системы
  • Создание резервных копий БД

Настройка регулярного резервного копирования БД выполняется с использованием специализированных утилит СУБД и инструментов ОС.

Жизненный цикл ПО

Поддержание жизненного цикла Системы обеспечивается за счет её сопровождения и проведения обновлений в соответствии с собственным планом разработки.

Поддержка и сопровождение

  • Актуализацию (обновление) версии ПО
  • Обработку запросов от пользователей и устранение замечаний, связанных с некорректной работой ПО
  • Консультации по работе с ПО (консультации сотрудников и администраторов по вопросам, связанным с функциональными возможностями ПО, эффективным использованием ПО, обслуживанием и администрированием ПО и т.д.)
  • Актуализацию пользовательской документации ПО

Устранение неисправностей

Неисправности, выявленные в ходе эксплуатации Системы, могут быть исправлены следующим образом:

  • предоставление пользователю архива с файлами обновлённой системы (Терминал) посредством электронной почты, либо других средств цифровой коммуникации

Процесс разработки

  • Разработка новых модулей и функций
  • Развитие и оптимизация текущих модулей и функций
  • Комплексное тестирование (Unit-тестирование, интеграционное, регрессионное и нагрузочное тестирование)
  • Исправление найденных ошибок
  • Разработка документации и инструкций

Модернизация/обновление ПО

Выпуск новых версий осуществляется в соответствии с собственным планом разработки, а также в случае выявленных проблем в ходе эксплуатации программного обеспечения у конечных потребителей

Правила лицензирования системы

Программное обеспечение

Поставляется в виде архива с исполняемым файлом. Для запуска требуется верификация ключей доступа с администратором.

Лицензионная политика

Определяет права заказчика по использованию функционала системы и осуществляется путём администрации ключей.

Стоимость лицензий

Стоимость лицензий рассчитывается индивидуально и предоставляется по запросу на почту info@qhill.store

Руководство пользователя

Описание интерфейса, основных разделов и функций системы.