ПРОЕКТ

ПО для алгоритмической торговли с контролируемой автоматизацией

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

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

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

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

Проблема

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

Решение

Решение объединило в одной торговой системе настраиваемые стратегии, рыночные данные и автоматические ордера. Оно также включает контроль рисков и отчётность.

Результат

ПО призвано сократить объём ручной работы и повторяющихся проверок на разных этапах торговли.

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

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

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

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

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

Что требовалось клиенту

  1. Настраивать стратегии на основе индикаторов, правил, машинного обучения или движения цен
  2. Использовать рыночные и связанные данные в реальном времени или исторические данные
  3. Генерировать сигналы, точки входа и выхода, а также торговые решения
  4. Исполнять и управлять ордерами через подключения к брокерам или биржам

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

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

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

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

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

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

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

История сделок, прибыль и убыток, а также максимальная просадка доступны для анализа. Система экспортирует эти данные в форматах JSON, Excel и PDF.

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

  • Настраиваемый редактор торговых стратегий
  • Рыночные данные в реальном времени и исторические данные
  • Настройка технических индикаторов и правил
  • Генерация сигналов покупки и продажи
  • Бэктестинг и оптимизация стратегий
  • Автоматическое исполнение ордеров
  • Мониторинг лимитов риска и исполнения
  • Мониторинг открытых позиций и эффективности
  • Журналы сделок и отчётность
  • Экспорт прибыли и убытка в JSON, Excel и PDF

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

+ Анализ новостей и социальных сетей + Отчёты компаний и фундаментальные данные + Стратегии машинного обучения + Форвардное или бумажное тестирование + Оповещения TradingView в Telegram + Дополнительные подключения к брокерам или биржам

Кому ещё подойдёт это решение

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

Компания, торгующая акциями и индексами

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

Торговая компания, работающая на индийском рынке

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

Компания, занимающаяся количественной торговлей

Задача Она разрабатывает статистические стратегии, стратегии машинного обучения или высокочастотные стратегии.
Как помогает решение Решение предоставляет настраиваемые алгоритмы, бэктестинг, оптимизацию, исполнение и отчёты об эффективности.

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

Python

Обработка стратегий и данных

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

JavaScript / TypeScript (Node.js)

Торговый интерфейс и сервисы

JavaScript и TypeScript поддерживают интерфейс стратегий и общие торговые сервисы.

ccxt

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

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

vectorbt

Масштабный бэктестинг стратегий

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

@tradejs/core

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

@tradejs/core (совместимая с браузером библиотека для торговли и бэктестинга) поддерживает настройку стратегий и общие торговые функции.

pandas

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

pandas предоставляет структуры данных для анализа рыночных данных и результатов торговли.

numpy

Вычисления с массивами

numpy предоставляет вычисления с массивами для рыночных данных и данных об эффективности.

scipy

Научные вычисления

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

Excel, JSON and PDF

Форматы экспорта отчётов

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

Интеграции

Broker APIs and exchange APIs

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

Trading platforms

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

NSE and BSE

Система nse и bse API на Python при необходимости предоставляют доступ к данным индийского фондового рынка.

Polygon.io

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

Excel, JSON and PDF

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

Результат

Стратегии остаются подключёнными к рыночным данным

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

Торговый движок применяет настроенные правила к историческим или потоковым рыночным данным и подготавливает стратегию к генерации сигналов.

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

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

Настройка стратегии и рынка

Функции этого экрана
Разработка торговых алгоритмов Анализ технических индикаторов Бэктестинг торговой стратегии

Сигналы в реальном времени видны в одном торговом представлении

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

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

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

  1. Представление рынка в реальном времени показывает текущие рыночные данные и торговые сигналы.
  2. Панель технического анализа отображает информацию об индикаторах вместе с точками входа и выхода.
  3. Панель объединяет сведения об открытых позициях и показывает предупреждения.
Панель рынка и сигналов в реальном времени

Панель рынка и сигналов в реальном времени

Функции этого экрана
Использование потоков данных в реальном времени Анализ рынка в реальном времени Анализ технических индикаторов Генерация торговых сигналов Отображение торговых данных

Стратегии тестируются до принятия решений об исполнении

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

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

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

  1. Выбор исторического тестового периода определяет период тестирования и рыночные данные.
  2. Модуль бэктестинга рассчитывает результаты стратегии, сделки, прибыль и убыток.
  3. Модуль оптимизации сравнивает результаты параметров и отображает их в таблицах и графиках.
  • Для бэктестинга можно использовать vectorbt, backtesting, bt или @tradejs/core.
Примечание: Исторические результаты описывают поведение стратегии на выбранных данных, но не подтверждают будущую торговую эффективность.
Результаты бэктестинга и оптимизации

Результаты бэктестинга и оптимизации

Функции этого экрана
Бэктестинг торговой стратегии Оптимизация торгового алгоритма Расчёт максимальной просадки

Ордера и контроль рисков доступны для мониторинга

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

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

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

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

Трекер ордеров, рисков и исполнения

Функции этого экрана
Исполнение сделок в реальном времени Исполнение рыночных ордеров Мониторинг управления рисками

Торговые данные готовы к анализу и экспорту

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

Функции экспорта предоставляют структурированную информацию для дальнейшего анализа и финансовой отчётности. Система записывает выбранные данные в JSON, Excel или PDF.

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

  1. Выбор отчёта загружает историю сделок, исполненные сделки, а также данные о прибыли и убытках.
  2. Модуль отчётности создаёт бэктестинговые и оперативные отчёты из торговых данных.
  3. Модули экспорта записывают выбранную информацию в JSON, Excel или PDF.
  • pyexcel-io (библиотека для чтения и записи данных электронных таблиц) поддерживает структурированный экспорт таблиц.
  • jspdf (библиотека JavaScript для создания PDF-документов) поддерживает генерацию PDF-отчётов.
Отчёты и история сделок

Отчёты и история сделок

Функции этого экрана
Генерация аналитических отчётов Экспорт прибыли и убытка в Excel Расчёт максимальной просадки Ведение журнала торговой активности

Что позволяет решение

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

  • Настраивать торговые стратегии с учётом собственных индикаторов, правил, рынков и периодов
  • Анализировать рыночные данные в реальном времени и исторические данные в одной системе
  • Генерировать сигналы, точки входа и выхода, а также торговые решения
  • Тестировать и оптимизировать стратегии до исполнения в реальном времени
  • Управлять автоматическими ордерами через подключения к брокерам, биржам или платформам
  • Отслеживать риски, позиции, журналы, эффективность и отчёты

Справились бы готовые системы?

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

Что нужно клиенту Брокерские платформы Kite, MetaTrader 5, thinkorswim Инструменты автоматизированной торговли Galileo FX, Abbado Индивидуальное решение
Настройка индивидуальных торговых стратегий частично —
Использование рыночных данных в реальном времени или исторических данных частично
Генерация сигналов и торговых решений частично
Исполнение ордеров через API частично
Соответствие собственным правилам клиента: этапам, ролям и отчётам — —
Все этапы в одном месте — —
Отсутствие ручных действий между программами — —

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

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

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

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

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

FAQ

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