Agent项目:TradingAgents多智能体LLM金融Agent
行业大背景
TradingAgents 框架
一个多智能体LLM金融交易框架。受此组织结构的启发,TradingAgents在一个模拟的交易公司中定义了七个不同的智能体角色:基本面分析师、情绪分析师、新闻分析师、技术分析师、研究员、交易员和风险经理。
每个智能体都被分配了特定的名称、角色、目标和一组约束,以及为其功能量身定制的预定义上下文、技能和工具。
例如,情绪分析师配备了网页搜索引擎、Reddit搜索API、X/Twitter搜索工具和情绪得分计算算法等工具,而技术分析师则可以执行代码、计算技术指标和分析交易模式。
🔎
TradingAgents 框架仅供研究目的。
交易表现可能因多种因素而异,包括所选的骨干语言模型、模型温度、交易时段、数据质量以及其他非确定性因素。它不构成财务、投资或交易建议。
我们的框架将复杂的交易任务分解为专门的角色。

一、项目背景 & 用户痛点
目标用户:中小型私募机构、独立量化交易者、券商小型投研小组
成本痛点:自建投研团队(基本面 + 技术 + 舆情 + 风控 + 交易)人力成本极高,小团队无力配齐全岗位分析师;
决策痛点:传统单 AI 量化模型黑箱化,交易决策无法溯源,踩亏找不到原因;单一 LLAgent 仅依靠单一信息源,片面性强;
分析痛点:人工需要每日搜集财报、新闻、社媒舆情、数十项技术指标,信息搜集耗时 80%,没时间做策略优化;
风控痛点:人工容易情绪化交易,缺少多维度风控校验,极端行情回撤失控。
产品核心目标
用 5 类角色化 Agent 模拟真实券商投研组织,多源数据交叉验证、多空博弈 + 多层风控,输出可溯源、带完整研报依据的交易信号,在控制最大回撤前提下提升组合收益率。

二、不同视角的分析师团队
这支团队类似公司的“千里眼”,洞察市场,这些分析师智能体被赋予了特定的观察和推理能力:
•
基本面分析师:评估公司财务和业绩指标,识别内在价值和潜在警示信号。
•
情绪分析师:将新闻标题、StockTwits 和 Reddit 讨论汇总为单一情绪读数,以衡量短期市场情绪。
•
新闻分析师:监控全球新闻和宏观经济指标,解读事件对市场状况的影响。
•
技术分析师:利用技术指标(如 MACD 和 RSI)发现交易模式并预测价格走势。

研究团队
让不同观点的看涨研究员和看跌研究员进行结构化辩论:

•
看涨研究员: 积极寻找市场中的利好因素,例如行业发展机遇、公司创新成果等,构建支持投资的逻辑,并提供论据支持。
•
看跌研究员: 捕捉潜在的风险信号和不利因素,例如宏观经济下行压力、公司竞争劣势等,并提出反驳意见和风险警示。
交易代理

交易员智能体会综合考虑:
市场深度和流动性: 决定交易规模,避免对市场造成不必要的冲击。
风险偏好: 根据预设的风险敞口,调整交易激进程度。
时间窗口: 精准把握交易时机,力求实现回报最大化。
一旦市场出现符合预设交易条件的信号,交易员智能体就会迅速下达买入或卖出指令,并根据市场的实时变化灵活调整投资组合。
风险管理和投资组合经理
•
通过评估市场波动性、流动性及其他风险因素,持续评估投资组合风险。风险管理团队评估和调整交易策略,向投资组合经理提供评估报告以供最终决策。
•
投资组合经理批准/拒绝交易提案。若批准,订单将发送至模拟交易所并执行。
例如,当某只股票的价格出现显著下跌,并接近预设的止损价位时,风险管理团队会及时提醒交易员智能体采取相应的应对措施,以最大限度地减少潜在损失。
三、核心技术解密
TradingAgents 的论文中详细阐述了几个关键的技术亮点:
LangGraph 驱动的工作流
TradingAgents 采用了先进的“工厂模式(Factory Pattern)”来创建智能体,结合 LangGraph 构建了动态工作流,让不同的 LLM 智能体之间进行有状态的对话和决策路径切换,形成智能体之间的“高速公路”。
🛠️
这种高度模块化和可配置的设计,使得系统能够:
•
根据不同的金融场景,轻松配置各种 LLM 模型,例如 GPT-4、o1-preview 等,甚至可以集成本地部署的开源 LLM。
•
支持实时市场数据或历史缓存数据作为分析来源。
多模态数据融合:让 AI 看到“全景图”
TradingAgents 具备强大的多模态数据融合能力。它能同时融合:
•
结构化数据: 如财务报表、交易数据、宏观经济指标等。
•
非结构化文本数据: 如新闻报道、社交媒体信息、公司公告等。
从这些复杂且多样化的数据中精准提取关键信息,TradingAgents 能够记那些跨模态的关联分析,提升市场预测的准确性。
动态决策与持续学习进化
通过回测奖励机制可以根据市场的实时变化快速调整策略,实现持续学习进化。
TradingAgents 构建了持续学习的决策链条:
•
实时反馈: 根据实际的市场表现,接收到实时反馈。
•
奖励信号: 成功的交易或有效的风险控制会生成正向奖励信号。
•
模型优化: 这些奖励信号被用于持续优化 LLM 的提示、智能体间的交互规则,以及决策参数,形成一个闭环学习的良性循环。
这就像一个经验丰富的交易员,在每一次交易中不断复盘、学习、成长!
📌
研究团队喂给了 TradingAgents 以下相关内容,包括:
然后将TradingAgents 的表现与五大传统策略(比如“买入持有”、MACD 均线、KDJ+RSI 组合等)进行了对比。TradingAgents 平均碾压基线策略 6-24 个百分点。
在模拟盘中高收益下最大亏损 (回撤) 仅 0.91%-2.11%,接近风控最强的保守策略; 收益风险比(夏普比率)高达 5.6-8.21(传统策略普遍 <3.5,超过 3 已是顶级水平)。
四、关键技术实现细节
混合通信机制(论文最大创新)
这是解决 "电话效应" 的核心方案,也是所有多 Agent 产品都可以借鉴的设计思路:
•
结构化通信(90% 的信息传递):所有正式报告、指标、决策指令都用 JSON 或 Markdown 格式存储在全局状态中,Agent 只能读取和写入指定字段,不能修改其他内容。
◦
优势:信息精准、无歧义、可追溯、不会丢失
•
自然语言通信(10% 的信息传递):仅用于多空辩论和风控内部讨论,因为这些环节需要创造性和思辨能力。
◦
优势:保留了 LLM 的自然语言理解和推理能力
大模型分层调度策略(成本控制核心)
根据任务复杂度分层选型,在保证效果的同时大幅降低成本:
产品落地启示:大模型选型的核心不是越贵越好,而是匹配任务需求。合理的分层调度可以将整体 API 成本降低 70% 以上。
基础框架
所有 Agent 都基于ReAct prompting 框架实现,将 "推理 (Reasoning)" 和 "行动 (Acting)" 结合起来。Agent 可以根据推理结果自动调用工具(如 API、数据库),获取外部信息后继续推理,直到完成任务。
五、安装与 CLI
安装
克隆 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=... # 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
或者,将 .env.example 复制为 .env 并填写您的密钥:
代码块
Bash
cp .env.example .env
CLI 使用方式
启动交互式 CLI:
代码块
Bash
您将看到一个屏幕,您可以在其中选择所需的股票代码、分析日期、LLM 提供商、研究深度等。
市场和股票代码
TradingAgents 适用于 Yahoo Finance 覆盖的任何市场,使用带有交易所后缀的股票代码。公司标识和 alpha 基准会根据市场自动解析。
•
美国:AAPL、SPY
•
香港:0700.HK · 东京:7203.T · 伦敦:AZN.L
•
印度:RELIANCE.NS、.BO · 加拿大:.TO · 澳大利亚:.AX
•
中国A股:上海.SS、深圳.SZ(例如贵州茅台600519.SS)
•
加密货币:BTC-USD、ETH-USD
将出现一个界面,实时显示加载结果,让您追踪代理的运行进度。
五、TradingAgents 包
实现细节
我们使用 LangGraph 构建了 TradingAgents,以确保灵活性和模块化。该框架支持多个 LLM 提供商:OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen(阿里云 DashScope,国际和中国端点)、GLM(智谱)、MiniMax(全球 + 中国)、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 框架仅供研究用途哦。它的交易表现可能会因为模型、参数、数据等多种因素而异,而且它不构成财务、投资或交易建议!咱们玩归玩,闹归闹,投资有风险,入市需谨慎!