ПРОЕКТ

Автоматизированная торговая платформа

Разработка индивидуальных программных решений, Интеграция рыночных данных в реальном времени, Интеграция с API брокера, Автоматическое исполнение ордеров, Настройка стратегий, Бэктестинг, Управление рисками, Торговые панели управления

  • Сфера деятельности: Финансовая торговля
  • Чехия Местоположение: Чехия
  • Срок реализации: 16 недели
  • Технологии: Python, JavaScript / TypeScript (Node.js)
4+ месяца

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

Краткое описание

Проблема

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

Решение

Решение стало торговой платформой с настраиваемыми стратегиями, API брокеров и исполнением в реальном времени.

Результат

Платформа призвана сократить объём ручной работы и усилий по исполнению: от рыночных данных до контролируемых сделок.

История клиента

Клиент - чешская компания, торгующая акциями. Она работает с рыночными данными, торговыми стратегиями, подключениями к брокерам и исполнением ордеров.

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

Потребность была очевидна: подключить рыночные данные в реальном времени и официальные API брокеров, применять правила и сигналы компании, управлять рисками и тестировать результаты на исторических данных.

Решение сформировали как отдельные модули стратегий и исполнения. Вместе с ними внедрили модули мониторинга, бэктестинга и аудиторских записей.

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

Клиент хотел

  1. Подключить рыночные данные в реальном времени и API брокеров для автоматического управления ордерами
  2. Применять индивидуальные стратегии, индикаторы, свечные правила и входящие сигналы
  3. Настроить размер позиции, стоп-ордера, лимиты риска и средства безопасности
  4. Проводить бэктестинг стратегий с отчётами о прибыли, убытке и результатах

Почему готовое ПО не подошло

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

Обзор проекта

Решение создано с использованием модульного слоя стратегий и сигналов. Перед формированием сигналов на покупку и продажу оно применяет торговые параметры, условия индикаторов или свечей, документированные правила и входящие сигналы.

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

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

Наряду с мониторингом в реальном времени доступно историческое тестирование. Платформа запускает стратегии на исторических рыночных данных и показывает прибыль и убыток, долю выигрышных сделок и просадку.

Журнал ордеров и временная шкала событий обеспечивают подробную историю торговли. Журнал решений, список исключений, экспорт в CSV и просмотр записей SQLite завершают аудиторский след.

Реализованные ключевые функции

  • Сбор рыночных данных в реальном времени
  • Настраиваемые правила стратегий и сигналов
  • Автоматические рыночные, лимитные и стоп-ордера
  • Интеграция с API брокера
  • Демонстрационный и реальный режимы торговли
  • Расчёт размера позиции
  • Лимиты риска и средства безопасности
  • Исторический бэктестинг стратегий
  • Панель открытых позиций, ордеров, прибыли и убытка
  • Формирование торговых и аудиторских журналов

Можно добавить

+ Сбор или отправку сигналов через Telegram + Копирование торговли между биржами + Расширенный мониторинг рисков

Кто ещё может использовать это решение

Эти компании решают похожие задачи, поэтому то же решение можно адаптировать под их торговую деятельность.

Торговля опционами и акциями

Задача Требуется автоматическое исполнение стратегий, связанное с брокером, при торговле акциями и опционами.
Как помогает решение Решение объединяет рыночные данные и API брокеров, применяет настроенные правила и управляет ордерами и позициями.

Торговля через нескольких брокеров

Задача Деятельность ведётся с использованием нескольких брокеров, потоков сигналов или существующих торговых сценариев.
Как помогает решение Модульная платформа в одном месте обрабатывает сигналы, исполняет ордера, отслеживает активность и сохраняет записи.

Торговля бинарными опционами

Задача Сигналы Telegram переносятся на торговую платформу.
Как помогает решение Решение собирает сообщения с сигналами и использует их в автоматизированном торговом процессе.

Технологический стек

Python

Основные торговые сервисы

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

JavaScript / TypeScript (Node.js)

Сервисы данных и экспорта

JavaScript или TypeScript поддерживает анализ и форматирование CSV, а также связанные сервисы приложения.

ccxt

Подключение к API бирж

ccxt (библиотека, связывающая торговое ПО с API бирж) обеспечивает подключение к рыночным данным и торговым операциям на биржах.

pandas

Анализ рыночных данных

pandas (библиотека Python для таблиц и временных рядов) обрабатывает рыночные данные и поддерживает анализ стратегий.

TA-Lib

Технические индикаторы

TA-Lib (библиотека индикаторов технического анализа) поддерживает условия стратегий на основе индикаторов.

websockets

Потоки данных в реальном времени

websockets (библиотека для двусторонних подключений к данным в реальном времени) поддерживает обновления рыночных данных и торговли.

grafanalib

Определения панелей управления

grafanalib (библиотека для создания панелей Grafana) поддерживает просмотр состояния и результатов торговли.

CSV

Записи и экспорт

CSV сохраняет или экспортирует торговые записи, результаты и аудиторские данные в простом табличном формате.

SQLite

Локальные торговые записи

SQLite в локальной базе данных хранит торговые записи, решения, исполнения, исключения и данные о позициях.

Интеграции

Zerodha API and Upstox API

Указанные API брокеров поддерживают выставление, изменение и отмену связанных с брокером ордеров, а также управление позициями.

Telegram

Telegram передаёт сообщения с торговыми сигналами, которые платформа может собирать или отправлять.

Результат

Настраивайте стратегии и риски перед исполнением

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

Калькулятор размера позиции, а также поля стоп-лосса и фиксации прибыли позволяют увидеть заданные параметры до передачи ордеров брокеру.

Как это работает

  1. Селектор стратегии загружает параметры торговой стратегии и условия свечей или индикаторов.
  2. Калькулятор размера позиции обрабатывает параметры размера позиции.
  3. Средства управления рисками хранят настройки стоп-лосса, фиксации прибыли, лимитов риска и режима исполнения.
  • Выберите стратегию скачка цены текущей свечи или стратегию дневной свечи.
  • Настройте демонстрационный или реальный режим торговли.
Примечание: Демонстрационная торговля и настраиваемые параметры риска позволяют проверить стратегию отдельно от исполнения в реальном времени.
Настройка стратегии и рисков

Настройка стратегии и рисков

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

Отслеживайте сигналы, ордера и позиции в реальном времени

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

Исполнение в реальном времени связывает сигналы с действиями брокера, а панель показывает активность и состояние рисков.

Как это работает

  1. Панель рыночных данных получает данные в реальном времени, а поток сигналов показывает сформированные сигналы на покупку и продажу.
  2. Модули ордеров и позиций показывают ордера, состояние исполнения, открытые позиции, прибыль и убыток, а также торговую активность.
  3. Индикатор состояния торговли показывает состояние рисков, а модуль аварийного выключения предоставляет функцию экстренного управления.
  • Отслеживайте рыночные данные и торговые сигналы.
  • Просматривайте открытые позиции и состояние ордеров.
  • Следите за прибылью, убытком и состоянием торговли.
Панель управления торговлей в реальном времени

Панель управления торговлей в реальном времени

Функции на этом экране
Сбор рыночных данных Формирование торговых сигналов Управление ордерами Исполнение торговли в реальном времени Внедрение аварийного выключателя

Тестируйте стратегии на исторических данных

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

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

Как это работает

  1. Селектор исторических данных предоставляет нужные для теста исторические рыночные данные.
  2. Модуль бэктестинга применяет параметры выбранной стратегии к историческим данным.
  3. Сводка результатов, график прибыли и убытка и таблица результатов торговли показывают итоги теста и показатели эффективности.
  • Просматривайте прибыль, убыток и долю выигрышных сделок.
  • Проверяйте просадку и коэффициент Шарпа.
  • Сравнивайте проскальзывание или процент успешных сделок.
Совет: Бэктестинг и демонстрационная торговля позволяют оценить стратегию до исполнения в реальном времени.
Отчёт о бэктестинге и результатах

Отчёт о бэктестинге и результатах

Функции на этом экране
Бэктестинг торговой стратегии

Обеспечьте отслеживаемость ордеров и решений

На экране аудита вместе хранятся действия с ордерами, исполненные ордера и решения. Журнал ордеров и временная шкала исполнения упрощают просмотр истории торговли.

Список исключений, экспорт CSV и просмотр записей SQLite помогают сохранять торговые записи.

Как это работает

  1. Журнал ордеров регистрирует рыночные и лимитные ордера, их изменения, отмены и подтверждения исполнения.
  2. Временная шкала событий и журнал решений показывают исполненные ордера, торговые решения, исключения и временные метки аудита.
  3. Экспорт CSV и просмотр записей SQLite предоставляют экспортированные и сохранённые торговые записи.
  • Просматривайте изменения и отмены ордеров.
  • Проверяйте подтверждения исполнения и исполненные ордера.
  • Сохраняйте записи решений и исключений.
Ордера и журнал аудита

Ордера и журнал аудита

Функции на этом экране
Управление ордерами Формирование торгового журнала

Что даёт решение

С помощью этого решения торговая компания может:

  • Связывать рыночные данные с API брокеров
  • Применять собственные торговые стратегии и входящие сигналы
  • Вести демонстрационную или реальную автоматизированную торговлю
  • Настраивать размер позиции, стоп-ордера и лимиты риска
  • Тестировать стратегии до начала торговли в реальном времени
  • Просматривать ордера, прибыль, убыток, решения и исключения

Смогли бы готовые системы выполнить эту задачу?

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

Что нужно клиенту Брокерские платформы Kite, thinkorswim, E*Trade Web Platform Платформы для торговли несколькими активами MetaTrader 5, eToro, Dotbig platform ПО для автоматизированной торговли Galileo FX, Abbado Индивидуальное решение
Подключить данные в реальном времени и API брокеров частично
Применять индивидуальные стратегии и сигналы —
Настроить средства управления рисками и безопасности частично
Проводить бэктестинг с отчётами о результатах частично
Соответствовать правилам клиента: этапам, ролям и отчётам — — частично
Все этапы в одном месте —
Без ручных действий между программами — частично

На основании общедоступных описаний продуктов и их категорий.

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

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

В итоге

В итоге решение создано для устранения ручной работы на пути от рыночных данных и торговых правил до контролируемого исполнения через брокера.

ЧАСТЫЕ ВОПРОСЫ

Планируете создать похожую систему? Прочитайте ответы и узнайте, как платформа может объединить стратегии, данные, исполнение и записи.