MIT和加州联手打造多智能体大语言模型的金融交易框架TradingAgents


TradingAgents框架

TradingAgents是一个多智能体交易框架,模拟真实世界交易公司的运作模式。通过部署专门的LLM驱动智能体:从基本面分析师、情绪专家、技术分析师,到交易员、风险管理团队,平台协同评估市场状况并制定交易决策。此外,这些智能体会进行动态讨论以确定最优策略。

TradingAgents框架设计用于研究目的。交易表现可能因多种因素而异,包括选择的基础语言模型、模型温度、交易周期、数据质量和其他非确定性因素。不作为财务、投资或交易建议。

我们的框架将复杂的交易任务分解为专业角色。这确保了系统采用稳健、可扩展的市场分析和决策方法。


分析师团队

  • 基本面分析师:评估公司财务和绩效指标,识别内在价值和潜在风险信号
  • 情绪分析师:使用情绪评分算法分析社交媒体和公众情绪,衡量短期市场情绪
  • 新闻分析师:监控全球新闻和宏观经济指标,解读事件对市场状况的影响
  • 技术分析师:利用技术指标(如MACD和RSI)检测交易模式并预测价格走势

研究团队

  • 包含多头和空头研究员,他们批判性评估分析师团队提供的见解。通过结构化辩论,平衡潜在收益与固有风险

交易员智能体

  • 整合分析师和研究员的报告做出明智的交易决策。根据全面的市场洞察确定交易时机和规模

风险管理与投资组合经理

  • 通过评估市场波动性、流动性和其他风险因素持续评估投资组合风险。风险管理团队评估并调整交易策略,向投资组合经理提交评估报告以供最终决策
  • 投资组合经理批准/拒绝交易提案。如果批准,订单将被发送到模拟交易所执行

安装与CLI

安装

克隆TradingAgents:

ounter(lineounter(linegit clone https://github.com/TauricResearch/TradingAgents.gitcd TradingAgents

使用您喜欢的任何环境管理器创建虚拟环境:

ounter(lineounter(lineconda create -n tradingagents python=3.13conda activate tradingagents

安装依赖:

ounter(linepip install -r requirements.txt

所需API

您需要FinnHub API获取金融数据。我们的所有代码都实现了免费层级。

ounter(lineexport FINNHUB_API_KEY=$您的FINNHUB_API_KEY

所有智能体都需要OpenAI API。

ounter(lineexport OPENAI_API_KEY=$您的OPENAI_API_KEY

CLI使用

您可以直接运行CLI:

ounter(linepython -m cli.main

您将看到一个界面,可以选择所需的股票代码、日期、LLM、研究深度等。

界面将显示加载结果,让您可以跟踪智能体运行时的进度。

TradingAgents包

实现细节

我们使用LangGraph构建TradingAgents以确保灵活性和模块化。在我们的实验中,我们使用o1-previewgpt-4o作为深度思考和快速思考的LLM。但出于测试目的,我们建议您使用o4-minigpt-4.1-mini以节省成本,因为我们的框架会进行大量API调用。

Python使用

要在代码中使用TradingAgents,可以导入tradingagents模块并初始化TradingAgentsGraph()对象。.propagate()函数将返回决策。您可以运行main.py,这里也有一个快速示例:

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linefrom tradingagents.graph.trading_graph import TradingAgentsGraphfrom tradingagents.default_config import DEFAULT_CONFIG
ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
# 前向传播_, decision = ta.propagate("NVDA""2024-05-10")print(decision)

您也可以调整默认配置来设置您选择的LLM、辩论轮数等。

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(linefrom tradingagents.graph.trading_graph import TradingAgentsGraphfrom tradingagents.default_config import DEFAULT_CONFIG
# 创建自定义配置config = DEFAULT_CONFIG.copy()config["deep_think_llm"] = "gpt-4.1-nano"  # 使用不同模型config["quick_think_llm"] = "gpt-4.1-nano"  # 使用不同模型config["max_debate_rounds"] = 1  # 增加辩论轮数config["online_tools"] = True # 使用在线工具或缓存数据
# 使用自定义配置初始化ta = TradingAgentsGraph(debug=True, config=config)
# 前向传播_, decision = ta.propagate("NVDA""2024-05-10")print(decision)

对于online_tools,我们建议在实验时启用它们,因为它们提供对实时数据的访问。智能体的离线工具依赖于我们Tauric TradingDB中的缓存数据,这是我们用于回测的精选数据集。我们目前正在完善这个数据集,并计划在即将推出的项目中发布它。敬请期待!

您可以在tradingagents/default_config.py中查看完整的配置列表。

项目地址

https://github.com/TauricResearch/TradingAgents/blob/main/README.md




扫码加入技术交流群,备注「开发语言-城市-昵称

(文:GitHubStore)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往