TradingAgents:多智能体大语言模型金融交易框架
TradingAgents:多智能体大语言模型金融交易框架 https://github.com/TauricResearch/TradingAgents?tab=readme-ov-file 🎉 TradingAgents 正式发布!
我们收到了大量关于这项工作的咨询,感谢社区的热情关注。 为此我们决定全面开源该框架。期待与您共同打造有影响力的项目! TradingAgents Star History 🚀 框架介绍 | ⚡ 安装与CLI | 🎬 演示视频 | 📦 包使用 | 🤝 贡献指南 | 📄 引用说明 TradingAgents 框架 TradingAgents 是一个模拟真实交易公司运作模式的多智能体交易框架。通过部署由大语言模型驱动的专业智能体——从基本面分析师、情绪分析师、技术分析师,到交易员和风险管理团队,平台能够协同评估市场状况并制定交易决策。这些智能体还会进行动态讨论以确定最优策略。 TradingAgents 框架仅供研究用途。交易表现可能因多种因素而异,包括所选基础语言模型、模型温度参数、交易周期、数据质量以及其他非确定性因素。本框架不作为财务、投资或交易建议。 我们的框架将复杂交易任务分解为专业角色。这种设计确保系统采用稳健、可扩展的方法进行市场分析和决策制定。 分析师团队 基本面分析师:评估公司财务和业绩指标,识别内在价值和潜在风险信号 情绪分析师:运用情绪评分算法分析社交媒体和公众情绪,研判短期市场情绪 新闻分析师:监测全球新闻和宏观经济指标,解读事件对市场状况的影响 技术分析师:运用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 -r requirements.txt 所需API 需要FinnHub API获取金融数据,所有代码均基于免费层级实现。 export FINNHUB_API_KEY=$YOUR_FINNHUB_API_KEY 所有代理均需使用OpenAI API。 export OPENAI_API_KEY=$YOUR_OPENAI_API_KEY 命令行使用 可直接运行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=DEFAULTCONFIG.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 config["onlinetools"] = True # Use online tools or cached data # Initialize with custom config ta = TradingAgentsGraph(debug=True, config=config) # forward propagate , decision = ta.propagate("NVDA", "2024-05-10") print(decision) 对于 online_tools,我们建议在实验时启用它们,因为它们能提供实时数据访问。智能体的离线工具依赖于我们Tauric TradingDB中的缓存数据——这是我们用于回测的精选数据集。目前我们正在完善该数据集,并计划在即将发布的项目中同步公开。敬请期待! 完整配置列表可在 tradingagents/default_config.py 中查看。 参与贡献 我们欢迎社区贡献!无论是修复错误、改进文档还是建议新功能,您的参与都将推动项目发展。如果您对该研究方向感兴趣,请考虑加入我们的开源金融AI研究社区Tauric Research。 引用说明 如果您认为TradingAgents对您有所帮助,请引用我们的工作 :) @misc{xiao2025tradingagentsmultiagentsllmfinancial, title={TradingAgents: Multi-Agents LLM Financial Trading Framework}, author={Yijia Xiao and Edward Sun and Di Luo and Wei Wang}, year={2025}, eprint={2412.20138}, archivePrefix={arXiv}, primaryClass={q-fin.TR}, url={https://arxiv.org/abs/2412.20138}, }