quantAIengineer
quantAIengineer личный блог
16 августа 2025, 17:36

Reinforcement Learning агент для краткосрочной алгоритмической торговли на Binance Futures — архитектура, бэктест (+144%), результаты

Кривая баланса на бэктесте Динамика капитала на отложенных рыночных данных (период: 2025-03-01 — 2025-06-01), с учётом комиссий и проскальзываний.  Итоговое изменение баланса: +144.23%

🔹 Суть проекта

Реализован агент на основе обучения с подкреплением (Reinforcement Learning) для краткосрочной внутридневной торговли на Binance Futures.
Агент работает в режиме реального времени, принимает дискретные решения (LONG / SHORT / CLOSE / HOLD), учитывая комиссии и проскальзывания.

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

🔹 Основные особенности

  • Учет комиссий, проскальзывания и риск-менеджмента

  • Отбор торговых сессий по критериям волатильности (импульсы ≥5% за 10 минут)

  • Дискретное пространство действий: LONG, SHORT, CLOSE, HOLD

  • Reward shaping для контроля поведения

  • Полные логи бэктеста и визуализации

  • Публикация сигналов в реальном времени (Telegram)

📊 Результаты бэктеста (март-июнь 2025)

  • Доходность: +144.23%

  • Sharpe: 1.85, Sortino: 2.05

  • Прибыльных дней: 78.57%

  • Сделок: 112 (~2 в день), включая SL/TP

  • Среднесуточная доходность: +1.61%

  • Точность сигналов: LONG — 69.9%, SHORT — 68.4%

Каждая сделка зафиксирована в журнале: время, цена входа/выхода, позиция, результат и значение Q-функции.

✅ Примеры прибыльных сделок:
  • +2562 USDT 
  • +1805 USDT 
Profitable Session 1
Profitable Session 2
❌ Примеры убыточных сделок:
  • –577 USDT 
  • –161 USDT 
Unprofitable Session 1
Unprofitable Session 2

⚙️ Архитектура и обучение

  • Dueling Double DQN (D3QN)

  • Prioritized Experience Replay (PER)

  • Подбор гиперпараметров с Optuna

  • Состояние включает рыночные данные, позицию, контекст и историю действий

🔹Данные и сессии

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

  • Триггер: движение цены ≥5% за 10 минут

  • Контраст: 90 минут спокойного рынка до импульса

  • Сессия: 150 минут (90 мин контекста + 60 мин торговли)

  • Формат: матрица 150×7 (OHLC, VWAP, объём, сделки)

📊 Разбиение:

  • Train [2020-01-14 — 2024-08-31): 24 104 сессии

  • Validation ([2024-09-01 — 2024-12-01): 1 377 сессии

  • Test [2024-12-01 — 2025-03-01): 3 400 сессий

  • Backtest [2025-03-01 — 2025-06-01): 3 186 сессий

Агент учится только на рыночных импульсах, а не на шуме.

Примеры данных для всех четырех подвыборок: Train, Validation, Test, Backtest:
Train Example
Validation Example
Test Example
Backtest Example

🤖 Онлайн-режим

Агент работает в режиме реального времени: каждую минуту сканирует рынок Binance Futures, формирует прогноз (LONG/SHORT) и публикует сигнал в Telegram с последующей верификацией.

Live Signal + Prediction                 |                Verification Example

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


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

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


💬 Если вам интересны детали архитектуры и примеры работы — приглашаю изучить полную статью на Хабре.
Код, датасеты и онлайн-работа агента доступны для всех: вы можете изучать реализацию, запускать проект на своём компьютере, воспроизводить эксперименты и совершенствовать собственные стратегии.

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

17 Комментариев
  • Synthetic
    17 августа 2025, 02:10
    Этот проект задуман как полноценная исследовательская лаборатория, цель которой — вдохновить вас на более глубокое изучение обучения с подкреплением в алгоритмической торговле.

    Если в этой фразе последние три слова заменить на точку, будет гораздо честнее.
  • Again!
    17 августа 2025, 05:48
    Интересно.
  • Schwonder
    17 августа 2025, 11:11
    Дeнег не дам.
  • Replikant_mih
    17 августа 2025, 17:59

    >> цель которой — вдохновить вас на более глубокое изучение обучения с подкреплением в алгоритмической торговле


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

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн