使用AI代理+MCP协议的自主交易系统
使用Python、MCP服务器、多代理架构和Gradio仪表板构建
作者 苏雅什·夏尔马
______________________________________________________________________
概述
该项目实现了 全自主多代理交易系统 技术支持:
- AI代理(OpenAI代理框架)
- MCP(模型上下文协议)服务器
- 财务数据摄入
- 持久账户和交易逻辑
- 自主研究人员代理
- 实时Gradio仪表板UI
- 交易大厅调度程序
该系统模拟了一个真实的交易环境,其中 四个自主交易者 和一个 研究员代理人 通过多个MCP服务器进行协调,以:
- 获取股票价格
- 进行网络研究
- 存储和回忆记忆
- 管理投资组合
- 执行交易
- 更新日志和时间线
- 在UI上显示结果
此README解释 系统的每个部分,因此任何人都可以理解和运行该项目。
______________________________________________________________________
特性
1. 自主交易代理
每位交易员:
- 对市场数据作出反应
- 研究新闻
- 执行交易
- 存储内存
- 随着时间的推移调整策略
- 评估损益
2. 研究代理
使用以下方式搜索网络:
- Brave Search MCP服务器
- 获取MCP服务器
- 内存MCP服务器
产生结构化的财务见解。
3. 金融市场数据
支持:
- Polygon.io(实时或免费EOD API)
- 如果API速率限制,则本地回退模拟
4. 账户和投资组合系统
包括:
- 买入/卖出逻辑
- 余额管理
- 持股跟踪
- P/L计算
- 时间序列投资组合价值历史
______________________________________________________________________
项目架构
project/
├── accounts.py
├── accounts_server.py
├── accounts_client.py
├── market.py
├── market_server.py
├── push_server.py
├── mcp_params.py
├── traders.py
├── trading_floor.py
├── reset.py
├── templates.py
├── tracers.py
├── util.py
├── app.py # Gradio UI
│
├── 1.ipynb # Intro MCP servers
├── 2.ipynb # Custom MCP server + client
├── 3.ipynb # Advanced MCP + Polygon.io
├── 4.ipynb # Autonomous trading example
└── 5.ipynb # Multi-agent trading simulation______________________________________________________________________
架构图
┌──────────────────────────┐
│ Gradio Dashboard │
│ (UI for Real-Time View) │
└─────────────┬────────────┘
│
▼
┌────────────────────────────────────┐
│ Autonomous Trading Floor │
│ 4 Traders + 1 Research Agent │
└─────────────┬─────────────┬────────┘
│ │
▼ ▼
┌────────────────────────┐ ┌──────────────────────────┐
│ Researcher Agent │ │ Trader Agents (x4) │
│ - Web search │ │ - Execute trades │
│ - Fetch websites │ │ - Read market data │
│ - Save memory │ │ - Change strategies │
└──────────┬─────────────┘ └──────────┬───────────────┘
│ │
┌────────────┴────────────────────────────┴───────────────┐
│ MCP Servers │
├──────────────────────────────────────────────────────────┤
│ Accounts Server → Buy/Sell/Balance/Holdings │
│ Market Server → Share Prices (Free/Paid API) │
│ Brave Search Server → News + Research │
│ Fetch Server → Fetch webpages │
│ Memory Server → Persistent knowledge │
│ Push Server → Notifications │
└──────────────────────────────────────────────────────────┘______________________________________________________________________
核心组件说明
1️ MCP服务器
系统使用 五台MCP服务器:
| 服务器 | 用途 |
|---|---|
| accounts_server | 管理账户余额、持有量、交易 |
| 市场服务器 | 通过Polygon API或回退提供股票价格 |
| push_server | 发送推送通知 |
| 内存服务器 | 使用SQLite的持久内存(libsql) |
| 勇敢的搜索服务器 | 网络研究和市场新闻 |
这些跑 本地 但表现得像 外部服务,通过访问 MCPServerStdio.
______________________________________________________________________
2️ 代理系统
代理商使用 OpenAI代理框架:
每个代理人都有:
- 指示
- 模型
- 工具(MCP工具或python函数)
- 草稿和长期推理
代理商包括:
研究员代理人
- 进行网络研究
- 总结见解
- 在libsql中存储内存
- 提供通用的研究工具
交易员经纪人(沃伦、乔治、雷、凯西)
每个交易者都有:
- 独特的个性驱动策略
- 获取研究工具
- 访问市场数据MCP服务器
- 访问帐户服务器(买入/卖出)
他们自主地:
- 分析市场状况
- 研究股票
- 执行交易
- 跟踪P/L
______________________________________________________________________
3️ 会计系统
在 accounts.py,每个帐户存储:
- 平衡
- 持仓
- 交易清单
- 投资组合价值历史
- 损益计算
包括关键功能:
buy_shares()sell_shares()calculate_portfolio_value()change_strategy()report()
______________________________________________________________________
4️ 市场数据系统
在 market.py:
- 如果存在Polygon API键→ 获取真实的EOD或实时数据
- Else → 退回到随机价格
缓存避免了速率限制。
______________________________________________________________________
5️ Gradio仪表板(交易UI)
仪表板显示:
- 投资组合价值
- 时间序列图
- 持股情况表
- 最近的交易
- 跟踪日志
截图占位符:
\[在此处插入屏幕截图1--仪表板概述\]
\[在此处插入屏幕截图2——交易者投资组合视图\]
文件结构
MCP/
├── 1.ipynb # Intro: basic MCP usage with files, playwright, fetch
├── 2.ipynb # Custom MCP server + account MCP client
├── 3.ipynb # Memory server, Brave search, Polygon API tests
├── 4.ipynb # Trader + Researcher orchestration
├── 5.ipynb # Multi-trader system setup
│
├── accounts.py # Account model + buy/sell logic
├── accounts_server.py # MCP server exposing account functions
├── accounts_client.py # MCP client wrapper
│
├── market.py # Price fetching + caching
├── market_server.py # MCP server exposing market price lookup
│
├── traders.py # Trader logic: decision-making & execution
├── trading_floor.py # Runs all traders every N minutes
│
├── templates.py # Dynamic prompt instructions for agents
├── tracers.py # Logging + trace tracking
│
├── push_server.py # Push notification server
├── reset.py # Reset trader portfolios & strategies
│
├── app.py # Gradio trading dashboard UI
├── util.py # CSS, JS & helpers
│
└── memory/ # Persistent memory DBs for traders ______________________________________________________________________
自治系统是如何工作的
1.调度器(trading_floor.py)
每N分钟运行一次(默认值60):
- 检查市场开盘/收盘
- 运行每个交易员代理
- 贸易/再平衡周期之间的交替
- 记录活动
______________________________________________________________________
2.当交易者奔跑时
交易员:
- 阅读其账户和策略
- 使用研究员工具进行研究
- 获取股票数据
- 做出决定
- 执行交易
- 保存更新状态
- 发送推送通知
- 更新仪表板数据
- 记录所有内容
______________________________________________________________________
Gradio用户界面详解
UI(app.py)显示:
交易者名称和策略
实时投资组合价值
自动更新折线图
持股情况表
最近交易
活动/跟踪日志
UI会使用以下命令自动刷新 Gradio计时器.
______________________________________________________________________
包括笔记本
1.ipynb
MCP服务器简介:获取、编剧、文件系统、内存。
2.ipynb
创建自己的MCP服务器+客户端(帐户MCP服务器)。
3.ipynb
组合多台MCP服务器+Polygon金融MCP服务器。
4.ipynb
单交易员自主交易示例。
5.ipynb
完整的多代理交易模拟(4名交易员+研究员)。
______________________________________________________________________
需求
- Python 3.10+
- Node.js+NVM
- uv包管理器(用于Python依赖项)
- Polygon.io API键(可选,但推荐使用)
- 勇敢搜索API密钥
______________________________________________________________________
Gradio仪表板
仪表板实时显示:
- 投资组合价值和净现值
- 持股情况表
- 交易记录表
- 日志 (按事件类型突出显示)
- 时间序列投资组合图
______________________________________________________________________
屏幕截图占位符
屏幕截图1--仪表板概述

截图2--交易者详细信息视图

______________________________________________________________________
未来改进
添加基于LLM的强化学习
增加更多样化的金融工具
为市场快照添加缓存层
部署为基于云的交易模拟
______________________________________________________________________
______________________________________________________________________
总结
- 真正的MCP服务器集成
- 多智能体自主推理
- 有记忆的财务决策
- 使用真实API数据进行资产管理
- 交互式交易仪表板
- 生产级模块化架构
______________________________________________________________________
结论
该项目完整地展示了:
- 现代多智能体系统
- MCP协议在实际工作流程中的应用
- 金融数据管道
- 自主决策
- 基于模块化服务器的人工智能架构
