ПРОЕКТ

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

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

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

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

Краткое содержание

Проблема

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

Решение

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

Результат

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

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

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

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

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

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

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

Клиент хотел

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

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

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

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

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

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

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

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

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

Основные реализованные функции

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

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

+ Получение или отправку сигналов через 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, лимита риска и режима исполнения.
  • Выберите стратегию скачка цены свечи в реальном времени или стратегию дневной свечи.
  • Настройте тестовый или рабочий режим исполнения.
Примечание: Тестовая торговля и настраиваемые параметры риска отделяют проверку стратегии от прямого исполнения.
Настройка стратегий и рисков

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

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

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

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

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

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

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

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

Функции, доступные на этом экране
Получение рыночных данных Генерация торговых сигналов Управление ордерами Исполнение сделок в реальном времени Аварийная остановка

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

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

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

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

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

Обзор исторического тестирования и эффективности

Функции, доступные на этом экране
Историческое тестирование торговой стратегии

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

Экран аудита объединяет операции с ордерами, исполнения и решения. Журнал ордеров и временная шкала исполнений упрощают просмотр истории торговли.

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

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

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

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

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

Что обеспечивает решение

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

  • Объединять рыночные данные с API брокера
  • Применять собственные торговые стратегии и входящие сигналы
  • Выполнять автоматизированные операции в тестовом или рабочем режиме
  • Настраивать размер позиции, стоп-ордера и лимиты риска
  • Тестировать стратегии до начала прямой торговли
  • Просматривать ордера, P&L, решения и исключения

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

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

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

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

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

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

В заключение

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

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

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