TradingAgents 中文增强版是一套基于多智能体大语言模型的 金融交易决策框架, 特别为中文用户优化,覆盖 A股 / 港股 / 美股 的智能化分析与研究场景。
TradingAgents 是一个模拟真实交易公司运作模式的多智能体交易框架。通过部署由大语言模型驱动的专业智能体——从基本面分析师、情绪分析师、技术分析师,到交易员和风险管理团队,平台能够协同评估市场状况并制定交易决策。这些智能体还会进行动态讨论以确定最优策略。
TradingAgents 框架仅供研究目的使用。交易表现可能因多种因素而异,包括所选的基础语言模型、模型温度、交易周期、数据质量以及其他非确定性因素。它不构成财务、投资或交易建议。 我们的框架将复杂的交易任务分解为专门的职能角色。这确保了系统能够以稳健、可扩展的方式进行市场分析和决策。
分析师团队
-
基本面分析师:评估公司财务和业绩指标,识别内在价值及潜在风险信号。
-
情绪分析师:整合新闻标题、StockTwits 和 Reddit 讨论,形成单一情绪读数,以衡量短期市场情绪。
-
新闻分析师:监控全球新闻和宏观经济指标,解读事件对市场状况的影响。
-
技术分析师:利用技术指标(如 MACD 和 RSI)检测交易模式并预测价格走势。
研究团队
- 由看涨和看空的研究人员组成,他们批判性地评估分析师团队提供的见解。通过结构化辩论,平衡潜在收益与固有风险。
交易代理
- 整合分析师和研究人员的报告,做出明智的交易决策。根据全面的市场洞察,确定交易的时机和规模。
风险管理和投资组合经理
-
通过评估市场波动性、流动性及其他风险因素,持续评估投资组合风险。风险管理团队评估并调整交易策略,向投资组合经理提供评估报告以供最终决策。
-
投资组合经理批准/拒绝交易提案。若获批,订单将发送至模拟交易所并执行。
安装与命令行界面
安装
克隆TradingAgents:
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
在你喜欢的任意环境管理器中创建一个虚拟环境:
conda create -n tradingagents python=3.13
conda activate tradingagents
安装该包及其依赖项:
pip install .
Docker
或者,使用 Docker 运行:
cp .env.example .env # add your API keys
docker compose run --rm tradingagents
使用 Ollama 运行本地模型:
docker compose --profile ollama run --rm tradingagents-ollama
所需 API
TradingAgents 支持多种 LLM 提供商。为你选择的提供商设置 API 密钥:
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=... # DeepSeek
export DASHSCOPE_API_KEY=... # Qwen — International (dashscope-intl.aliyuncs.com)
export DASHSCOPE_CN_API_KEY=... # Qwen — China (dashscope.aliyuncs.com)
export ZHIPU_API_KEY=... # GLM via Z.AI (international)
export ZHIPU_CN_API_KEY=... # GLM via BigModel (China, open.bigmodel.cn)
export MINIMAX_API_KEY=... # MiniMax — Global (api.minimax.io, M2.x, 204K ctx)
export MINIMAX_CN_API_KEY=... # MiniMax — China (api.minimaxi.com, M2.x, 204K ctx)
export OPENROUTER_API_KEY=... # OpenRouter
export ALPHA_VANTAGE_API_KEY=... # Alpha Vantage
对于企业级提供商(例如 Azure OpenAI、AWS Bedrock),将 .env.enterprise.example 复制为 .env.enterprise 并填写你的凭据。
对于本地模型,使用 llm_provider: "ollama" 配置 Ollama。默认端点为 http://localhost:11434/v1;设置 OLLAMA_BASE_URL 指向远程的 ollama-serve。通过 ollama pull <name> 拉取模型,并在 CLI 中选择“自定义模型 ID”以使用默认列表中未列出的任何模型。
或者,将 .env.example 复制为 .env 并填写你的密钥:
cp .env.example .env
CLI 使用
启动交互式 CLI:
tradingagents # installed command
python -m cli.main # alternative: run directly from source
你将看到一个界面,可以在其中选择所需的股票代码、分析日期、LLM 提供商、研究深度等。
界面将显示加载中的结果,让你能够跟踪代理的运行进度。
TradingAgents 包
实现细节
我们使用 LangGraph 构建了 TradingAgents,以确保灵活性和模块化。该框架支持多种 LLM 提供商:OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen(阿里云百炼,国际和中国端点)、GLM(智谱)、MiniMax(全球 + 中国)、OpenRouter、用于本地模型的 Ollama,以及用于企业的 Azure OpenAI。
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", "2026-01-15")
print(decision)
您还可以调整默认配置,以设置您自己的 LLM 选择、辩论轮次等。
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai" # openai, google, anthropic, xai, deepseek, qwen, qwen-cn, glm, glm-cn, minimax, minimax-cn, openrouter, ollama, azure
config["deep_think_llm"] = "gpt-5.4" # Model for complex reasoning
config["quick_think_llm"] = "gpt-5.4-mini" # Model for quick tasks
config["max_debate_rounds"] = 2
ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)
所有配置选项请参阅 tradingagents/default_config.py。
持久化与恢复
TradingAgents 在多次运行之间持久化两种状态。
决策日志
决策日志始终开启。每次完成的运行都会将其决策追加到 ~/.tradingagents/memory/trading_memory.md。在针对同一标的的下一次运行时,TradingAgents 会获取已实现收益(原始收益以及与 SPY 对比的 Alpha 收益),生成一段反思总结,并将最近同标的的决策以及近期跨标的的经验教训注入到投资组合管理器的提示中,从而使每次分析都能延续之前有效和无效的经验。
可通过 TRADINGAGENTS_MEMORY_LOG_PATH 覆盖路径。
检查点恢复
检查点恢复通过 --checkpoint 选择启用。启用后,LangGraph 会在每个节点后保存状态,因此崩溃或中断的运行会从最后一个成功步骤恢复,而不是从头开始。在恢复运行时,您会在日志中看到 Resuming from step N for <TICKER> on <date>;在新运行时,您会看到 Starting fresh。成功完成后,检查点会自动清除。
每个交易品种的 SQLite 数据库位于 ~/.tradingagents/cache/checkpoints/<TICKER>.db(可通过 TRADINGAGENTS_CACHE_DIR 覆盖基础路径)。在运行前使用 --clear-checkpoints 重置所有检查点。
tradingagents analyze --checkpoint # enable for this run
tradingagents analyze --clear-checkpoints # reset before running
config = DEFAULT_CONFIG.copy()
config["checkpoint_enabled"] = True
ta = TradingAgentsGraph(config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")