stock/PROJECT_OVERVIEW.md
2026-02-27 03:17:12 +08:00

359 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 生产就绪 ✅*