TradingAgents:多智能体LLM金融Agent
TradingAgents 框架
TradingAgents 是一个模拟真实交易公司运作模式的多智能体交易框架。TradingAgents 和传统的量化交易或单一 AI 模型的不同在于—“多智能体(Multi-Agent)”的 LLM 金融交易框架。
[图示已省略]
可以把 TradingAgents 想象成一家顶级的投资公司,只不过里面的“员工”全都是由 AI 智能体扮演!每个智能体都拥有特定的专业知识和角色,能够进行动态讨论和协同决策。
不同视角的分析师团队
这支团队类似公司的“千里眼”,洞察市场,这些分析师智能体被赋予了特定的观察和推理能力:
基本面分析师:评估公司财务和业绩指标,识别内在价值和潜在风险信号
情绪分析师:运用情绪评分算法分析社交媒体和公众情绪,研判短期市场情绪
新闻分析师:监测全球新闻和宏观经济指标,解读事件对市场状况的影响
技术分析师:运用MACD、RSI等技术指标识别交易模式并预测价格走势
[图示已省略]
专门辩论的研究员
让不同观点的看涨研究员和看跌研究员进行结构化辩论:
[图示已省略]
- 看涨研究员: 积极寻找市场中的利好因素,例如行业发展机遇、公司创新成果等,构建支持投资的逻辑,并提供论据支持。
- 看跌研究员: 捕捉潜在的风险信号和不利因素,例如宏观经济下行压力、公司竞争劣势等,并提出反驳意见和风险警示。
操盘手交易员
[图示已省略]
交易员智能体会综合考虑:
市场深度和流动性: 决定交易规模,避免对市场造成不必要的冲击。
风险偏好: 根据预设的风险敞口,调整交易激进程度。
时间窗口: 精准把握交易时机,力求实现回报最大化。
一旦市场出现符合预设交易条件的信号,交易员智能体就会迅速下达买入或卖出指令,并根据市场的实时变化灵活调整投资组合。
风险管理团队
在金融市场,风险控制永远是重中之重!
研究团队构建了专门的风险管理智能体团队,实时监控持仓情况和市场波动,通过设置止损订单等手段,严格控制投资风险,利用价值风险(VaR)、条件风险值(CVaR)等量化风险指标,确保所有交易活动都在预设的风险参数范围内进行。
[图示已省略]
例如,当某只股票的价格出现显著下跌,并接近预设的止损价位时,风险管理团队会及时提醒交易员智能体采取相应的应对措施,以最大限度地减少潜在损失。
核心技术解密
TradingAgents 的论文中详细阐述了几个关键的技术亮点:
LangGraph 驱动的工作流
TradingAgents 采用了先进的“工厂模式(Factory Pattern)”来创建智能体,结合 LangGraph 构建了动态工作流,让不同的 LLM 智能体之间进行有状态的对话和决策路径切换,形成智能体之间的“高速公路”。
这种高度模块化和可配置的设计,使得系统能够:
- 根据不同的金融场景,轻松配置各种 LLM 模型,例如 GPT-4、o1-preview 等,甚至可以集成本地部署的开源 LLM。
- 支持实时市场数据或历史缓存数据作为分析来源。
- 允许用户自由设定辩论轮次,完美适应各种复杂多变的金融交易场景。
[图示已省略]
多模态数据融合:让 AI 看到“全景图”
TradingAgents 具备强大的多模态数据融合能力。它能同时融合:
- 结构化数据: 如财务报表、交易数据、宏观经济指标等。
- 非结构化文本数据: 如新闻报道、社交媒体信息、公司公告等。
从这些复杂且多样化的数据中精准提取关键信息,TradingAgents 能够记那些跨模态的关联分析,提升市场预测的准确性。
[图示已省略]
动态决策与持续学习进化
通过回测奖励机制可以根据市场的实时变化快速调整策略,实现持续学习进化。
TradingAgents 构建了持续学习的决策链条:
- 实时反馈: 根据实际的市场表现,接收到实时反馈。
- 奖励信号: 成功的交易或有效的风险控制会生成正向奖励信号。
- 模型优化: 这些奖励信号被用于持续优化 LLM 的提示、智能体间的交互规则,以及决策参数,形成一个闭环学习的良性循环。
这就像一个经验丰富的交易员,在每一次交易中不断复盘、学习、成长!
研究团队喂给了 TradingAgents 以下相关内容,包括:
- 实时股价 & 60+ 技术指标(MACD、RSI 等)
- 彭博/雅虎财经等专业新闻
- Reddit/推特社交情绪分析
- 公司财报、高管交易数据
- 宏观经济和政府政策更新
然后将 TradingAgents 的表现与五大传统策略(比如“买入持有”、MACD 均线、KDJ+RSI 组合等)进行了对比。TradingAgents 平均碾压基线策略 6-24 个百分点。
[图示已省略]
在模拟盘中高收益下最大亏损 (回撤) 仅 0.91%-2.11%,接近风控最强的保守策略; 收益风险比(夏普比率)高达 5.6-8.21(传统策略普遍 <3.5,超过 3 已是顶级水平)。
部署方式
安装
克隆 TradingAgents 仓库:
使用您偏好的环境管理工具创建虚拟环境:
conda create -n tradingagents python=3.13
conda activate tradingagents
安装依赖项:
pip install -r requirements.txt
所需API
所有智能体都需要 OpenAI API,基本面数据和新闻数据(默认配置)需要 Alpha Vantage API。
export OPENAI_API_KEY=$YOUR_OPENAI_API_KEYexport ALPHA_VANTAGE_API_KEY=$YOUR_ALPHA_VANTAGE_API_KEY
或者,您可以在项目根目录中创建一个包含 API 密钥的 .env 文件(请参考 .env.example):
cp .env.example .env# Edit .env with your actual API keys
命令行使用
可直接运行CLI:
python -m cli.main
界面将显示可选参数:股票代码、日期、大语言模型、研究深度等。
[图示已省略]
运行时会实时显示加载结果,可追踪代理执行进度。
[图示已省略]
TradingAgents包
实现细节
采用LangGraph构建TradingAgents以保证灵活性和模块化。实验中使用o1-preview和gpt-4o分别作为深度思考与快速思考的大语言模型。但测试时建议使用o4-mini和gpt-4.1-mini以节省成本,因本框架会发起大量API调用。
Python调用
在代码中导入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", "2024-05-10")
print(decision)
您也可以调整默认配置,设置您偏好的大语言模型(LLMs)、辩论轮次等参数。
from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG
# Create a custom config
config = DEFAULT_CONFIG.copy()
config["deep_think_llm"] = "gpt-4.1-nano" # Use a different model
config["quick_think_llm"] = "gpt-4.1-nano" # Use a different model
config["max_debate_rounds"] = 1 # Increase debate rounds
# Configure data vendors (default uses yfinance and Alpha Vantage)
config["data_vendors"] = {
"core_stock_apis": "yfinance", # Options: yfinance, alpha_vantage, local
"technical_indicators": "yfinance", # Options: yfinance, alpha_vantage, local
"fundamental_data": "alpha_vantage", # Options: openai, alpha_vantage, local
"news_data": "alpha_vantage", # Options: openai, alpha_vantage, google, local
}
# Initialize with custom config
ta = TradingAgentsGraph(debug=True, config=config)
# forward propagate
_, decision = ta.propagate("NVDA", "2024-05-10")
print(decision)
【重要提醒:TradingAgents 框架仅供研究用途哦。它的交易表现可能会因为模型、参数、数据等多种因素而异,而且它不构成财务、投资或交易建议!咱们玩归玩,闹归闹,投资有风险,入市需谨慎!】