ПРОЕКТ

Автоматизируйте торговлю с помощью торгового ПО на 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 считывает данные файла 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, брокерских подключений и проверки стратегий.