ПРОЕКТ

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

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

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

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

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

Проблема

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

Решение

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

Результат

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

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

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

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

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

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

Клиент запросил

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

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

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

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

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

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

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

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

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

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

  • Настраиваемый редактор торговых стратегий
  • Рыночные данные в реальном времени и исторические данные
  • Настройка технических индикаторов и правил
  • Генерация сигналов покупки и продажи
  • Бэктестинг и оптимизация стратегий
  • Автоматическое исполнение заявок
  • Мониторинг лимитов риска и исполнения
  • Учёт открытых позиций и эффективности
  • Журналы сделок и отчёты
  • Экспорт P&L, 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

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

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

Интеграции

Broker APIs and exchange APIs

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

Trading platforms

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

NSE and BSE

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

Polygon.io

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

Excel, JSON and PDF

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

Результат

Стратегии остаются связанными с рыночными данными

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заявки и контроль рисков остаются прозрачными

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

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

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

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

Монитор заявок, рисков и исполнения

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

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

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

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

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

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

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

Функции этого экрана
Генерация отчётов для анализа Экспорт P&L в Excel Расчёт максимальной просадки Регистрация торговой активности

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

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

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

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

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

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

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

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

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

В заключение

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

ЧАВО

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