TradingAgents 框架技术文档
文档 · TradingAgents Team
文档 架构 部署 配置
TradingAgents 框架技术文档
TradingAgents 是一个基于多智能体系统和大语言模型的金融交易决策框架。该框架模拟专业的交易团队,通过多个专业分析师智能体协作,提供全面的股票分析和投资建议。
核心特性
- 多智能体协作: 模拟专业交易团队,各智能体分工协作
- 大语言模型: 集成主流 LLM,支持复杂金融场景理解
- 实时分析: 整合多源数据,实现对市场的实时监控
- 风险管控: 内置风险管理机制,控制投资风险
快速开始
前置要求
系统要求:
- 操作系统: Windows 10+, macOS 10.15+, Linux
- Python: 3.10 或更高版本
- 内存: 至少 4GB RAM (推荐 8GB+)
- 存储: 至少 2GB 可用空间
API 密钥:
- 阿里百炼 API Key (推荐)
- FinnHub API Key (必需)
- Google AI API Key (推荐)
- Tushare Token (A股数据)
安装步骤
# 1. 克隆项目
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
# 2. 创建虚拟环境
python -m venv tradingagents
source tradingagents/bin/activate # Linux/macOS
# tradingagents\Scripts\activate # Windows
# 3. 安装依赖
pip install -r requirements.txt
# 4. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入API密钥
运行方式
Web 界面 (推荐):
streamlit run web/app.py
提供直观的股票分析界面、API 密钥管理、实时进度显示和 Token 使用统计等功能。
命令行界面:
python -m cli.main
适合偏好命令行操作的用户,提供完整的功能支持。
系统架构
TradingAgents 采用多智能体系统架构,通过专业分工和协作,实现全面的股票分析。
架构组件
- 数据源管理层 — 统一管理多个数据源,包括美股、A股、港股数据,支持在线和离线模式。
- 分析师团队 — 由多个专业分析师组成,分别负责基本面、技术面、新闻和社交媒体分析。
- 研究员团队 — 对分析师报告进行深入研究,形成投资观点并进行辩论。
- 交易决策层 — 综合各方观点,做出最终的交易决策。
数据流架构
- 获取股票数据和市场信息
- 各分析师并行分析,生成专业报告
- 研究员团队辩论,形成投资观点
- 风险管理团队评估风险
- 生成最终投资决策
分析师团队
分析师团队是 TradingAgents 框架的核心分析组件,负责从不同维度对股票进行专业分析。
市场分析师
负责技术指标分析、价格趋势识别、支撑阻力位分析等技术面分析。
- 技术指标分析(RSI、MACD、布林带等)
- 价格趋势和图表模式识别
- 成交量分析和价格动量评估
基本面分析师
分析公司财务数据和基本面指标,评估公司估值和财务健康度。
- 公司财务数据和基本面指标分析
- 公司估值和财务健康度评估
- 基于财务数据的投资建议
新闻分析师
分析新闻事件影响、宏观经济数据、政策影响和行业动态。
- 新闻事件影响分析
- 宏观经济数据解读
- 政策影响评估
社交媒体分析师
进行社交媒体情绪分析、投资者情绪监测、舆论趋势识别等。
- 社交媒体情绪分析
- 投资者情绪监测
- 舆论趋势识别
智能体状态管理
class AgentState:
company_of_interest: str # 股票代码
trade_date: str # 交易日期
fundamentals_report: str # 基本面报告
market_report: str # 市场分析报告
news_report: str # 新闻分析报告
sentiment_report: str # 情绪分析报告
messages: List # 消息历史
配置指南
TradingAgents 提供了灵活的配置系统,通过 .env 文件管理所有配置选项。
主要配置项
LLM 配置:
llm_provider— 模型提供商 (openai/anthropic/google)deep_think_llm— 深度思考模型 (如 gpt-4o)quick_think_llm— 快速思考模型 (如 gpt-4o-mini)DEEPSEEK_API_KEY— DeepSeek V3 API 密钥
分析配置:
max_debate_rounds— 辩论最大轮次 (默认 1)online_tools— 使用在线数据 (默认 true)results_dir— 结果存储目录FINNHUB_API_KEY— FinnHub API 密钥
示例配置文件
# LLM 配置
DEEPSEEK_API_KEY=your_deepseek_api_key
DASHSCOPE_API_KEY=your_dashscope_api_key
GOOGLE_API_KEY=your_google_api_key
# 数据源配置
FINNHUB_API_KEY=your_finnhub_api_key
TUSHARE_TOKEN=your_tushare_token
# 分析配置
TRADINGAGENTS_RESULTS_DIR=./results
ONLINE_TOOLS=true
MAX_DEBATE_ROUNDS=2
部署指南
TradingAgents 支持本地部署,可以快速搭建完整的分析环境。
本地部署
# 1. 克隆项目
git clone https://github.com/TauricResearch/TradingAgents.git
cd TradingAgents
# 2. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,填入API密钥
# 3. 安装依赖并运行
pip install -r requirements.txt
python main.py
报告导出功能
TradingAgents 提供强大的报告导出功能,支持多种专业格式。
支持的格式
- Markdown — 轻量级、可编辑、支持版本控制,适合开发者和技术文档。
- Word 文档 — 专业格式、易于编辑、广泛兼容,适合商业报告和正式文档。
- PDF 文档 — 格式固定、跨平台兼容、专业外观,适合正式发布和打印。
报告内容结构
- 股票基本信息 — 股票代码、价格、市场信息
- 投资决策摘要 — 投资建议、置信度、风险评分
- 详细分析报告 — 技术、基本面、情绪、新闻分析
- 专家辩论记录 — 看涨/看跌观点、辩论过程
- 风险提示 — 市场风险、投资建议免责声明
- 技术信息 — 使用的 LLM 模型、数据源信息
智能新闻分析
TradingAgents 实现了高效的新闻过滤机制,解决低质量、不相关新闻的问题,提高新闻分析师的分析质量。
新闻过滤策略
- 基于规则的过滤器 — 实现简单、执行速度快、可解释性强,通过关键词匹配和相关性评分过滤新闻。
- 语义相似度过滤 — 使用 sentence-transformers 进行语义相似度计算,更精准地识别相关新闻。
过滤算法示例
class NewsRelevanceFilter:
def calculate_relevance_score(self, title: str, content: str) -> float:
score = 0
# 直接提及公司 (+40分)
if self.company_name in title:
score += 40
elif self.company_name in content:
score += 20
# 直接提及股票代码 (+30分)
if self.stock_code in title:
score += 30
elif self.stock_code in content:
score += 15
return max(0, min(100, score))