一款多智能体交易系统:TradingAgents,它模拟真实的交易团队,通过分析、讨论和决策,来决定是否买卖股票 它有分析师、研究员、交易员、风险管理员几个智能体,综合财务数据、市场情绪、新闻报道等多个信息,智能体间进行动态讨论,进而做出全面合理的决策 比如,有的智能体认为股票值得买入,有的认为有风险,它们会通过辩论来达成一个最佳决策 可以自定义策略,你可以根据自己的交易风格和目标,调整智能体的行为,或者添加新智能体和功能模块 支持实时获取最新市场数据和缓存数据 系统基于LangGraph构建,它实验时使用的o1-preview和 gpt-4o作为深度思考和快速思考的模型。
安装和使用。
安装与命令行界面 (CLI)
安装
克隆 TradingAgents 仓库:
git clone https://github.com/TauricResearch/TradingAgents.git cd TradingAgents
使用您喜欢的任何环境管理器创建虚拟环境(例如 Conda):
conda create -n tradingagents python=3.13 conda activate tradingagents
安装依赖项:
pip install -r requirements.txt
所需 API
您还需要 FinnHub API 和 EODHD API 来获取金融数据。我们的所有代码都使用免费层级实现。
export FINNHUB_API_KEY=$YOUR_FINNHUB_API_KEY
所有智能体都需要 OpenAI API。
export OPENAI_API_KEY=$YOUR_OPENAI_API_KEY
CLI 使用
您可以直接运行 CLI:
python -m cli.main
您将看到一个界面,可以在其中选择所需的股票代码(tickers)、日期、LLM 模型、研究深度等。
界面将显示加载结果,让您可以跟踪智能体运行的进度。
TradingAgents 包
实现细节
我们使用 LangGraph 构建 TradingAgents,以确保灵活性和模块化。在我们的实验中,我们使用 o1-preview
和 gpt-4o
分别作为深度思考(deep thinking)和快速思考(fast thinking)的 LLM。但是,出于测试目的,我们建议您使用 o4-mini
和 gpt-4.1-mini
以节省成本,因为我们的框架会进行大量 API 调用。
Python 使用
要在您的代码中使用 TradingAgents,可以导入 tradingagents
模块并初始化一个 TradingAgentsGraph()
对象。.propagate()
函数将返回一个决策。您可以运行 main.py
,这里也是一个快速示例:
from tradingagents.graph.trading_graph import TradingAgentsGraph ta = TradingAgentsGraph(debug=True, config=config) # 前向传播 _, decision = ta.propagate("NVDA", "2024-05-10") print(decision)
您还可以调整默认配置,设置您自己选择的 LLM 模型、辩论轮数等。
from tradingagents.graph.trading_graph import TradingAgentsGraph from 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 # 增加辩论轮数 (原注释说增加,但值设为了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
中查看完整的配置列表。
贡献 (Contributing)
我们欢迎社区的贡献!无论是修复错误、改进文档,还是建议新功能,您的意见都有助于使这个项目变得更好。如果您对这方面的研究感兴趣,请考虑加入我们的开源金融 AI 研究社区 Tauric Research。
引用 (Citation)
如果您发现 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}, }