359 lines
13 KiB
Markdown
359 lines
13 KiB
Markdown
# OpenClaw Trading - 项目说明文档
|
||
|
||
**项目名称**: OpenClaw Trading
|
||
**项目路径**: `~/code/stock`
|
||
**当前状态**: Phase 4 生产就绪阶段 ✅
|
||
**最后更新**: 2026-02-25
|
||
|
||
---
|
||
|
||
## 📋 项目概述
|
||
|
||
OpenClaw Trading 是一个**AI驱动的多智能体量化交易系统**,核心创新点是将**ClawWork的生存压力机制**引入到交易Agent中——每个Agent必须为自己的决策付费,做不好就会"破产"被淘汰。
|
||
|
||
### 核心设计理念
|
||
|
||
| 来源 | 借鉴内容 | 本项目实现 |
|
||
|------|---------|-----------|
|
||
| **ClawWork** | 生存压力机制、经济追踪 | Agent必须付费做决策,经济状态影响交易权限 |
|
||
| **TradingAgents** | 多智能体协作架构 | 分析师→研究员→风险管理→交易员的分工协作 |
|
||
| **abu量化** | 因子系统、UMP风险拦截 | 可购买解锁的交易因子、动态风险限制 |
|
||
|
||
---
|
||
|
||
## 🏗️ 系统架构
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ OpenClaw Trading │
|
||
│ 生存压力驱动的量化系统 │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
||
│ │ 资金层 │◄──►│ Agent 层 │◄──►│ 市场层 │ │
|
||
│ │ Capital │ │ Multi-Agent │ │ Market │ │
|
||
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
||
│ │ │ │ │
|
||
│ ▼ ▼ ▼ │
|
||
│ ┌──────────────────────────────────────────────────────┐ │
|
||
│ │ 生存压力引擎 │ │
|
||
│ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │
|
||
│ │ │ 成本计算 │ │ 收益评估 │ │ 生存状态管理 │ │ │
|
||
│ │ │ Cost │ │ Reward │ │ Life State │ │ │
|
||
│ │ └──────────┘ └──────────┘ └──────────────────┘ │ │
|
||
│ └──────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 👥 Agent角色体系
|
||
|
||
系统包含7个专业Agent,每个Agent有自己的资金账户和生存压力:
|
||
|
||
### 分析师团队(低成本)
|
||
|
||
| Agent | 职责 | 决策成本 | 启动资金 |
|
||
|-------|------|---------|---------|
|
||
| **MarketAnalyst** | 技术分析(MA、RSI、MACD、BOLL) | $0.05 | $1,000 |
|
||
| **SentimentAnalyst** | 市场情绪分析(新闻/情绪) | $0.08 | $1,000 |
|
||
| **FundamentalAnalyst** | 基本面分析(PE、PB、ROE) | $0.10 | $1,000 |
|
||
|
||
### 研究员团队(中等成本)
|
||
|
||
| Agent | 职责 | 决策成本 | 启动资金 |
|
||
|-------|------|---------|---------|
|
||
| **BullResearcher** | 多头观点研究、反驳看空观点 | $0.15 | $2,000 |
|
||
| **BearResearcher** | 空头观点研究、反驳看多观点 | $0.15 | $2,000 |
|
||
|
||
### 决策执行团队(高成本)
|
||
|
||
| Agent | 职责 | 决策成本 | 启动资金 |
|
||
|-------|------|---------|---------|
|
||
| **RiskManager** | 风险评估、VaR计算、风险拦截 | $0.20 | $3,000 |
|
||
| **Trader** | 最终交易执行 | $0.30 | $10,000 |
|
||
|
||
---
|
||
|
||
## 💰 经济压力机制
|
||
|
||
### 生存状态分级
|
||
|
||
```
|
||
🚀 thriving (繁荣) - 资金 ≥ 150% 初始资金 - 可扩张交易规模
|
||
💪 stable (稳定) - 资金 ≥ 110% 初始资金 - 正常交易
|
||
⚠️ struggling (挣扎) - 资金 ≥ 80% 初始资金 - 只能做小单
|
||
🔴 critical (危急) - 资金 ≥ 30% 初始资金 - 只能模拟交易
|
||
💀 bankrupt (破产) - 资金 < 30% 初始资金 - 被淘汰
|
||
```
|
||
|
||
### 成本结构
|
||
|
||
- **LLM成本**: 输入 $2.5/百万tokens,输出 $10/百万tokens
|
||
- **数据成本**: 每次市场数据调用 $0.01
|
||
- **交易手续费**: 0.1%
|
||
|
||
### 工作-学习权衡
|
||
|
||
Agent根据经济状况决定是**立即交易赚钱**还是**投资学习提升能力**:
|
||
|
||
```
|
||
破产(bankrupt) → 清仓停止
|
||
危急(critical) → 模拟交易为主,学习为辅
|
||
挣扎(struggling) → 选择性交易,胜率低时学习
|
||
稳定(stable) → 正常交易 + 适度学习
|
||
繁荣(thriving) → 可承担更多风险,大量投资学习
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 核心工作流程
|
||
|
||
```
|
||
市场分析 → 情绪分析 → 基本面分析
|
||
↓
|
||
┌──────────────────┐
|
||
│ 研究员辩论 │
|
||
│ Bull vs Bear │
|
||
└────────┬─────────┘
|
||
↓
|
||
┌──────────────────┐
|
||
│ 决策融合 │
|
||
│ DecisionFusion │
|
||
└────────┬─────────┘
|
||
↓
|
||
┌──────────────────┐
|
||
│ 风险评估 │
|
||
│ RiskManager │
|
||
└────────┬─────────┘
|
||
↓
|
||
┌──────────────────┐
|
||
│ 交易执行 │
|
||
│ Trader │
|
||
└──────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 🛠️ 技术栈
|
||
|
||
### 核心依赖
|
||
- **Python**: 3.10+
|
||
- **Pydantic**: 数据验证
|
||
- **Rich**: 终端美化
|
||
- **Typer**: CLI框架
|
||
- **LangGraph**: 工作流编排
|
||
- **Pandas/NumPy**: 数据处理
|
||
- **yfinance**: 市场数据
|
||
|
||
### 开发工具
|
||
- **pytest**: 测试框架 (1102+ 测试用例)
|
||
- **ruff**: 代码格式化
|
||
- **black**: 代码风格
|
||
- **mypy**: 类型检查
|
||
|
||
---
|
||
|
||
## 📁 项目结构
|
||
|
||
```
|
||
~/code/stock/
|
||
├── config/
|
||
│ └── default.yaml # 默认配置文件
|
||
├── design/
|
||
│ ├── README.md # 系统设计文档
|
||
│ └── TASKS.md # 任务拆分文档
|
||
├── docs/ # 文档
|
||
├── examples/ # 使用示例
|
||
├── logs/ # 日志文件
|
||
├── notebooks/ # Jupyter Notebook
|
||
├── reference/ # 参考项目
|
||
├── report/ # 调研报告
|
||
├── src/openclaw/ # 核心源码
|
||
│ ├── agents/ # Agent角色
|
||
│ ├── backtest/ # 回测系统
|
||
│ ├── cli/ # 命令行界面
|
||
│ ├── core/ # 核心(经济、成本、配置)
|
||
│ ├── debate/ # 辩论框架
|
||
│ ├── exchange/ # 交易所接口
|
||
│ ├── fusion/ # 决策融合
|
||
│ ├── indicators/ # 技术指标
|
||
│ ├── learning/ # 学习投资
|
||
│ ├── memory/ # BM25记忆系统
|
||
│ ├── monitoring/ # 系统监控
|
||
│ ├── optimizer/ # 策略优化器
|
||
│ └── trading/ # 实盘交易
|
||
├── tests/
|
||
│ ├── unit/ # 单元测试 (259 tests)
|
||
│ └── integration/ # 集成测试 (43 tests)
|
||
├── demo_phase2.py # Phase 2 演示
|
||
├── demo_phase3.py # Phase 3 演示
|
||
├── demo_phase4.py # Phase 4 演示
|
||
├── demo_phase5.py # Phase 5 演示
|
||
└── pyproject.toml # 项目配置
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 开发进度
|
||
|
||
### Phase 1: 基础框架 ✅ (已完成)
|
||
- ✅ 项目脚手架搭建
|
||
- ✅ 配置管理系统
|
||
- ✅ 日志系统
|
||
- ✅ EconomicTracker 经济追踪器
|
||
- ✅ BaseAgent 抽象基类
|
||
- ✅ 技术指标库
|
||
- ✅ 基础CLI界面
|
||
|
||
### Phase 2: 多Agent协作 ✅ (92% 完成)
|
||
- ✅ 6个Agent角色实现(Market/Sentiment/Fundamental/Bull/Bear/Risk)
|
||
- ✅ 辩论框架(Bull vs Bear)
|
||
- ✅ 决策融合(DecisionFusion)
|
||
- ⏳ LangGraph工作流编排
|
||
- ⏳ TraderAgent最终交易执行
|
||
|
||
### Phase 3: 高级功能 🔄 (25% 完成)
|
||
- ✅ 策略框架基类
|
||
- ✅ 策略组合管理
|
||
- ✅ 策略回测对比
|
||
- ✅ Agent学习记忆(BM25)
|
||
- ✅ 策略优化器(网格/随机/贝叶斯)
|
||
- ✅ 进化算法集成
|
||
- ⏳ 因子市场系统
|
||
- ⏳ 学习投资系统
|
||
|
||
### Phase 4: 生产就绪 ✅ (已完成)
|
||
- ✅ 回测引擎(BacktestEngine)
|
||
- ✅ 回测分析器(PerformanceAnalyzer)
|
||
- ✅ 交易所接口(Binance/Mock)
|
||
- ✅ 实盘模式管理(LiveModeManager)
|
||
- ✅ 系统监控(StatusMonitor, MetricsCollector)
|
||
- ✅ CLI完整命令(init/run/status/config)
|
||
|
||
---
|
||
|
||
## 🧪 测试状态
|
||
|
||
| 类别 | 测试数 | 状态 |
|
||
|------|--------|------|
|
||
| 单元测试 | 259+ | ✅ 全部通过 |
|
||
| 集成测试 | 43+ | ✅ 全部通过 |
|
||
| **总计** | **1102+** | **✅ 全部通过** |
|
||
|
||
---
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 安装依赖
|
||
```bash
|
||
cd ~/code/stock
|
||
pip install -e ".[dev]"
|
||
```
|
||
|
||
### 运行演示
|
||
```bash
|
||
# Phase 2: 多Agent协作演示
|
||
python demo_phase2.py
|
||
|
||
# Phase 3: 策略与学习系统演示
|
||
python demo_phase3.py
|
||
|
||
# Phase 4: 优化与进化算法演示
|
||
python demo_phase4.py
|
||
|
||
# Phase 5: 生产就绪功能演示
|
||
python demo_phase5.py
|
||
|
||
# LangGraph工作流演示
|
||
python demo_langgraph_workflow.py
|
||
```
|
||
|
||
### CLI命令
|
||
```bash
|
||
# 查看帮助
|
||
openclaw --help
|
||
|
||
# 初始化配置
|
||
openclaw init
|
||
|
||
# 运行交易系统
|
||
openclaw run
|
||
|
||
# 查看系统状态
|
||
openclaw status
|
||
|
||
# 配置管理
|
||
openclaw config
|
||
```
|
||
|
||
---
|
||
|
||
## 📈 核心特性
|
||
|
||
### 已实现
|
||
- ✅ **多Agent协作**: 7个专业Agent分工协作
|
||
- ✅ **生存压力**: 经济机制驱动Agent行为
|
||
- ✅ **辩论机制**: Bull vs Bear 观点辩论
|
||
- ✅ **BM25记忆**: 离线记忆系统,持续学习
|
||
- ✅ **策略优化**: 网格搜索/随机搜索/贝叶斯优化
|
||
- ✅ **进化算法**: 遗传算法 + NSGA-II 多目标优化
|
||
- ✅ **回测系统**: 事件驱动回测引擎
|
||
- ✅ **交易所接口**: Binance/Mock 交易所适配
|
||
- ✅ **系统监控**: 实时监控和指标收集
|
||
|
||
### 待实现
|
||
- ⏳ **因子市场**: 可购买解锁的交易因子
|
||
- ⏳ **学习投资**: Agent可投资学习提升技能
|
||
- ⏳ **Web仪表板**: 实时可视化监控
|
||
- ⏳ **实盘模式**: 真实资金交易对接
|
||
|
||
---
|
||
|
||
## 📚 文档资源
|
||
|
||
| 文档 | 路径 | 说明 |
|
||
|------|------|------|
|
||
| 系统设计 | `design/README.md` | 完整架构设计 |
|
||
| 任务拆分 | `design/TASKS.md` | 44个任务详细说明 |
|
||
| abu调研 | `report/abu_report.md` | 阿布量化系统分析 |
|
||
| TradingAgents | `report/TradingAgents_report.md` | 多智能体框架分析 |
|
||
| ClawWork | `report/ClawWork_report.md` | 生存压力机制分析 |
|
||
|
||
---
|
||
|
||
## 💡 关键设计亮点
|
||
|
||
1. **真实的经济压力**: Agent每次决策都要花钱,做不好会破产
|
||
2. **有机的团队协作**: 分析师→研究员→风险管理→交易员的流水线
|
||
3. **持续学习进化**: BM25记忆 + 学习投资 + 进化算法优化
|
||
4. **严格的风险控制**: 基于经济状态的动态风险限制
|
||
5. **完整的回测体系**: 支持策略对比和参数优化
|
||
|
||
---
|
||
|
||
## 📊 代码统计
|
||
|
||
- **Python文件**: 64个
|
||
- **测试文件**: 32个
|
||
- **测试用例**: 1102+
|
||
- **配置文件**: YAML + TOML
|
||
- **示例代码**: 5个Phase演示
|
||
|
||
---
|
||
|
||
## 🔮 未来规划
|
||
|
||
1. **Phase 5**: Web仪表板 + 实盘对接 + 生产部署
|
||
2. **因子市场**: 实现可购买的高级交易因子
|
||
3. **学习系统**: 完成课程投资和能力提升
|
||
4. **可视化**: 实时资金曲线和状态监控
|
||
5. **开源**: 完善文档后开源发布
|
||
|
||
---
|
||
|
||
*文档版本: 1.0*
|
||
*生成时间: 2026-02-26*
|
||
*项目状态: Phase 4 生产就绪 ✅*
|