13 KiB
13 KiB
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+ | ✅ 全部通过 |
🚀 快速开始
安装依赖
cd ~/code/stock
pip install -e ".[dev]"
运行演示
# 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命令
# 查看帮助
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 |
生存压力机制分析 |
💡 关键设计亮点
- 真实的经济压力: Agent每次决策都要花钱,做不好会破产
- 有机的团队协作: 分析师→研究员→风险管理→交易员的流水线
- 持续学习进化: BM25记忆 + 学习投资 + 进化算法优化
- 严格的风险控制: 基于经济状态的动态风险限制
- 完整的回测体系: 支持策略对比和参数优化
📊 代码统计
- Python文件: 64个
- 测试文件: 32个
- 测试用例: 1102+
- 配置文件: YAML + TOML
- 示例代码: 5个Phase演示
🔮 未来规划
- Phase 5: Web仪表板 + 实盘对接 + 生产部署
- 因子市场: 实现可购买的高级交易因子
- 学习系统: 完成课程投资和能力提升
- 可视化: 实时资金曲线和状态监控
- 开源: 完善文档后开源发布
文档版本: 1.0
生成时间: 2026-02-26
项目状态: Phase 4 生产就绪 ✅