Открытый фреймворк, который воспроизводит структуру трейдинговой фирмы: аналитики, исследователи-спорщики, трейдер, риск-менеджеры и портфельный управляющий на разных моделях.
TradingAgents превращает анализ акции в многошаговый разговор нескольких LLM-агентов: четыре аналитика собирают фундаментал, теханализ, новости и сентимент, исследователи устраивают дебаты «бык против медведя», трейдер формулирует сделку, риск-менеджеры её проверяют, а портфельный управляющий утверждает. Проект Tauric Research набрал 115 842 звезды GitHub к 26.10.2026 и выпускает релизы почти каждые две недели — последний, v0.7.0, вышел 16.10.2026.
Ниже — что именно входит в фреймворк, как он ставится, какие провайдеры моделей поддерживаются, что показывает бэктест и где граница между исследовательским инструментом и «роботом, который зарабатывает». Все метрики взяты из GitHub API, README репозитория и карточки статьи arXiv 2412.20138 — данные сняты 26.10.2026.
TradingAgents — это не «модель, которая предсказывает цену», а оркестратор ролей. Каждая роль — отдельный LLM-агент со своим набором инструментов: фундаментальный аналитик тянет отчётность, аналитик новостей читает ленту, аналитик сентимента собирает StockTwits и Reddit, технический считает MACD и RSI. Оркестрация построена на LangGraph, то есть весь прогон — это граф состояний, который можно остановить, сохранить в чекпоинт и продолжить.
Ключевое отличие от одиночного «промпта про акцию» — принудительный спор. После сбора отчётов включаются два исследователя (бычий и медвежий), затем трейдер собирает решение, риск-команда его оспаривает, а портфельный управляющий утверждает или отклоняет заявку. Решение уходит на симулированную биржу. Такая схема ближе к тому, как реально устроен исследовательский отдел, и её же авторы описывают в статье arXiv 2412.20138.
TradingAgents — не единственный открытый проект про LLM и рынки, поэтому полезно смотреть на него рядом с соседями. Ниже — звёзды GitHub у четырёх фреймворков, снятые в один день. Разница важна: OpenBB — это прежде всего платформа данных, ai-hedge-fund — учебный фонд с агентами-инвесторами, FinRobot — исследовательский фреймворк для отчётности.
| Проект | Класс | Лицензия | Звёзды |
|---|---|---|---|
| TradingAgents | Мультиагентный оркестратор на LangGraph | Apache-2.0 | 115 842 |
| OpenBB | Платформа рыночных данных и терминал | NOASSERTION | 74 745 |
| ai-hedge-fund | Учебный фонд с агентами-инвесторами | MIT | 64 274 |
| FinRobot | Исследовательская автоматизация отчётности | Apache-2.0 | 8 313 |
Роли в фреймворке не декоративные: у каждой свой системный промпт, свой набор инструментов и свой уровень модели. По умолчанию быстрая модель обслуживает аналитиков и трейдера, а глубокая — менеджеров: именно менеджеры принимают решения, где цена ошибки выше.
| Роль | Что делает | Модель по умолчанию |
|---|---|---|
| Fundamentals Analyst | Отчётность из SEC EDGAR и Yahoo Finance, мультипликаторы | быстрая |
| Sentiment Analyst | StockTwits, Reddit; опционально фильтр TypeSafe Jev | быстрая |
| News Analyst | Глобальные новости и макро-индикаторы | быстрая |
| Technical Analyst | MACD, RSI и другие индикаторы по ценовому ряду | быстрая |
| Bull / Bear Researcher | Структурированные дебаты по отчётам аналитиков | быстрая |
| Trader | Собирает решение по тикеру и дате | быстрая |
| Risk Team | Оценивает волатильность, ликвидность, риск портфеля | глубокая |
| Portfolio Manager | Утверждает или отклоняет заявку | глубокая |
Отдельно стоит блок памяти. Каждый завершённый прогон дописывает решение в журнал ~/.tradingagents/memory/trading_memory.md, а более поздний прогон «закрывает» те решения, у которых истёк горизонт удержания: подтягивает реализованную доходность, считает альфу к региональному бенчмарку и пишет короткую рефлексию. Портфельный управляющий читает последние решения по тому же тикеру и свежие уроки по другим — то есть система переносит опыт между прогонами.
Пакета в PyPI нет — установка из исходников, Python 3.11 или новее. С версии v0.7.0 к каждому GitHub-релизу прикладывают wheel, но самый предсказуемый путь — виртуальное окружение и uv pip install . в клоне репозитория.
git clone https://github.com/TauricResearch/TradingAgents.git
uv venv --python 3.13
source .venv/bin/activate
uv pip install .
cp .env.example .env
tradingagents
Для скриптов и расписаний CLI работает без вопросов: аргументы закрывают шаг за шагом, а остальное берётся из переменных TRADINGAGENTS_*. Без терминала прогон не начнётся молча — он назовёт флаг или переменную, которой не хватает.
export TRADINGAGENTS_LLM_PROVIDER=openai export TRADINGAGENTS_QUICK_THINK_LLM=gpt-6-luna tradingagents --ticker NVDA --date 2026-09-23 --save
docker compose run --rm tradingagents поднимает прогон, данные и кэш лежат в томе tradingagents_data. Каталог можно переопределить переменной TRADINGAGENTS_DATA_DIR. Для локальных моделей есть профиль ollama.Тикер задаётся в формате Yahoo Finance с суффиксом биржи: AAPL и SPY для США, 0700.HK для Гонконга, 7203.T для Токио, 600519.SS для Шанхая, BTC-USD для крипты. Компания и региональный бенчмарк определяются автоматически по тикеру — это важно для корректной альфы в бэктесте.
Модель — сменная деталь: фреймворк поддерживает и зарубежные API, и локальные серверы, и даже подписку ChatGPT Plus/Pro вместо ключа. Последнее особенно практично, если ключа нет: вход выполняется командой tradingagents login chatgpt, токен хранится в ~/.tradingagents/chatgpt-auth.json, а прогоны расходуют лимиты тарифа.
| Провайдер | Переменная | Примечание |
|---|---|---|
| OpenAI | OPENAI_API_KEY | по умолчанию GPT-6 Sol / Luna |
| Anthropic | ANTHROPIC_API_KEY | можно вынести только менеджеров на Claude |
| GOOGLE_API_KEY | Gemini | |
| DeepSeek, Groq, Mistral | DEEPSEEK_API_KEY и др. | быстрые дешёвые модели для аналитиков |
| Qwen (DashScope) | DASHSCOPE_API_KEY | международный и китайский эндпоинты |
| GLM, MiniMax, Kimi | ZHIPU_API_KEY, MINIMAX_API_KEY | отдельные ключи для CN-региона |
| Ollama | OLLAMA_BASE_URL | по умолчанию localhost:11434/v1 |
| vLLM, LM Studio, llama.cpp | backend_url | любой OpenAI-совместимый сервер |
| Azure OpenAI | .env.enterprise | корпоративный контур |
| AWS Bedrock | pip install .[bedrock] | ключи AWS и регион |
Один прогон даёт одно решение — по нему нельзя судить о качестве системы. Поэтому в фреймворке есть сетка: run_backtest прогоняет пайплайн по набору тикеров и дат, пишет собственный журнал памяти и оценивает те решения, у которых горизонт удержания уже закрылся. Каждая ячейка скорится по реализованной альфе к региональному бенчмарку и группируется по рейтингу.
tradingagents backtest NVDA --start 2026-06-01 --every 7
Важная деталь честности: вход считается по первому закрытию после даты анализа, потому что прогон читает новости, вышедшие уже после закрытия. Фундаментал из SEC EDGAR подаётся «как было подано»: если отчётность за fiscal year ещё не зарегистрирована на дату прогона, агент её не увидит. Apple за 2008 год подала совокупные активы $39,6 млрд, а в 2010 пересчитала до $36,2 млрд — прогон с датой между этими событиями увидит первую цифру.
--checkpoint) сохраняют состояние после каждого узла: упавший прогон продолжается с последнего шага, а не с нуля.~/.tradingagents/cache/checkpoints/, файл на каждый тикер.complete_report.html — удобно читать с телефона.tradingagents --portfolio my_book.json.Фреймворк честно позиционируется как исследовательский: в README и на сайте Tauric прямо сказано, что результат зависит от выбранных моделей, температуры, периода и качества данных, и что это не инвестиционная рекомендация. Практический смысл — не «получить сигнал», а посмотреть, как разные модели ведут себя на одной методике, и сравнить их между собой.
Поэтому разумный сценарий: локальная установка, один-два тикера на дешёвых моделях, сравнение выводов с собственной ручной оценкой, и только потом — сетка бэктеста на нескольких месяцах. Если задача — торговать, фреймворк даёт лишь аргументы; исполнение и риск остаются на человеке.