首页 › AI Agent实战项目案例库 › 金融分析系统实战项目 › Agent项目:TradingAgents多智能体LLM金融Agent

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 拉取模型,并在 CLI 中选择“Custom model ID”以使用默认未列出的任何模型。​

或者,将 .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 框架仅供研究用途哦。它的交易表现可能会因为模型、参数、数据等多种因素而异,而且它不构成财务、投资或交易建议!咱们玩归玩,闹归闹,投资有风险,入市需谨慎!​

​