TradingAgents-MCPmode

TradingAgents-MCPmodeは、MCPツールを基盤とした多スマートエージェントの取引分析システムです。15の専門エージェントが協力し、株式市場の分析、投資提案、リスク管理を行います。並行処理により効率的な分析が可能で、リアルタイムデータを用いた意思決定をサポートします。

GitHubスター

40

ユーザー評価

未評価

フォーク

12

イシュー

3

閲覧数

3

お気に入り

0

README
TradingAgents-MCPmode

基于MCP工具的多智能体交易分析系统

🌟 项目概述

TradingAgents-MCPmode 是一个创新的多智能体交易分析系统,集成了 Model Context Protocol (MCP) 工具,实现了智能化的股票分析和交易决策流程。系统通过15个专业化智能体的协作,提供全面的市场分析、投资建议和风险管理。

🎯 核心特性
  • 🤖 多智能体协作: 15个专业化智能体分工合作
  • ⚡ 并行处理: 分析师团队采用并行架构,显著提升分析效率
  • 🔧 MCP工具集成: 支持外部数据源和实时信息获取
  • 📊 全面分析: 公司概述、市场、情绪、新闻、基本面、股东结构、产品业务七维度分析
  • 💭 智能辩论: 看涨/看跌研究员辩论机制,可配置辩论轮次
  • ⚠️ 风险管理: 三层风险分析和管理决策,支持动态风险辩论
  • 🎛️ 智能体控制: 前端可动态启用/禁用特定智能体,灵活定制工作流
  • 🌀 辩论轮次配置: 前端实时设置投资和风险辩论轮次,精确控制分析深度
  • 🔧 灵活配置: 通过环境变量控制智能体MCP权限
  • 🌍 多市场支持: 美股(US)、A股(CN)、港股(HK)
  • 🗣️ 自然语言: 支持自然语言查询,无需指定市场和日期
  • 📈 实时决策: 基于最新数据的交易建议
  • 🌐 Web前端: 完整的Streamlit Web界面,支持实时分析和历史管理
🏗️ 系统架构
智能体组织结构
┌─────────────────────────────────────────────────────────────┐
│                    TradingAgents-MCPmode                   │
├─────────────────────────────────────────────────────────────┤
│  📊 分析师团队 (Analysts) - 并行执行                         │
│  ├── CompanyOverviewAnalyst (公司概述分析师)               │
│  ├── MarketAnalyst      (市场分析师)        ┐               │
│  ├── SentimentAnalyst   (情绪分析师)        │ 并行处理       │
│  ├── NewsAnalyst        (新闻分析师)        │ 6个分析师      │
│  ├── FundamentalsAnalyst(基本面分析师)      │ 同时执行       │
│  ├── ShareholderAnalyst (股东分析师)        │               │
│  └── ProductAnalyst     (产品分析师)        ┘               │
├─────────────────────────────────────────────────────────────┤
│  🔬 研究员团队 (Researchers)                                │
│  ├── BullResearcher     (看涨研究员)                        │
│  └── BearResearcher     (看跌研究员)                        │
├─────────────────────────────────────────────────────────────┤
│  👔 管理层 (Managers)                                       │
│  ├── ResearchManager    (研究经理)                          │
│  └── Trader             (交易员)                            │
├─────────────────────────────────────────────────────────────┤
│  ⚠️ 风险管理团队 (Risk Management)                          │
│  ├── AggressiveRiskAnalyst (激进风险分析师)                 │
│  ├── SafeRiskAnalyst       (保守风险分析师)                 │
│  ├── NeutralRiskAnalyst    (中性风险分析师)                 │
│  └── RiskManager           (风险经理)                       │
└─────────────────────────────────────────────────────────────┘
🚀 并行化工作流程
graph TD
    %% 用户输入
    USER[👤 用户输入<br/>user_query]
    
    %% 第0阶段:公司概述分析师
    A0[🏢 公司概述分析师<br/>📥 输入:user_query<br/>📤 输出:company_details + company_overview_report]
    
    %% 第1阶段:分析师并行节点
    PARALLEL[⚡ 分析师并行节点<br/>📥 输入:user_query + company_details<br/>🔄 并发执行6个分析师<br/>📤 输出:全部6个分析报告]
    
    %% 并行执行的6个分析师
    A1[🔍 市场分析师]
    A2[😊 情绪分析师]
    A3[📰 新闻分析师]
    A4[📊 基本面分析师]
    A5[👥 股东分析师]
    A6[🏭 产品分析师]
    
    %% 第2阶段:研究员辩论
    B1[📈 看涨研究员<br/>📥 输入:user_query + 全部7个分析师报告<br/>📤 输出:看涨论证 + 辩论历史]
    B2[📉 看跌研究员<br/>📥 输入:user_query + 全部7个分析师报告 + 辩论历史<br/>📤 输出:看跌论证 + 辩论历史]
    
    %% 第3阶段:管理层
    C1[🎯 研究经理<br/>📥 输入:user_query + 全部7个分析师报告 + 完整辩论历史<br/>📤 输出:investment_plan]
    C2[💰 交易员<br/>📥 输入:user_query + 全部7个分析师报告 + 辩论历史 + investment_plan<br/>📤 输出:trader_investment_plan]
    
    %% 第4阶段:风险管理团队
    D1[🔥 激进风险分析师<br/>📥 输入:全部信息<br/>📤 输出:激进风险观点 + 风险辩论历史]
    D2[🛡️ 保守风险分析师<br/>📥 输入:全部信息 + 风险辩论历史<br/>📤 输出:保守风险观点 + 风险辩论历史]
    D3[⚖️ 中性风险分析师<br/>📥 输入:全部信息 + 风险辩论历史<br/>📤 输出:中性风险观点 + 风险辩论历史]
    D4[🎯 风险经理<br/>📥 输入:全部信息 + 完整风险辩论历史<br/>📤 输出:final_trade_decision]
    
    %% 主要流程连接
    USER --> A0
    A0 --> PARALLEL
    PARALLEL --> B1
    B1 --> B2
    B2 -.->|辩论循环| B1
    B1 --> C1
    C1 --> C2
    C2 --> D1
    D1 -.->|风险辩论循环| D2
    D2 -.->|风险辩论循环| D3
    D3 -.->|风险辩论循环| D1
    D1 --> D4
    D2 --> D4
    D3 --> D4
    
    %% 并行节点内部连接(虚线表示并发)
    PARALLEL -.-> A1
    PARALLEL -.-> A2
    PARALLEL -.-> A3
    PARALLEL -.-> A4
    PARALLEL -.-> A5
    PARALLEL -.-> A6
    
    %% 样式定义
    style USER fill:#f9f9f9,stroke:#333,stroke-width:2px
    style A0 fill:#e1f5fe,stroke:#0277bd
    style PARALLEL fill:#fff3e0,stroke:#ff8f00,stroke-width:3px
    style A1 fill:#e8f5e8,stroke:#4caf50
    style A2 fill:#e8f5e8,stroke:#4caf50
    style A3 fill:#e8f5e8,stroke:#4caf50
    style A4 fill:#e8f5e8,stroke:#4caf50
    style A5 fill:#e8f5e8,stroke:#4caf50
    style A6 fill:#e8f5e8,stroke:#4caf50
    style B1 fill:#e3f2fd,stroke:#1976d2
    style B2 fill:#e3f2fd,stroke:#1976d2
    style C1 fill:#fff3e0,stroke:#ef6c00
    style C2 fill:#fff3e0,stroke:#ef6c00
    style D1 fill:#fce4ec,stroke:#c2185b
    style D2 fill:#fce4ec,stroke:#c2185b
    style D3 fill:#fce4ec,stroke:#c2185b
    style D4 fill:#fce4ec,stroke:#c2185b
⚡ 并行化优势
  1. 显著提升效率: 6个分析师并发执行,总耗时接近最慢分析师的执行时间
  2. 资源优化: 充分利用系统资源,避免串行等待
  3. 数据一致性: 每个分析师使用深拷贝状态,避免并发冲突
  4. 结果合并: 智能合并各分析师的报告和执行历史
在线体验(公网地址)
  • 体验地址:http://47.79.147.241:8501
  • 说明:对外免费开放用于功能体验与演示。
  • 注意:请文明使用,务必不要进行任何形式的攻击、压力测试或恶意访问行为,以免影响服务稳定性。
image
🚀 快速开始
环境要求
  • Python 3.8+
  • 支持的操作系统:Windows、macOS、Linux
安装步骤
  1. 克隆项目
git clone https://github.com/guangxiangdebizi/TradingAgents-MCPmode.git
cd TradingAgents-MCPmode
  1. 安装依赖
pip install -r requirements.txt
  1. 配置环境变量
cp env.example .env
# 编辑 .env 文件,配置你的API密钥和工作流参数
  1. 配置MCP工具
# 编辑 mcp_config.json 文件,配置MCP服务器
🌐 Web前端使用

推荐使用方式 - 通过Web界面进行交互:

streamlit run web_app.py

然后在浏览器中访问:http://localhost:8501 image

Web前端功能
  • 🏠 首页: 系统概览和快速导航
  • ⚙️ 系统配置: 在线编辑.env和MCP配置
  • 🔍 实时分析: 输入查询并实时监控分析进度
  • 🤖 智能体控制: 动态启用/禁用特定智能体,按团队组织的复选框界面
  • 🌀 辩论配置: 实时调整投资和风险辩论轮次,精确控制分析深度
  • 📊 智能体页面: 按团队查看各智能体的详细分析结果
  • 📚 历史报告: 管理历史会话,支持Markdown、PDF、DOCX导出
🎛️ 前端智能体控制特性

智能体启用控制

  • 分组管理: 按分析师、研究员、管理层、风险管理四大团队组织
  • 实时选择: 复选框界面,支持全选/全不选快速操作
  • 动态计数: 实时显示已启用智能体数量 (如: 已启用 12/15)
  • 智能跳过: 禁用的智能体会自动跳过,不影响工作流连续性

辩论轮次配置

  • 🔄 投资辩论: 滑块设置看涨/看跌研究员辩论轮次 (每轮=双方各发言1次)
  • ⚖️ 风险辩论: 滑块设置激进/保守/中性风险分析师辩论轮次 (每轮=三方各发言1次)
  • 📊 实时预览: 显示当前设置及预计发言次数
  • 🚀 自动应用: 开始分析时自动应用前端设置,无需手动确认
💻 命令行使用

如果你偏好命令行方式:

python main.py -c "分析苹果公司股票"
交互模式
python main.py

然后按提示输入你的查询,例如:

  • "分析特斯拉股票"
  • "给我分析一下600036招商银行"
  • "分析NVDA的投资价值"
📊 数据流转机制
🎯 关键设计特点
  1. company_details占位符系统

    • 🏢 公司概述分析师首先获取公司基础信息
    • 📥 仅传递给分析师团队:6个专业分析师都能获得准确的公司背景
    • 🚫 不传递给后续智能体:研究员及之后的智能体专注于分析报告综合评估
  2. 信息累积效应

    • 第0阶段:仅用户查询
    • 第1阶段:用户查询 + 公司详细信息(并行处理)
    • 第2阶段:用户查询 + 全部7个分析师报告
    • 第3阶段:用户查询 + 分析师报告 + 辩论历史 + 投资决策
    • 第4阶段:用户查询 + 所有信息 + 风险观点
  3. 双重辩论机制

    • 投资辩论:看涨 ↔ 看跌研究员循环辩论
    • 风险辩论:激进 ↔ 保守 ↔ 中性风险分析师循环辩论
💡 实际应用示例

用户输入:"分析特斯拉股票"

  1. 🏢 公司概述分析师:获取Tesla Inc.、TSLA、NASDAQ、电动汽车行业等基础信息
  2. ⚡ 分析师并行节点:6个分析师同时基于准确的"Tesla Inc."信息进行专业分析
  3. 📈 看涨研究员:综合所有7个专业分析报告,构建Tesla的看涨投资论证
  4. 🎯 风险经理:基于所有信息和辩论结果,做出Tesla投资的最终风险决策

这种设计确保了信息的精准传递逐步精炼,每个智能体都能在最适合的信息环境中发挥专业能力!

🎯 使用示例
📱 前端操作示例

场景: 快速分析苹果公司股票,仅启用核心分析师并设置简化辩论

  1. 启动系统:

    streamlit run web_app.py
    
  2. 配置智能体 (在"🤖 本轮启用智能体"展开):

    • ✅ 分析师团队: 全选 (7个智能体)
    • ✅ 研究员团队: 仅选择看涨研究员
    • ❌ 管理层: 全不选 (快速分析)
    • ❌ 风险管理: 全不选 (快速分析)
    • 📊 显示: 已启用 8/15
  3. 设置辩论轮次 (在"🌀 辩论轮次设置"展开):

    • 🔄 投资辩论轮次: 1轮 (仅看涨研究员发言1次)
    • ⚖️ 风险辩论轮次: 0轮 (跳过风险辩论)
  4. 执行分析:

    • 输入: "分析苹果公司股票的投资价值"
    • 点击"🚀 开始分析"
    • 系统自动应用前端设置并开始执行
  5. 预期结果:

    • ⚡ 快速执行: 仅8个智能体参与,显著减少分析时间
    • 📊 核心报告: 获得7份专业分析师报告
    • 🎯 投资建议: 看涨研究员基于分析师报告提供投资建议
🎛️ 动态配置优势
  • 🚀 快速体验: 禁用非核心智能体,1-2分钟获得分析结果
  • 🔬 深度分析: 启用全部智能体+多轮辩论,获得完整决策支持
  • 🎯 定制化: 根据分析需求灵活选择智能体组合
  • 💡 实时调整: 无需重启服务,前端实时调整参数
🛠️ 配置说明
环境变量配置

.env 文件中配置以下参数:

# 大模型配置
OPENAI_API_KEY=your_openai_api_key
OPENAI_BASE_URL=https://api.openai.com/v1
MODEL_NAME=gpt-4

# 工作流配置
MAX_DEBATE_ROUNDS=1           # 投资辩论默认轮次(可在前端动态调整)
MAX_RISK_DEBATE_ROUNDS=1      # 风险辩论默认轮次(可在前端动态调整)
DEBUG_MODE=true               # 调试模式,显示详细日志
VERBOSE_LOGGING=true          # 详细日志输出

# 智能体MCP权限配置
# 分析师团队 - 建议开启MCP以获取实时数据
COMPANY_OVERVIEW_ANALYST_MCP=true
MARKET_ANALYST_MCP=true
SENTIMENT_ANALYST_MCP=true
NEWS_ANALYST_MCP=true
FUNDAMENTALS_ANALYST_MCP=true
SHAREHOLDER_ANALYST_MCP=true
PRODUCT_ANALYST_MCP=true

# 研究员/管理/风险团队 - 建议关闭MCP专注综合分析
BULL_RESEARCHER_MCP=false
BEAR_RESEARCHER_MCP=false
RESEARCH_MANAGER_MCP=false
TRADER_MCP=false
AGGRESSIVE_RISK_ANALYST_MCP=false
SAFE_RISK_ANALYST_MCP=false
NEUTRAL_RISK_ANALYST_MCP=false
RISK_MANAGER_MCP=false

# 任务数量并发限制
MAX_CONCURRENT_ANALYSIS=2     # 同时运行的分析任务数量

💡 提示: 环境变量中的 MAX_DEBATE_ROUNDSMAX_RISK_DEBATE_ROUNDS 仅为默认值,实际运行时可在前端实时调整。建议设为1以获得快速体验,如需深度分析可在前端增加轮次。

MCP工具配置

mcp_config.json 文件中配置MCP服务器:

{
  "servers": {
    "finance-data-server": {
      "url": "http://106.14.205.176:3101/sse",
      "transport": "sse",
      "timeout": 600
    }
  }
}
📈 性能优化
并行处理优势
  • 原串行架构: 6个分析师顺序执行,总耗时 = Σ(各分析师耗时)
  • 新并行架构: 6个分析师并发执行,总耗时 ≈ max(各分析师耗时)
  • 性能提升: 理论上可提升5-6倍效率,实际提升取决于各分析师的耗时分布
资源管理
  • 使用深拷贝避免状态竞争
  • 智能合并执行历史和工具调用记录
  • 优化内存使用,避免状态冗余
🤝 贡献指南

欢迎提交Issue和Pull Request来改进项目!

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


TradingAgents-MCPmode - 让AI智能体团队为你的投资决策保驾护航! 🚀📈

📬 联系方式
作者情報
Xingyu_Chen

hello my email is guangxiangdebizi@gmail.com

Shanghai University of Electric PowerChina Shanghai

13

フォロワー

44

リポジトリ

0

Gist

79

貢献数

トップ貢献者

スレッド