TauricResearch / TradingAgents

TauricResearch/TradingAgents

open_in_new前往仓库

TradingAgents:多智能体LLM金融交易框架

项目概览

项目概述

TradingAgents 是一个基于多智能体 LLM 的金融交易框架,由 TauricResearch 开发,旨在模拟真实交易公司的运作方式。该框架部署了多个专业化的 LLM 智能体,包括基本面分析师、情绪分析师、技术分析师、交易员、风险管理团队等,通过协作评估市场状况并做出交易决策。这些智能体还会进行动态讨论,以确定最佳策略。该项目主要用于研究目的,不构成财务、投资或交易建议。

核心功能

  • 多智能体协作:框架将复杂的交易任务分解为多个专业角色,包括分析师团队(基本面、情绪、新闻、技术)、研究员团队(看涨和看跌)、交易员、风险管理团队和投资组合经理。
  • 动态讨论:智能体之间通过结构化辩论(如看涨与看跌研究员的辩论)来平衡潜在收益与风险。
  • 多提供商支持:支持多种 LLM 提供商,包括 OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen、GLM、MiniMax、OpenRouter、Ollama 和 Azure OpenAI。
  • 数据集成:集成 Yahoo Finance、Alpha Vantage、FRED、Polymarket 等数据源,支持股票、加密货币等多种市场。
  • 持久化与恢复:提供决策日志和检查点恢复功能,支持中断后从上次成功步骤继续运行。
  • 可配置性:通过配置文件或环境变量可调整 LLM 提供商、模型、辩论轮数、温度等参数。
  • 多语言输出:支持多种语言的报告输出,内部辩论保持英文以保证推理质量。
  • CLI 和 Python API:提供交互式命令行界面和 Python 包,方便集成到其他代码中。

适用与不适用场景

适用场景:

  • 研究多智能体 LLM 在金融决策中的应用。
  • 模拟交易策略的开发和回测。
  • 教育和学术研究,探索 LLM 在金融领域的潜力。
  • 需要多源数据(新闻、社交媒体、技术指标)综合分析的市场研究。

不适用场景:

  • 作为实际投资或交易建议的工具(项目明确声明不构成财务建议)。
  • 需要确定性结果的生产环境(LLM 输出具有随机性)。
  • 对实时性要求极高的高频交易(框架设计为研究用途,非实时交易系统)。
  • 缺乏稳定 API 密钥或数据源的环境(依赖外部 API)。

技术架构与依赖

  • 语言:Python 3.10-3.13。
  • 核心框架:LangGraph 用于智能体编排和状态管理。
  • LLM 提供商:OpenAI、Google、Anthropic、xAI、DeepSeek、Qwen、GLM、MiniMax、OpenRouter、Ollama、Azure OpenAI、Amazon Bedrock 等。
  • 数据源:Yahoo Finance(yfinance)、Alpha Vantage、FRED、Polymarket、StockTwits、Reddit 等。
  • 其他依赖:Pydantic(结构化输出)、SQLite(检查点存储)、Docker(容器化部署)等。
  • 许可证:Apache-2.0。

安装与快速开始

安装

克隆仓库并创建虚拟环境:

git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
conda create -n tradingagents python=3.12
conda activate tradingagents
pip install .

Docker 方式

cp .env.example .env  # 添加你的 API 密钥
docker compose run --rm tradingagents

配置 API 密钥

根据所选提供商设置环境变量,例如:

export OPENAI_API_KEY=...
export GOOGLE_API_KEY=...
export ANTHROPIC_API_KEY=...
# 更多提供商密钥见 README

启动 CLI

tradingagents
# 或
python -m cli.main

典型使用方法

Python 包使用

from tradingagents.graph.trading_graph import TradingAgentsGraph
from tradingagents.default_config import DEFAULT_CONFIG

ta = TradingAgentsGraph(debug=True, config=DEFAULT_CONFIG.copy())
_, decision = ta.propagate("NVDA", "2026-01-15")
print(decision)

自定义配置

config = DEFAULT_CONFIG.copy()
config["llm_provider"] = "openai"
config["deep_think_llm"] = "gpt-5.5"
config["quick_think_llm"] = "gpt-5.4-mini"
config["max_debate_rounds"] = 2

ta = TradingAgentsGraph(debug=True, config=config)
_, decision = ta.propagate("NVDA", "2026-01-15")

检查点恢复

tradingagents analyze --checkpoint           # 启用检查点
tradingagents analyze --clear-checkpoints    # 重置检查点

配置与部署要点

  • 环境变量:所有配置可通过 TRADINGAGENTS_* 环境变量覆盖,例如 TRADINGAGENTS_LLM_BACKEND_URL、TRADINGAGENTS_TEMPERATURE 等。
  • 模型目录:默认模型目录包含当前主流模型,可通过“自定义模型 ID”选项使用任何模型。
  • 数据供应商:可配置数据供应商列表,支持 Yahoo Finance、Alpha Vantage、FRED、Polymarket 等,供应商失败时优雅降级。
  • 持久化路径:决策日志和检查点默认存储在 ~/.tradingagents/,可通过环境变量覆盖。
  • Docker 部署:支持 Docker Compose,可配置 Ollama 本地模型。
  • 企业部署:支持 Azure OpenAI 和 AWS Bedrock,需额外配置。

限制、风险与许可证

  • 研究用途:框架仅用于研究,不构成财务建议,交易表现受多种因素影响。
  • 非确定性:LLM 输出具有随机性,同一 ticker 和日期的两次运行可能不同。
  • 数据依赖:依赖外部 API,数据质量和可用性可能影响结果。
  • 安全:已修复 ticker 路径遍历漏洞,但用户仍需注意输入验证。
  • 许可证:Apache-2.0,允许自由使用和修改,但需保留版权声明。

官方链接

信息来源和分析时间

  • 信息来源:GitHub 仓库 README、CHANGELOG.md、最新发布信息(v0.3.1)。
  • 分析时间:2026-07-05(基于最新发布版本)。