Перейти к содержанию
Десктоп / торговая автоматизация

ButterflyBot

Специализированное desktop-приложение, которое соединяет торговую логику, контроль риска, состояние ордеров и рабочий интерфейс оператора.

Интерфейс ButterflyBot с управлением опционными стратегиями

Контекст / задача

Многоуровневая опционная стратегия состоит не из одной кнопки «купить».

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

Что было сделано

Приложение построено вокруг отдельных стратегий, управляемых из PyQt6-интерфейса.

Асинхронный слой поддерживает связь с Interactive Brokers, parser преобразует текстовое описание комбинации в набор контрактов, а controller синхронизирует UI, позиции и фоновые задачи.

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

Ключевые возможности

PythonPyQt6Интеграция с IBKRКонтроль рисков
  • подключение к Interactive Brokers через ib_async
  • вкладки по базовым активам
  • разбор и диагностика многоуровневых комбинаций
  • регистрация и запуск отдельных стратегий
  • управление открывающими и закрывающими ордерами
  • обработка отмен, частичных исполнений и race conditions
  • автоматическая корректировка параметров цены и размера
  • лимит открытых позиций и общий safety halt
  • мониторинг соединения и graceful disconnect
  • сохранение стратегий и восстановление рабочего состояния
  • тестовые сценарии для автоматизации, комиссий, лимитов и reconciliation

Техническая сторона

Локальный desktop-инструмент для управления опционными стратегиями.

Публичная подача намеренно ограничена: не показаны счёт, ордера, реальные позиции, P&L, логи или настройки подключения.

Система не рекламируется как источник дохода и не гарантирует исполнение.

Материалы проекта

Экспорт конфигурации опционной комбинации в ButterflyBot

Следующий кейс

art2.si

Похожая задача

Нужно что-то похожее или другая задача на стыке интерфейса и логики?