TradingAgents: Фреймворк для финансового трейдинга на основе мультиагентных LLM
🎉 TradingAgents официально выпущен! Мы получили множество вопросов о нашей работе и хотели бы выразить благодарность за энтузиазм в нашем сообществе.
Поэтому мы решили полностью открыть исходный код фреймворка. С нетерпением ждем совместной работы над значимыми проектами!
🚀 TradingAgents | ⚡ Установка & CLI | 🎬 Демо | 📦 Использование пакета | 🤝 Участие в разработке | 📄 Цитирование
Фреймворк 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},
}