← К списку статей
May 12, 2026
5 мин. чтения

TradingAgents: мультиагентный AI-фреймворк для торговли, который моделирует хедж-фонд

TradingAgents: мультиагентный AI-фреймворк для торговли, который моделирует хедж-фонд
#AI
#мультиагентные системы
#LangGraph
#LLM
#трейдинг
#автоматизация
#риск-менеджмент

Мультиагентная система TradingAgents

Большинство AI-торговых проектов — это один LLM, которому скормили данные и попросили «принять решение». TradingAgents (GitHub, arXiv: 2412.20138) идёт другим путём: вместо одного агента — целый штат трейдинговой фирмы, где каждая роль выполнена отдельным LLM-агентом со своими инструментами, данными и промптом.

Фреймворк построен на LangGraph — state machine для оркестрации графов LLM-агентов. Результат: система, которая не просто «смотрит на данные», а спорит сама с собой, прежде чем принять решение.

Архитектура: от данных до решения

Пайплайн принятия решений

Весь пайплайн — это направленный ациклический граф (DAG) из 12 узлов, через которые последовательно проходит состояние торговой сессии:

Analyst Team → Research Debate → Trader → Risk Debate → Portfolio Manager → BUY/HOLD/SELL

Каждый узел — отдельный LLM-агент с доступом к специфическим инструментам. Граф компилируется и исполняется через LangGraph.StateGraph.

Команда аналитиков: четыре специализации

Первый слой системы — четыре аналитика, каждый со своим набором инструментов и фокусом.

1. Fundamentals Analyst

Оценивает фундаментальные показатели компании:

Инструмент Что делает
get_fundamentals P/E, P/B, дивидендная доходность, ROE
get_balance_sheet Активы, обязательства, equity
get_cashflow Операционный и свободный денежный поток
get_income_statement Выручка, прибыль, маржинальность

Агент ищет несоответствия между рыночной ценой и внутренней стоимостью. Источник данных — yFinance или Alpha Vantage (переключается через конфиг).

2. Sentiment Analyst

Агрегирует настроения из трёх источников:

  • Yahoo Finance News — институциональный фрейминг, факт-ориентированный сигнал
  • StockTwits — розничные трейдеры, сообщения с тегами Bullish/Bearish
  • Reddit — r/wallstreetbets, r/stocks, r/investing

Критическая деталь: агент предварительно загружает все данные и инжектит в промпт как структурированные блоки. Нет tool-calling — нет галлюцинаций. LLM видит реальные данные с первого токена.

3. News Analyst

Мониторит:

  • Тикер-специфичные новости
  • Глобальные/макроэкономические новости (ФРС, геополитика, commodities)
  • Инсайдерские транзакции (get_insider_transactions)

Макро-запросы настраиваются в конфиге (global_news_queries): ФРС, S&P 500, геополитика, центробанки, энергетика.

4. Technical/Market Analyst

Работает с техническими индикаторами:

  • get_stock_data — OHLCV-данные
  • get_indicators — MACD, RSI, Bollinger Bands, скользящие средние

Использует tool-calling: LLM сам решает, какие индикаторы запросить, на основе текущего контекста.

Исследовательские дебаты: Bull vs Bear

Дебаты агентов

После того как аналитики сформировали отчёты, начинается структурированная дискуссия:

  1. Bull Researcher — строит бычий тезис на основе отчётов аналитиков
  2. Bear Researcher — строит медвежий контртезис
  3. Они спорят в несколько раундов (настраивается через max_debate_rounds)
  4. Research Manager (deep thinking LLM) — выносит вердикт, синтезируя обе позиции

Это ключевое архитектурное решение: вместо того чтобы один LLM «решал» (confirmation bias), система формализует adversarial thinking. Bull видит возможности, Bear видит риски, Manager взвешивает.

Трейдер: синтез в решение

Trader Agent получает:

  • Четыре отчёта аналитиков
  • Вердикт Research Manager

И формирует конкретное торговое предложение: BUY / HOLD / SELL, с обоснованием и sizing.

Риск-менеджмент: тройной фильтр

Предложение трейдера проходит через трёх риск-менеджеров, которые тоже дебатируют между собой:

Агент Профиль
Aggressive Analyst Высокий risk tolerance, фокус на потенциале
Neutral Analyst Балансирует risk/reward
Conservative Analyst Низкий risk tolerance, фокус на downside protection

Дебаты проходят в несколько раундов (max_risk_discuss_rounds). Каждый оценивает предложение через свою линзу.

Portfolio Manager: финальное решение

Portfolio Manager (deep thinking LLM) получает:

  • Предложение трейдера
  • Результаты риск-дебатов
  • Память прошлых решений — рефлексия по предыдущим сделкам с этим тикером

И выносит финальное решение: одобрить, отклонить или скорректировать сделку.

Рефлексивная память

Система ведёт decision log (~/.tradingagents/memory/trading_memory.md). На каждом следующем запуске для того же тикера:

  1. Загружает реализованную доходность (raw return + alpha vs SPY)
  2. Генерирует рефлексию: что сработало, что нет
  3. Инжектит историю в промпт Portfolio Manager

Это создаёт обучение на собственных ошибках без файн-тюнинга.

Технический стек

Компонент Технология
Оркестрация LangGraph (StateGraph, checkpoints)
LLM-провайдеры OpenAI, Google, Anthropic, xAI, DeepSeek, Qwen, GLM, MiniMax, Ollama, Azure
Данные рынка yFinance, Alpha Vantage
Социальные данные StockTwits API, Reddit API
Язык Python 3.13+
Persistence SQLite checkpoints, Markdown decision log

Два уровня LLM:

  • Deep thinking (GPT-5.4, Claude 4.x, Gemini 3.x) — для Research Manager и Portfolio Manager
  • Quick thinking (GPT-5.4-mini) — для аналитиков, трейдера, риск-менеджеров

Быстрый старт

git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents

conda create -n tradingagents python=3.13
conda activate tradingagents
pip install .

export OPENAI_API_KEY=...
tradingagents

Или через Python:

from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG

config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai"
config["deep_think_llm"] = "gpt-5.4"
config["quick_think_llm"] = "gpt-5.4-mini"
config["max_debate_rounds"] = 2

ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)

Чем это отличается от одиночного LLM

Аспект Один LLM TradingAgents
Confirmation bias Высокий Снижен через adversarial debate
Специализация Generalist 4 аналитика + 3 риск-менеджера
Данные Что подали на вход Каждый агент подтягивает свои
Рефлексия Нет Decision log + alpha tracking
Масштабирование Линейное Модульное (добавляй агентов)
Checkpoint Нет LangGraph SQLite resume

Ограничения

  1. Стоимость. 12 LLM-вызовов за один тикер × несколько раундов дебатов = десятки тысяч токенов. На GPT-5.4 это ≈$0.50–2.00 за один анализ.

  2. Только акции. Текущий data layer (yFinance/Alpha Vantage) работает с equities. Крипто, форекс, опционы — нет.

  3. Не real-time. Система анализирует конкретную дату, не потоковые данные. Подходит для дневных/недельных решений.

  4. Research disclaimer. Авторы подчёркивают: это исследовательский фреймворк, не готовое торговое решение.

Ссылки

Вывод

TradingAgents — наиболее зрелая open-source реализация мультиагентного торгового фреймворка. Ключевая идея — не «один умный LLM», а формализованный процесс принятия решений, где adversarial debate между агентами снижает confirmation bias, а рефлексивная память создаёт петлю обратной связи без файн-тюнинга.

Для практического применения основной вопрос — стоимость inference и ограничение на equities. Но как архитектурный паттерн для AI-driven торговли это эталонная реализация.

Дисклеймер: Информация в этой статье предоставлена исключительно в образовательных и ознакомительных целях и не является финансовым, инвестиционным или торговым советом. Торговля криптовалютами сопряжена с высоким риском убытков.

MarketMaker.cc Team

Количественные исследования и стратегии

Обсудить в Telegram
Newsletter

Будьте в курсе событий

Подпишитесь на нашу рассылку, чтобы получать эксклюзивную аналитику по AI-трейдингу и обновления платформы.

Мы уважаем вашу конфиденциальность. Отписаться можно в любой момент.