arXiv Discord WeChat X Follow
Community

TradingAgents: Фреймворк для финансового трейдинга на основе мультиагентных LLM

🎉 TradingAgents официально выпущен! Мы получили множество вопросов о нашей работе и хотели бы выразить благодарность за энтузиазм в нашем сообществе.

Поэтому мы решили полностью открыть исходный код фреймворка. С нетерпением ждем совместной работы над значимыми проектами!

Фреймворк TradingAgents

TradingAgents — это мультиагентный фреймворк для трейдинга, который отражает динамику реальных трейдинговых компаний. Платформа использует специализированных агентов на основе LLM: от аналитиков фундаментальных показателей, экспертов по сентименту и технических аналитиков до трейдеров и команды управления рисками, которые совместно оценивают рыночные условия и принимают торговые решения. Более того, эти агенты участвуют в динамических обсуждениях для определения оптимальной стратегии.

Фреймворк TradingAgents предназначен для исследовательских целей. Результаты трейдинга могут варьироваться в зависимости от множества факторов, включая выбранные базовые языковые модели, температуру модели, торговые периоды, качество данных и другие недетерминированные факторы. Он не предназначен для предоставления финансовых, инвестиционных или торговых рекомендаций.

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

Команда аналитиков

  • Аналитик фундаментальных показателей: Оценивает финансовые показатели компаний и метрики производительности, выявляя внутреннюю стоимость и потенциальные риски.
  • Аналитик сентимента: Анализирует социальные сети и общественное настроение с помощью алгоритмов оценки сентимента для определения краткосрочного рыночного настроения.
  • Аналитик новостей: Мониторит глобальные новости и макроэкономические индикаторы, интерпретируя влияние событий на рыночные условия.
  • Технический аналитик: Использует технические индикаторы (такие как MACD и RSI) для выявления торговых паттернов и прогнозирования движения цен.

Команда исследователей

  • Включает как бычьих, так и медвежьих исследователей, которые критически оценивают аналитику, предоставленную Аналитической Командой. Через структурированные дебаты они балансируют потенциальную прибыль с присущими рисками.

Трейдер-Агент

  • Формирует отчеты на основе данных аналитиков и исследователей для принятия обоснованных торговых решений. Определяет время и объем сделок, опираясь на комплексное понимание рынка.

Управление рисками и Портфельный менеджер

  • Постоянно оценивает риски портфеля, анализируя волатильность рынка, ликвидность и другие факторы риска. Команда управления рисками анализирует и корректирует торговые стратегии, предоставляя оценочные отчеты Портфельному менеджеру для окончательного решения.
  • Портфельный менеджер утверждает/отклоняет торговое предложение. В случае одобрения ордер отправляется на симулированную биржу для исполнения.

Установка и CLI

Установка

Клонируйте TradingAgents:

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

Создайте виртуальное окружение в предпочитаемом менеджере окружений:

conda create -n tradingagents python=3.13
conda activate tradingagents

Установите зависимости:

pip install -r requirements.txt

Необходимые API

Вам также понадобится FinnHub API для финансовых данных. Весь наш код работает с бесплатным тарифом.

export FINNHUB_API_KEY=$YOUR_FINNHUB_API_KEY

Для работы всех агентов требуется OpenAI API.

export OPENAI_API_KEY=$YOUR_OPENAI_API_KEY

Использование CLI

Вы можете протестировать CLI напрямую, выполнив:

python -m cli.main

Появится экран, где можно выбрать нужные тикеры, дату, LLM-модели, глубину исследования и т.д.

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

Пакет TradingAgents

Детали реализации

Мы разработали TradingAgents на LangGraph для обеспечения гибкости и модульности. В экспериментах мы используем o1-preview и gpt-4o как LLM-модели для глубокого и быстрого анализа. Однако для тестирования рекомендуем o4-mini и gpt-4.1-mini для экономии, так как наш фреймворк делает очень много API-вызовов.

Использование в Python

Для использования TradingAgents в вашем коде импортируйте модуль tradingagents и инициализируйте объект TradingAgentsGraph(). Функция .propagate() вернет решение. Вы можете запустить main.py, вот краткий пример:

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

ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())

# forward propagate
_, decision = ta.propagate("NVDA", "2024-05-10")
print(decision)

Вы также можете настроить конфигурацию по умолчанию, чтобы выбрать свои предпочтения по LLM, количеству раундов дебатов и другим параметрам.

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

# Create a custom config
config = DEFAULT_CONFIG.copy()
config["deep_think_llm"] = "gpt-4.1-nano"  # Use a different model
config["quick_think_llm"] = "gpt-4.1-nano"  # Use a different model
config["max_debate_rounds"] = 1  # Increase debate rounds
config["online_tools"] = True # Use online tools or cached data

# Initialize with custom config
ta = TradingAgentsGraph(debug=True, config=config)

# forward propagate
_, decision = ta.propagate("NVDA", "2024-05-10")
print(decision)

Для online_tools мы рекомендуем включать их для экспериментов, так как они предоставляют доступ к данным в реальном времени. Оффлайн-инструменты агентов используют кэшированные данные из нашей Tauric TradingDB — курируемого набора данных, который мы используем для бэктестинга. В настоящее время мы работаем над улучшением этого набора данных и планируем выпустить его в ближайшее время вместе с нашими будущими проектами. Следите за обновлениями!

Полный список конфигураций можно посмотреть в файле tradingagents/default_config.py.

Вклад в проект

Мы приветствуем вклад сообщества! Будь то исправление ошибки, улучшение документации или предложение новой функции — ваши идеи помогают сделать этот проект лучше. Если вы заинтересованы в этом направлении исследований, рассмотрите возможность присоединения к нашему сообществу открытых исследований в области финансового ИИ Tauric Research.

Цитирование

Пожалуйста, ссылайтесь на нашу работу, если TradingAgents оказался вам полезен :)

@misc{xiao2025tradingagentsmultiagentsllmfinancial,
      title={TradingAgents: Multi-Agents LLM Financial Trading Framework}, 
      author={Yijia Xiao and Edward Sun and Di Luo and Wei Wang},
      year={2025},
      eprint={2412.20138},
      archivePrefix={arXiv},
      primaryClass={q-fin.TR},
      url={https://arxiv.org/abs/2412.20138}, 
}