ПРОЕКТ

Автоматизируйте торговлю с помощью торгового ПО на Python

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

  • Сфера: Финансовая торговля
  • Польша Местоположение: Польша
  • Срок реализации: 16 недели
  • Технологии: Python, ccxt
4+ месяца

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

Краткий обзор

Проблема

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

Решение

Решением стало торговое ПО на Python, объединяющее рыночные данные, логику стратегий, таблицы и брокерские счета.

Результат

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

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

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

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

Задача была ясной: автоматизировать торговый процесс на Python, при необходимости подключить Interactive Brokers или Shoonya Broker Account и проверять стратегии с помощью бэктестинга. Компания также хотела загружать в процесс данные Excel и получать обновлённые торговые данные после исполнения.

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

Клиент хотел

  1. Проверять стратегии с помощью бэктестинга и предоставлять необходимые инструкции или документацию.
  2. Создать автоматизацию торговли на Python с возможностью использования Java или C++ в качестве альтернатив.
  3. При необходимости подключить Interactive Brokers или Shoonya Broker Account.
  4. Считывать торговые данные из Excel и обновлять их после исполнения.

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

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

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

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

Для работы с торговыми данными создана рабочая область Excel. Она считывает данные из таблиц, отображает свечные данные и отмечает обновлённые после исполнения торговые данные.

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

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

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

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

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

  • Автоматизированная торговля через брокерские счета
  • Рыночные, лимитные и стоп-ордера
  • Получение свечных данных с выбранными интервалами
  • Настраиваемые стратегии и критерии покупки и продажи
  • Импорт и обновление торговых данных Excel
  • Бэктестинг стратегий на исторических свечных данных
  • Мониторинг активных ордеров, позиций и уведомлений
  • Состояние подключения брокерского счёта
  • Автоматизация торговли на базе Python

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

+ Уровни Фибоначчи + Локальную обработку данных + Пользовательские API-вызовы + Отладку на реальном рынке

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

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

Отдел торговли акциями

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

Команда по торговле опционами

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

Инвестиционная компания

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

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

Python

Язык автоматизации торговли

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

ccxt

Подключения к торговым API

ccxt - библиотека, подключающая торговое ПО к API бирж.

hyperliquid-python-sdk

Торговля через Hyperliquid API

hyperliquid-python-sdk объединяет торговую логику Python с Hyperliquid API.

python-calamine

Чтение файлов Excel

python-calamine считывает Excel и файлы таблиц для торговых вводных.

fastexcel

Быстрое чтение Excel

fastexcel считывает данные Excel для рабочей области торговых данных.

vectorbt

Бэктестинг стратегий

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

backtesting

Историческое тестирование стратегий

backtesting выполняет торговые стратегии на основе исторических свечных данных.

bt

Гибкий бэктестинг

bt предоставляет Python-фреймворк для тестирования торговых стратегий.

Excel / XLSX

Файлы торговых вводных

Файлы Excel передают торговые вводные и получают обновлённые торговые данные.

Candle data

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

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

Интеграции

Interactive Brokers

ПО объединяет торговые стратегии и ордера с платформой или API Interactive Brokers.

Shoonya Broker Account

При необходимости ПО передаёт торговые операции через Shoonya Broker Account.

Excel

Файлы Excel передают торговые вводные в программу и после исполнения получают обновлённые торговые данные.

Brokerage APIs

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

Результат

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

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

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

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

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

Управление торговлей и настройка интервала

Функции этого экрана
Настройка временного фильтра торговли Настройка интервала данных Создание торговых алгоритмов Автоматизированная стратегия торговли опционами

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

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

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

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

  1. Модуль свечных данных получает свечи выбранных токенов или инструментов.
  2. ПО показывает выбранный временной интервал и данные последних 12 свечей в таблице.
  3. В области анализа торговли свечные данные доступны для просмотра.
Рыночные данные и анализ свечей

Рыночные данные и анализ свечей

Функции этого экрана
Получение свечных данных

Ордера и позиции остаются видимыми во время торговли

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

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

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

  1. Экран мониторинга показывает ордера на покупку и продажу и открытые позиции.
  2. В области исполнения отображаются исполненные сделки с опционами и торговые обновления в реальном времени.
  3. В журнале активности регистрируются торговые уведомления и журналы.
Мониторинг активных ордеров и позиций

Мониторинг активных ордеров и позиций

Данные таблиц возвращаются обновлёнными

В рабочей области Excel хранятся исходные данные таблицы и обновлённые торговые данные. Она поддерживает существующий рабочий процесс компании с таблицами и объединяет эти вводные со свечными данными и исполнением.

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

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

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

Рабочая область торговых данных Excel

Функции этого экрана
Обновление данных об акциях

Бэктестинг позволяет безопаснее оценить стратегию

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

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

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

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

Результаты бэктестинга стратегии

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

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

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

  • Автоматизировать покупку и продажу через подключённые брокерские счета.
  • Получать свечные данные с выбранными торговыми интервалами.
  • Считывать данные из Excel и возвращать обновлённые торговые данные после исполнения.
  • Тестировать стратегии на исторических свечных данных до торговли на реальном рынке.
  • Отслеживать ордера, позиции, уведомления и состояние исполнения.
  • Управлять правилами торговли акциями и опционами в одной программе.

Могут ли готовые системы выполнить эту работу?

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

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

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

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

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

В итоге

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

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

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