## 项目概述

TradingAgents 是一个基于多智能体 LLM 的金融交易框架，由 TauricResearch 开发，旨在模拟真实交易公司的运作方式。该框架部署了多个专业化的 LLM 智能体，包括基本面分析师、情绪分析师、技术分析师、交易员、风险管理团队等，通过协作评估市场状况并做出交易决策。这些智能体还会进行动态讨论，以确定最佳策略。该项目主要用于研究目的，不构成财务、投资或交易建议。

## 核心功能

- **多智能体协作**：框架将复杂的交易任务分解为多个专业角色，包括分析师团队（基本面、情绪、新闻、技术）、研究员团队（看涨和看跌）、交易员、风险管理团队和投资组合经理。
- **动态讨论**：智能体之间通过结构化辩论（如看涨与看跌研究员的辩论）来平衡潜在收益与风险。
- **多提供商支持**：支持多种 LLM 提供商，包括 OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen、GLM、MiniMax、OpenRouter、Ollama 和 Azure OpenAI。
- **数据集成**：集成 Yahoo Finance、Alpha Vantage、FRED、Polymarket 等数据源，支持股票、加密货币等多种市场。
- **持久化与恢复**：提供决策日志和检查点恢复功能，支持中断后从上次成功步骤继续运行。
- **可配置性**：通过配置文件或环境变量可调整 LLM 提供商、模型、辩论轮数、温度等参数。
- **多语言输出**：支持多种语言的报告输出，内部辩论保持英文以保证推理质量。
- **CLI 和 Python API**：提供交互式命令行界面和 Python 包，方便集成到其他代码中。

## 适用与不适用场景

**适用场景：**

- 研究多智能体 LLM 在金融决策中的应用。
- 模拟交易策略的开发和回测。
- 教育和学术研究，探索 LLM 在金融领域的潜力。
- 需要多源数据（新闻、社交媒体、技术指标）综合分析的市场研究。

**不适用场景：**

- 作为实际投资或交易建议的工具（项目明确声明不构成财务建议）。
- 需要确定性结果的生产环境（LLM 输出具有随机性）。
- 对实时性要求极高的高频交易（框架设计为研究用途，非实时交易系统）。
- 缺乏稳定 API 密钥或数据源的环境（依赖外部 API）。

## 技术架构与依赖

- **语言**：Python 3.10-3.13。
- **核心框架**：LangGraph 用于智能体编排和状态管理。
- **LLM 提供商**：OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen、GLM、MiniMax、OpenRouter、Ollama、Azure OpenAI、Amazon Bedrock 等。
- **数据源**：Yahoo Finance（yfinance）、Alpha Vantage、FRED、Polymarket、StockTwits、Reddit 等。
- **其他依赖**：Pydantic（结构化输出）、SQLite（检查点存储）、Docker（容器化部署）等。
- **许可证**：Apache-2.0。

## 安装与快速开始

### 安装

克隆仓库并创建虚拟环境：

```bash
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
conda create -n tradingagents python=3.12
conda activate tradingagents
pip install .
```

### Docker 方式

```bash
cp .env.example .env  # 添加你的 API 密钥
docker compose run --rm tradingagents
```

### 配置 API 密钥

根据所选提供商设置环境变量，例如：

```bash
export OPENAI_API_KEY=...
export GOOGLE_API_KEY=...
export ANTHROPIC_API_KEY=...
# 更多提供商密钥见 README
```

### 启动 CLI

```bash
tradingagents
# 或
python -m cli.main
```

## 典型使用方法

### Python 包使用

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

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

### 自定义配置

```python
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai"
config["deep_think_llm"] = "gpt-5.5"
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")
```

### 检查点恢复

```bash
tradingagents analyze --checkpoint           # 启用检查点
tradingagents analyze --clear-checkpoints    # 重置检查点
```

## 配置与部署要点

- **环境变量**：所有配置可通过 `TRADINGAGENTS_*` 环境变量覆盖，例如 `TRADINGAGENTS_LLM_BACKEND_URL`、`TRADINGAGENTS_TEMPERATURE` 等。
- **模型目录**：默认模型目录包含当前主流模型，可通过“自定义模型 ID”选项使用任何模型。
- **数据供应商**：可配置数据供应商列表，支持 Yahoo Finance、Alpha Vantage、FRED、Polymarket 等，供应商失败时优雅降级。
- **持久化路径**：决策日志和检查点默认存储在 `~/.tradingagents/`，可通过环境变量覆盖。
- **Docker 部署**：支持 Docker Compose，可配置 Ollama 本地模型。
- **企业部署**：支持 Azure OpenAI 和 AWS Bedrock，需额外配置。

## 限制、风险与许可证

- **研究用途**：框架仅用于研究，不构成财务建议，交易表现受多种因素影响。
- **非确定性**：LLM 输出具有随机性，同一 ticker 和日期的两次运行可能不同。
- **数据依赖**：依赖外部 API，数据质量和可用性可能影响结果。
- **安全**：已修复 ticker 路径遍历漏洞，但用户仍需注意输入验证。
- **许可证**：Apache-2.0，允许自由使用和修改，但需保留版权声明。

## 官方链接

- GitHub 仓库：https://github.com/TauricResearch/TradingAgents
- arXiv 论文：https://arxiv.org/abs/2412.20138
- Discord 社区：https://discord.com/invite/hk9PGKShPK
- X (Twitter)：https://x.com/TauricResearch
- 免责声明：https://tauric.ai/disclaimer/

## 信息来源和分析时间

- 信息来源：GitHub 仓库 README、CHANGELOG.md、最新发布信息（v0.3.1）。
- 分析时间：2026-07-05（基于最新发布版本）。