ПРОЕКТ

Платформа автоматизированной торговли

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

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

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

Кратко

Проблема

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

Решение

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

Результат

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

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

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

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

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

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

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

Клиент хотел

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

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

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

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

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

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

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

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

Реестр ордеров и временная шкала событий отвечают потребности в сохранении торговых данных. Аудит дополняют журнал решений, список исключений, экспорт в 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 передаёт торговые сигналы, которые платформа может собирать или пересылать.

Результат

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

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

Калькулятор размера позиции и поля stop-loss и take-profit делают запланированные средства контроля видимыми до передачи ордеров брокеру.

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

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

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

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

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

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

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

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

  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 брокеров частично
Применять индивидуальные стратегии и сигналы —
Настроить контроль рисков и безопасности частично
Проводить бэктестинг с отчётами о результатах частично
Соответствовать собственным правилам клиента: этапам, ролям и отчётам — — частично
Все этапы в одном месте —
Отсутствие ручных действий между программами — частично

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

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

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

Итоговый результат

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

FAQ

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