TradingAgents 是由 Tauric Research 团队开源的一个多智能体 LLM 金融交易框架。它的核心想法很直接:既然专业的对冲基金会组建分析师团队、研究员团队、交易员和风控来协同决策,那为什么不让 AI 也这样工作?
这个项目在 GitHub 上获得了超过 6.5 万 Star,今天单日新增 3,313 个 Star,是当日 AI 赛道涨幅最高的开源项目。它配套发表了一篇学术论文(arXiv:2412.20138),来自 UCLA 的研究团队,提交于 2024 年 12 月底,2025 年 6 月更新到 v7 版本。
框架基于 LangGraph 构建,支持 OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen、GLM 等几乎所有主流 LLM,数据源来自 Alpha Vantage。值得一提的是,这个项目明确声明"仅供研究使用,不构成投资建议"——这对开源金融项目来说是非常必要的免责。
TradingAgents 的架构模拟了一家真实交易公司的组织结构。这不是简单的"多模型集成",而是有明确角色分工和协作机制的 Multi-Agent 系统。整个决策流程是一个有向无环图(DAG),由 LangGraph 驱动。
一次完整的交易决策大致经历以下步骤:
| 阶段 | 参与智能体 | 输出 |
|---|---|---|
| ① 多维分析 | 基本面 / 情绪 / 新闻 / 技术分析师 | 四份独立分析报告 |
| ② 多空辩论 | 多头研究员 vs 空头研究员 | 结构化辩论记录 |
| ③ 交易决策 | 交易员智能体 | 交易建议(方向 / 规模) |
| ④ 风险审查 | 风险管理团队 | 风险调整建议 |
| ⑤ 最终审批 | 投资组合经理 | 执行 / 拒绝指令 |
| 提供商 | 示例模型 | 适用场景 |
|---|---|---|
| OpenAI | GPT-5.x 系列 | 通用推理、快速迭代 |
| Gemini 3.x 系列 | 长上下文分析 | |
| Anthropic | Claude 4.x 系列 | 复杂推理、安全边际高 |
| xAI | Grok 4.x 系列 | 实时信息处理 |
| DeepSeek | DeepSeek 系列 | 高性价比推理 |
| Qwen | 通义千问系列 | 中文金融信息理解 |
| GLM | 智谱 GLM 系列 | 中文场景 |
| Ollama | 本地模型 | 数据隐私 / 无 API 成本 |
| Azure OpenAI | 企业部署 | 合规 / 企业场景 |
框架支持为不同角色配置不同模型——比如让"深度推理模型"负责研究员辩论,让"快速模型"负责技术分析,从而在成本和质量之间取得平衡。
框架部署了四类专业分析师,每类分析师关注市场的不同维度:
这四类分析是并行执行的,最后由交易员智能体统一汇总——这和真实基金的分析流程高度相似。
这是 TradingAgents 最具特色的创新之一。在分析师输出报告之后,框架引入"多头研究员"和"空头研究员"两个角色进行结构化辩论。
辩论机制的设计逻辑是:单一 LLM 容易陷入"迎合用户偏好"的判断偏差,而让两个专门化的智能体互相质证,可以在一定程度上减少这种偏差。每轮辩论包含:论点提出 → 对方反驳 → 综合陈述,最多可进行 max_debate_rounds 轮(默认 2 轮,可配置)。
论文中的实验表明,引入辩论机制后,交易决策的夏普比率和最大回撤均有改善。
v0.2.4 引入的两个工程特性值得关注:
~/.tradingagents/memory/trading_memory.md。这个设计让框架具备了"记忆"——后续决策可以参考历史决策的理由,形成某种程度的持续学习。风险管理团队持续监控市场波动率和流动性指标,对交易提案进行压力测试。最终是否执行由投资组合经理决定——这个角色的设定是"保守优先",可以在市场条件恶化时拒绝交易。
从实际使用的反馈来看,这个风控机制有时会被认为"过于保守",但作为研究框架,保守的风控设定是合理的。
# 克隆仓库
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
# 创建虚拟环境(Python 3.13)
conda create -n tradingagents python=3.13
conda activate tradingagents
# 安装依赖
pip install .
注意:框架要求 Python 3.13,这对一些依赖版本有严格要求。Windows 用户在 v0.2.4 之前可能会遇到 UTF-8 编码问题,升级到最新版即可解决。
# 复制配置
cp .env.example .env
# 在 .env 中填入 API Keys
# 标准运行
docker compose run --rm tradingagents
# 使用本地 Ollama 模型(无需 API Key)
docker compose --profile ollama run --rm tradingagents-ollama
| Key 名称 | 用途 | 是否必需 |
|---|---|---|
| OPENAI_API_KEY | OpenAI 模型访问 | 如使用 OpenAI 则必需 |
| GOOGLE_API_KEY | Gemini 模型访问 | 如使用 Google 则必需 |
| ANTHROPIC_API_KEY | Claude 模型访问 | 如使用 Anthropic 则必需 |
| ALPHA_VANTAGE_API_KEY | 金融数据源 | ✅ 必需(免费版有限速) |
| XAI_API_KEY | Grok 模型访问 | 可选 |
| DEEPSEEK_API_KEY | DeepSeek 模型访问 | 可选 |
⚠️ Alpha Vantage 免费 API 每分钟限制 5 次请求,做回测时容易触发限速。建议申请多个 Key 或升级到付费版。
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
# 初始化框架
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
# 对 NVDA 在指定日期进行分析
report, decision = ta.propagate("NVDA", "2026-01-15")
print("分析报告:", report)
print("交易决策:", decision)
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
config = DEFAULT_CONFIG.copy()
# 使用 OpenAI 作为提供商
config["llm_provider"] = "openai"
# 深度推理用强力模型,快速任务用轻量模型
config["deep_think_llm"] = "gpt-5.4"
config["quick_think_llm"] = "gpt-5.4-mini"
# 控制辩论轮次(轮次越多,分析越充分,但 API 成本越高)
config["max_debate_rounds"] = 3
# 启用检查点(崩溃后可恢复)
config["checkpoint_enabled"] = True
ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("AAPL", "2026-04-01")
print(decision)
# 安装后可直接使用命令行工具
tradingagents
# 或直接从源码运行
python -m cli.main
# 启用检查点恢复
tradingagents analyze --checkpoint
# 清除旧检查点后重新运行
tradingagents analyze --clear-checkpoints
CLI 会交互式地询问股票代码、分析日期、LLM 提供商等参数,对新手比较友好。
TradingAgents 与 FinRL、Qlib、StockPilot 的核心差异在于:它不是一个"策略回测框架",而是一个"AI 决策模拟框架"。
| 维度 | TradingAgents | FinRL | Microsoft Qlib |
|---|---|---|---|
| 核心范式 | Multi-Agent LLM 协作 | 深度强化学习(DRL) | ML 全流程量化平台 |
| Star 数量 | 65,298 | 15,000+ | 41,900+ |
| 是否需要训练 | ❌ 无需训练(LLM 推理即用) | ✅ 需要训练 DRL 模型 | ✅ 需要训练预测模型 |
| 数据源 | Alpha Vantage | Yahoo Finance / Alpaca / Binance 等 14 个 | 内置 Qlib 数据服务(高性能) |
| 决策可解释性 | ✅ 高(LLM 生成自然语言分析报告) | ⚠️ 中(DRL 策略较难解释) | ⚠️ 中(取决于模型类型) |
| API 成本 | ⚠️ 有(每次决策调用多次 LLM) | ✅ 无(本地训练推理) | ✅ 无(本地训练推理) |
| 适用人群 | AI 研究者 / 量化爱好者 / 金融 LLM 应用探索者 | 强化学习研究者 / 学生 | 专业量化团队 / 机构 |
| 生产可用性 | ⚠️ 研究原型(需大量改造) | ⚠️ 研究为主 | ✅ 支持生产部署 |
| 主要优势 | 决策过程透明、支持多 LLM、架构设计优雅 | 完整的 Train-Test-Trade 流程、DRL 算法丰富 | 工业级性能、完整量化全流程、模型库丰富 |
三者并非互斥,实际上你可以把 TradingAgents 的"多维分析"作为 Qlib 的信号输入之一,组合使用效果可能更好。