多智能体 LLM 金融分析系统
TradingAgents 框架
✍️
TradingAgents 是一个多智能体交易框架,模拟了真实交易公司的运作动态。通过部署由LLM驱动的专业智能体:从基本面分析师、情绪专家和技术分析师,到交易员、风险管理团队。

TradingAgents 框架专为研究目的而设计。交易表现可能因多种因素而异,包括所选的基础语言模型、模型温度、交易周期、数据质量以及其他非确定性因素。它不构成财务、投资或交易建议。
分析师团队
•
基本面分析师:评估公司财务和业绩指标,识别内在价值及潜在风险信号。
•
情绪分析师:利用情绪评分算法分析社交媒体和公众情绪,衡量短期市场情绪。
•
新闻分析师:监测全球新闻和宏观经济指标,解读事件对市场状况的影响。
•
技术分析师:运用技术指标(如MACD和RSI)识别交易模式并预测价格走势。

研究员团队
•
由看涨和看空研究员组成,他们批判性地评估分析师团队提供的见解。通过结构化辩论,平衡潜在收益与固有风险。

交易代理
•
整合分析师和研究员报告,做出明智的交易决策。基于全面的市场洞察,确定交易时机和规模。

风险管理与投资组合经理
•
通过评估市场波动性、流动性及其他风险因素,持续评估投资组合风险。风险管理团队评估并调整交易策略,向投资组合经理提供评估报告以供最终决策。
•
投资组合经理批准/拒绝交易提案。若获批准,订单将发送至模拟交易所并执行。

安装与命令行界面
安装
克隆TradingAgents:
代码块
Bash
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
在你喜欢的任意环境管理器中创建一个虚拟环境:
代码块
Bash
conda create -n tradingagents python=3.13
conda activate tradingagents
安装该包及其依赖项:
代码块
Bash
pip install .
Docker
或者,使用 Docker 运行:
代码块
Bash
cp .env.example .env # add your API keys
docker compose run --rm tradingagents
配合 Ollama 使用本地模型:
代码块
Bash
docker compose --profile ollama run --rm tradingagents-ollama
必需的 API
TradingAgents 支持多种 LLM 提供商。请为你选择的提供商设置 API 密钥:
代码块
Bash
export OPENAI_API_KEY=... # OpenAI (GPT)export GOOGLE_API_KEY=... # Google (Gemini)export ANTHROPIC_API_KEY=... # Anthropic (Claude)export XAI_API_KEY=... # xAI (Grok)export DEEPSEEK_API_KEY=... # DeepSeekexport DASHSCOPE_API_KEY=... # Qwen (Alibaba DashScope)export ZHIPU_API_KEY=... # GLM (Zhipu)export OPENROUTER_API_KEY=... # OpenRouterexport ALPHA_VANTAGE_API_KEY=... # Alpha Vantage
对于企业级提供商(例如 Azure OpenAI、AWS Bedrock),请将 .env.enterprise.example 复制为 .env.enterprise 并填写你的凭据。
对于本地模型,请在配置中使用 llm_provider: "ollama" 配置 Ollama。
或者,将 .env.example 复制为 .env 并填写你的密钥:
代码块
Bash
cp .env.example .env
CLI 使用
启动交互式 CLI:
代码块
Bash
tradingagents # installed command
python -m cli.main # alternative: run directly from source
你将看到一个界面,可以在其中选择所需的股票代码、分析日期、LLM 提供商、研究深度等。
界面会随着结果加载而显示,让你能够跟踪代理的运行进度。
TradingAgents 包
实现细节
我们使用 LangGraph 构建了 TradingAgents,以确保灵活性和模块化。该框架支持多种 LLM 提供商:OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen(阿里云 DashScope)、GLM(智谱)、OpenRouter、用于本地模型的 Ollama,以及用于企业级场景的 Azure OpenAI。
Python 使用
要在代码中使用 TradingAgents,您可以导入 tradingagents 模块并初始化一个 TradingAgentsGraph() 对象。.propagate() 函数将返回一个决策。您可以运行 main.py,以下是一个快速示例:
代码块
Python
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", "2026-01-15")
print(decision)
您还可以调整默认配置,以设置您自己选择的 LLM、辩论轮次等。
代码块
Python
有关所有配置选项,请参阅 tradingagents/default_config.py。
持久化与恢复
TradingAgents 在多次运行之间持久化两种状态。
决策日志
决策日志始终开启。每次完成的运行都会将其决策追加到 ~/.tradingagents/memory/trading_memory.md 中。在针对同一股票代码的下一次运行时,TradingAgents 会获取已实现的回报(原始回报以及与 SPY 对比的 alpha 回报),生成一段反思,并将最近相同股票代码的决策以及近期跨股票代码的经验注入到投资组合管理器的提示中,从而让每次分析都能继承之前有效和无效的经验。
通过 TRADINGAGENTS_MEMORY_LOG_PATH 覆盖路径。
检查点恢复
检查点恢复通过 --checkpoint 选择启用。启用后,LangGraph 会在每个节点之后保存状态,以便崩溃或中断的运行可以从最后成功的步骤恢复,而不是从头开始。在恢复运行时,您会在日志中看到 Resuming from step N for
每个股票代码对应的 SQLite 数据库位于 ~/.tradingagents/cache/checkpoints/
代码块
Bash
代码块
Python
config = DEFAULT_CONFIG.copy()
config["checkpoint_enabled"] = True
ta = TradingAgentsGraph(config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")