Краткий обзор
Компания тратила много времени на ручной анализ рынка, работу с таблицами и отправку ордеров.
Решением стало торговое ПО на Python, объединяющее рыночные данные, логику стратегий, таблицы и брокерские счета.
ПО создано для сокращения ручной работы в торговле, повторяющейся обработки данных и лишних усилий по исполнению ордеров.
История клиента
Клиент - компания из Польши, занимающаяся алгоритмической торговлей. Она использует простые, протестированные бэктестингом и высокочастотные стратегии через брокерские API и торгует акциями и опционами.
Команда обрабатывает свечные данные, торговые вводные, а также ордера на покупку и продажу в нескольких брокерских счетах. Трейдерам и торговым компаниям необходимо заменить ручной анализ рынка, обработку торговых данных и отправку ордеров автоматизированными системами.
Задача была ясной: автоматизировать торговый процесс на Python, при необходимости подключить Interactive Brokers или Shoonya Broker Account и проверять стратегии с помощью бэктестинга. Компания также хотела загружать в процесс данные Excel и получать обновлённые торговые данные после исполнения.
Решение создано как набор взаимосвязанных экранов: настройки интервалов, анализа свечей, мониторинга в реальном времени, работы с данными Excel и бэктестинга. Поля стратегий, типы ордеров, состояние брокера и торговые журналы остаются видимыми, чтобы компания могла управлять процессом по своим правилам.
Клиент хотел
- Проверять стратегии с помощью бэктестинга и предоставлять необходимые инструкции или документацию.
- Создать автоматизацию торговли на Python с возможностью использования Java или C++ в качестве альтернатив.
- При необходимости подключить Interactive Brokers или Shoonya Broker Account.
- Считывать торговые данные из Excel и обновлять их после исполнения.
Почему готовое ПО не подошло
Готовые брокерские платформы поддерживают покупку, продажу и управление финансовыми активами, однако их описания не объединяют ввод из таблиц, настраиваемую логику стратегий, бэктестинг и исполнение ордеров этой компании в единый адаптированный процесс. Решение создано так, чтобы эти компоненты работали вместе и соответствовали правилам компании, а документация и обучение позволяли пользоваться системой самостоятельно.
Обзор проекта
Решение создано на базе торгового приложения на Python, объединяющего рыночные данные, логику стратегий, ввод из таблиц и брокерские счета. Все основные этапы выполняются в одном месте: подготовка данных, просмотр свечей, проверка стратегий, исполнение ордеров и мониторинг позиций.
Для работы с торговыми данными создана рабочая область Excel. Она считывает данные из таблиц, отображает свечные данные и отмечает обновлённые после исполнения торговые данные.
На торговом экране доступны выбираемые интервалы, параметры стратегий, а также критерии покупки и продажи. Здесь же отображаются состояние подключения к брокеру и типы рыночных, лимитных и стоп-ордеров.
Программа отправляет ордера через поддерживаемые брокерские подключения и позволяет отслеживать информацию об исполнении.
Особое внимание уделено тестированию стратегий. Бэктестинг на исторических свечных данных, параметрах стратегии и таблицах результатов позволяет сравнить стратегию до начала торговли на реальном рынке.
Система спроектирована как набор модулей, поэтому её можно дополнять документацией, инструкциями по установке, поддержкой после запуска и будущими функциями, например локальной обработкой или отладкой на реальном рынке.
Реализованные ключевые функции
- Автоматизированная торговля через брокерские счета
- Рыночные, лимитные и стоп-ордера
- Получение свечных данных с выбранными интервалами
- Настраиваемые стратегии и критерии покупки и продажи
- Импорт и обновление торговых данных Excel
- Бэктестинг стратегий на исторических свечных данных
- Мониторинг активных ордеров, позиций и уведомлений
- Состояние подключения брокерского счёта
- Автоматизация торговли на базе Python