Багатоагентне навчання в трейдингу: зниження просадок до 35%

Ви навчили DRL-агента на історії — бектест блискучий, але на live-ринку капітал тане. Причина — **концептуальний дрейф**: ринкові режими змінюють один одного (bull, bear, sideways, high-vol), і єдина політика не встигає адаптуватися. **Багатоагентне навчання з підкріпленням (MARL)** вирішує це, розб

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    997
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1264
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1002

Ви навчили DRL-агента на історії — бектест блискучий, але на live-ринку капітал тане. Причина — концептуальний дрейф: ринкові режими змінюють один одного (bull, bear, sideways, high-vol), і єдина політика не встигає адаптуватися. Багатоагентне навчання з підкріпленням (MARL) вирішує це, розбиваючи задачу на спеціалізованих агентів. Ми займаємося розробкою RL системи для трейдингу понад 7 років і пропонуємо впровадження MARL на стеку PyTorch, Ray та PettingZoo, використовуючи перевірені архітектури: CTDE архітектура, COMA винагорода, ієрархічний MARL. Вартість розробки типової MARL-системи становить від $50 000 до $150 000 залежно від складності.

В одному проекті з портфелем з 10 активів MARL знизив максимальну просадку з 18% до 12% і збільшив Sharpe з 1.2 до 1.7. Для портфеля в $1 млн це зекономило $60 000. Інвестиції в розробку окупилися за 6 місяців торгівлі. Порівняно з single-agent RL, MARL дозволяє знижувати просадки на 20–35% і підвищувати Sharpe ratio на 0.3–0.7, що робить його у 2 рази ефективнішим за Sharpe ratio. Крім того, MARL у 3–5 разів перевершує single-agent RL за стійкістю до змін ринкового режиму. Наші спеціалісти мають сертифікати AWS та NVIDIA, що гарантує якість розробки.

Чи ефективний MARL у трейдингу?

Single-agent RL страждає від концептуального дрейфу: стратегія, яка працювала в bull market, втрачає ефективність при зміні режиму. MARL вирішує цю проблему через спеціалізацію. Кожен агент навчається на певному типі ринкових рухів, а мета-агент (координатор) адаптивно зважує їхні рекомендації. Це знижує просадки на 20–35% і збільшує Sharpe ratio на 0.3–0.7 порівняно з single-agent RL. Крім того, MARL дозволяє диверсифікувати стратегії, що критично для портфелів з кількома активами.

Як MARL адаптується до ринкових режимів?

Один універсальний агент страждає від концептуального дрейфу: при bull market працює momentum-стратегія, при sideways — mean reversion, при high-volatility — хеджування. MARL вирішує через спеціалізацію та ансамблювання. Декомпозиція задачі:

  • Agent₁: Momentum/Trend following (RSI, MACD, Moving Averages)
  • Agent₂: Mean Reversion (Bollinger Bands, Z-score)
  • Agent₃: Volatility/Options-like hedging
  • Meta-agent (coordinator): зважує рекомендації агентів

Розподіл за активами:

  • Agent per asset: кожен агент спеціалізується на одному інструменті
  • Hierarchical: master agent керує капіталом, sub-agents торгують секторами

Як розподіляється reward між агентами?

Ключове питання MARL — як ділити загальний PnL між агентами. Варіанти:

  • Individual rewards: кожен оптимізує свій PnL — можливі конфлікти (агенти торгують один проти одного).
  • Shared team reward: всі отримують однаковий reward (загальний PnL) — вирішує конфлікти, але ускладнює атрибуцію.
  • COMA винагорода (Counterfactual Multi-Agent): reward агента i = загальний reward - counterfactual (що було б без агента i). Справедлива атрибудія внеску.
Метод Опис Стабільність Застосовність
Individual Кожен агент отримує свій PnL Низька (конфлікти) Прості задачі, 2–3 агенти
Shared Всі отримують загальний PnL Висока Командні сценарії
COMA Counterfactual baseline Дуже висока Комплексні портфелі, 5+ агентів
def counterfactual_reward(global_reward, baseline_rewards, agent_idx): """global_reward - E[reward | other agents' actions, marginalizing over agent_i]""" return global_reward - baseline_rewards[agent_idx] 

Порівняння підходів MARL

Підхід Навчання Виконання Стабільність Складність Рекомендований сценарій
Independent Learners (IL) Незалежне Локальне Низька Низька Прості середовища, 2–3 агенти
CTDE (MADDPG) Централізоване Локальне Висока Середня Continuous actions, до 5 агентів
COMA CTDE з counterfactual Локальне Дуже висока Висока Комплексні портфелі, 5+ агентів

Стек і кейс

Ми використовуємо Centralized Training, Decentralized Execution (CTDE) через MADDPG на Ray RLlib. Приклад ієрархічної системи:

Level 0 (Portfolio Manager): Input: market regime + agent signals Output: capital allocation weights Level 1 (Strategy Agents): Agent Trend: signal ∈ {buy, hold, sell} + confidence Agent MeanRev: signal ∈ {buy, hold, sell} + confidence Agent Momentum: signal ∈ {buy, hold, sell} + confidence Level 2 (Risk Manager): Input: proposed positions + portfolio state Output: position limits + stop-loss levels 

Портфельний менеджер як meta-learner:

class PortfolioManager(nn.Module): def __init__(self, n_agents, n_assets): super().__init__() self.regime_detector = RegimeDetector() self.allocation_net = nn.Sequential( nn.Linear(n_agents * 3 + regime_dim, 128), nn.ReLU(), nn.Linear(128, n_assets), nn.Softmax(dim=-1) ) def forward(self, agent_signals, market_features): regime = self.regime_detector(market_features) x = torch.cat([agent_signals.flatten(1), regime], dim=1) return self.allocation_net(x) 

Для визначення ринкового режиму використовуємо приховану марковську модель (HMM) з трьома станами: bull, bear, sideways (HMM виявлення режиму).

Архітектура HMM для regime detection

Прихована марковська модель (HMM) з 3 станами та емісійними розподілами Гаусса. Параметри навчаються на історичних даних методом максимізації правдоподібності (алгоритм Баума-Велча). На кожному кроці фільтр частинок (particle filter) оцінює поточний стан. Це дозволяє адаптивно зважувати стратегії агентів. Згідно з дослідженням Lowe et al. (2017), Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments, CTDE архітектура показує високу ефективність.

Вибір фреймворку для MARL

Рекомендуємо Ray RLlib з PettingZoo. Він підтримує CTDE, COMA та розподілене навчання з коробки.

from ray.rllib.algorithms.maddpg import MADDPGConfig config = (MADDPGConfig() .environment(env="MultiAgentTradingEnv") .multi_agent( policies={ "trend_agent": (None, obs_space, act_space, {"gamma": 0.99}), "meanrev_agent": (None, obs_space, act_space, {"gamma": 0.95}), }, policy_mapping_fn=lambda agent_id, **kw: agent_id, ) .training(n_step=1, tau=0.01) ) trainer = config.build() for i in range(1000): result = trainer.train() 

Процес роботи

  1. Аналітика: збір вимог, аналіз ринкових даних, визначення агентів і режимів.
  2. Проектування: вибір архітектури (IL/CTDE/COMA), специфікація спостережень і дій.
  3. Реалізація: написання коду, навчання на історичних даних, налаштування гіперпараметрів (learning rate, gamma, tau).
  4. Тестування: backtest на OOS даних, stress-test, paper trading.
  5. Деплой: інтеграція з брокерським API, налаштування моніторингу (Weights & Biases, MLflow).

Що входить в роботу

  • Документація архітектури та рішень.
  • Навчені моделі з конфігами та логами.
  • Вихідний код з CI/CD (GitHub Actions).
  • Моніторинг агентів (Weights & Biases, MLflow).
  • Документація з експлуатації.
  • Навчання вашої команди (1–2 майстер-класи).

Практичні міркування

Coordination overhead: MARL система складніша у відлагодженні. Потрібні інструменти для моніторингу кожного агента окремо та їхньої взаємодії. Overfitting до ансамблю: якщо агенти надто схожі (кореляція сигналів > 0.8) — ансамбль не дає диверсифікації. Обчислювальна вартість: MARL у 3–5× дорожчий за single-agent по GPU годинах. Окупається зниженням просадок на 20–35% та зростанням Sharpe.

Терміни

  • Базова ієрархія з 2–3 агентами: 8 тижнів.
  • Повноцінна MARL система з CTDE, counterfactual rewards, regime detection: 20–24 тижні.

Точна вартість розраховується індивідуально після аналізу ваших даних та вимог. Наш досвід — 7+ років у RL, 40+ проектів у quantitative finance. Зв'яжіться з нами для оцінки вашого проекту. Замовте розробку MARL-системи та підвищте дохідність портфеля. Отримайте консультацію з MARL для вашого портфеля.