29 KiB
29 KiB
OpenClaw Trading - 详细任务拆分文档
项目概述
基于 ClawWork 生存压力机制 + TradingAgents 多智能体架构 + abu 因子系统的量化交易系统。
📊 当前状态: Phase 1 ✅ | Phase 2 ✅ (100%) | Phase 3 🔄 (42%) | Phase 4 ✅ ✅ 已完成: 36/44 任务 (82%) 🧪 测试状态: 1417 collected, 0 collection warnings(TestAgent 已重命名为 ConcreteBaseAgent) 📅 更新时间: 2026-02-27 🎯 Sprint 1: 6个Agent角色 ✅ 已完成 (259 tests) 🎯 Sprint 2: 辩论+融合框架 ✅ 已完成 (43 tests) 🎯 Sprint 3: 工作流执行+因子/学习/仪表板对接 ✅ (2026-02-27)
第一阶段:基础框架 ✅ 已完成 (2026-02-27)
1.1 项目初始化
TASK-001: ✅ 项目脚手架搭建
- 描述: 创建项目基础结构,配置开发环境
- 状态: ✅ 已完成 (2026-02-27)
- 具体工作:
- 初始化 Python 项目 (pyproject.toml)
- 配置虚拟环境 (venv/conda)
- 安装基础依赖 (pydantic, rich, pytest)
- 创建目录结构 (src/openclaw/{core,agents,utils})
- 配置代码格式化 (ruff, black)
- 配置类型检查 (mypy)
- 创建 .gitignore 和 .env.example
- 验收标准:
pip install -e .成功安装pytest可以运行(即使无测试)ruff check .无错误
- 预估工时: 4小时
TASK-002: ✅ 配置管理系统
- 描述: 实现统一的配置管理,支持多环境
- 具体工作:
- 设计配置 Schema (Pydantic BaseModel)
- 实现 YAML/JSON 配置加载
- 支持环境变量覆盖
- 配置验证和默认值
- 创建默认配置文件模板
- 关键配置项:
class OpenClawConfig(BaseModel): initial_capital: Dict[str, float] cost_structure: CostStructure survival_thresholds: SurvivalThresholds llm_providers: Dict[str, LLMConfig] - 验收标准:
- 配置文件可被正确加载和验证
- 环境变量可覆盖配置项
- 配置错误有清晰的错误提示
- 预估工时: 6小时
- 依赖: TASK-001
TASK-003: ✅ 日志系统
- 描述: 实现结构化日志,支持不同级别和输出
- 具体工作:
- 配置 loguru 或 structlog
- 实现控制台彩色输出
- 实现文件日志(按日期轮转)
- 添加 JSON 格式支持(便于分析)
- 不同模块的日志级别控制
- 验收标准:
- 日志同时输出到控制台和文件
- JSON 日志可被正确解析
- 日志级别可配置
- 预估工时: 3小时
- 依赖: TASK-001
1.2 经济压力核心
TASK-004: ✅ EconomicTracker 经济追踪器
- 描述: 实现Agent经济状态追踪核心类
- 具体工作:
- 实现基础属性 (balance, token_costs, trade_costs, pnl)
- 实现
calculate_decision_cost()方法 - 实现
calculate_trade_cost()方法 - 实现
get_survival_status()方法 - 实现资金变动历史记录
- 添加持久化存储 (JSONL)
- 核心算法:
def get_survival_status(self) -> str: if self.balance >= self.thresholds['thriving']: return '🚀 thriving' elif self.balance >= self.thresholds['stable']: return '💪 stable' # ... 其他状态 - 验收标准:
- 所有方法单元测试通过
- 成本计算精度到小数点后4位
- 状态转换边界条件正确
- 持久化数据可正确恢复
- 预估工时: 8小时
- 依赖: TASK-002
TASK-005: ✅ 成本计算器
- 描述: 细粒度的成本计算系统
- 具体工作:
- 实现 Token 成本计算 (按模型区分)
- 实现数据调用成本计算
- 实现交易手续费计算
- 实现学习投资成本追踪
- 实现因子购买成本追踪
- 成本报表生成
- 验收标准:
- 支持 OpenAI/Anthropic/Gemini 等不同定价
- 成本分类清晰(决策成本 vs 交易成本)
- 可生成每日/每周成本报表
- 预估工时: 6小时
- 依赖: TASK-004
1.3 基础Agent系统
TASK-006: ✅ BaseAgent 抽象基类
- 描述: 所有Agent的基类,封装通用功能
- 具体工作:
- 设计 Agent 抽象基类
- 集成 EconomicTracker
- 实现基础属性 (agent_id, skill_level, win_rate)
- 实现生存状态检查
- 实现决策成本扣除机制
- 添加事件钩子(on_trade, on_learn, on_bankrupt)
- 类设计:
class BaseAgent(ABC): def __init__(self, agent_id: str, initial_capital: float): self.economic_tracker = EconomicTracker(agent_id, initial_capital) self.skill_level = 0.5 self.win_rate = 0.5 self.unlocked_factors = [] @abstractmethod async def decide_activity(self) -> ActivityType: pass - 验收标准:
- 所有具体Agent可以继承并正常工作
- 事件钩子可以被正确触发
- 经济状态变化时自动记录
- 预估工时: 8小时
- 依赖: TASK-004
TASK-007: ✅ TraderAgent 交易员
- 描述: 实现基础交易员Agent
- 具体工作:
- 继承 BaseAgent
- 实现
analyze_market()方法 - 实现
generate_signal()方法 - 实现
execute_trade()方法 - 集成模拟交易所(初始使用虚拟交易)
- 交易记录持久化
- 验收标准:
- 可以生成买入/卖出/持有信号
- 交易执行时正确扣除成本
- 交易记录可追溯
- 预估工时: 10小时
- 依赖: TASK-006
1.4 数据层
TASK-008: ✅ 数据源抽象接口
- 描述: 统一的数据源接口,支持多数据源切换
- 具体工作:
- 设计 DataSource 抽象基类
- 实现数据源工厂
- 定义标准数据格式 (OHLCV)
- 实现数据缓存机制
- 支持 yfinance 适配器
- 接口设计:
class DataSource(ABC): @abstractmethod async def get_ohlcv(self, symbol: str, interval: str) -> DataFrame: pass @abstractmethod async def get_fundamentals(self, symbol: str) -> Dict: pass - 验收标准:
- 支持多数据源无缝切换
- 数据格式统一
- 缓存命中时返回缓存数据
- 预估工时: 8小时
- 依赖: TASK-002
TASK-009: ✅ 技术指标库
- 描述: 常用技术指标计算
- 具体工作:
- 实现基础指标 (MA, EMA, RSI, MACD, BOLL)
- 实现波动率指标 (ATR, STD)
- 实现成交量指标 (OBV, VWAP)
- 统一指标接口
- 指标缓存优化
- 验收标准:
- 所有指标计算结果与标准库一致
- 支持不同时间周期
- 计算性能满足实时需求
- 预估工时: 10小时
- 依赖: TASK-008
1.5 CLI 界面
TASK-010: ✅ 基础CLI界面
- 描述: 命令行交互界面
- 具体工作:
- 使用 Typer 创建 CLI 框架
- 实现配置查看命令
- 实现手动交易命令
- 实现状态查询命令
- 添加 Rich 美化输出
- 验收标准:
openclaw --help显示所有命令- 命令行可执行基础操作
- 输出美观易读
- 预估工时: 6小时
- 依赖: TASK-001
TASK-011: ✅ Agent状态监控
- 描述: 实时显示Agent经济状态
- 具体工作:
- 创建状态表格显示
- 实现实时刷新
- 颜色编码状态
- 添加关键指标显示
- 验收标准:
- 余额、状态、胜率、技能等级一目了然
- 状态变化实时更新
- 预估工时: 4小时
- 依赖: TASK-010
第一阶段里程碑检查点 ✅
完成标准:
- 可以启动一个 TraderAgent
- Agent可以进行模拟交易
- 经济状态正确追踪和显示
- CLI 可以查询状态
- 所有核心类有单元测试
第二阶段:多Agent协作 🔄 已完成 (12/12 任务)
2.1 Agent角色实现 ✅ Sprint 1 完成 (2026-02-27)
TASK-012: ✅ MarketAnalyst 市场分析师
- 描述: 技术分析Agent
- 状态: ✅ 已完成 (2026-02-27)
- 文件:
src/openclaw/agents/market_analyst.py(12KB) - 测试:
tests/unit/test_market_analyst.py(34 tests) - 具体工作:
- 继承 BaseAgent
- 实现技术指标分析 (MA, EMA, RSI, MACD, BOLL)
- 实现趋势识别
- 生成技术分析报告
- 决策成本:$0.05
- 验收标准:
- 可以分析多个技术指标
- 输出结构化的分析报告
- 预估工时: 8小时
- 依赖: TASK-006, TASK-009
TASK-013: ✅ SentimentAnalyst 情绪分析师
- 描述: 市场情绪分析Agent
- 状态: ✅ 已完成 (2026-02-27)
- 文件:
src/openclaw/agents/sentiment_analyst.py(16KB) - 测试:
tests/unit/test_sentiment_analyst.py(43 tests) - 具体工作:
- 继承 BaseAgent
- 集成新闻数据源
- 实现情绪分析(使用关键词/规则)
- 生成情绪报告
- 决策成本:$0.08
- 验收标准:
- 可以获取并分析新闻
- 输出情绪得分和摘要
- 预估工时: 10小时
- 依赖: TASK-006
TASK-014: ✅ FundamentalAnalyst 基本面分析师
- 描述: 基本面分析Agent
- 状态: ✅ 已完成 (2026-02-27)
- 文件:
src/openclaw/agents/fundamental_analyst.py(15KB) - 测试:
tests/unit/test_fundamental_analyst.py(42 tests) - 具体工作:
- 继承 BaseAgent
- 实现财务数据分析
- 实现估值指标计算 (PE, PB, ROE等)
- 生成基本面报告
- 决策成本:$0.10
- 验收标准:
- 可以分析财务报表
- 输出基本面评分
- 预估工时: 10小时
- 依赖: TASK-006
TASK-015: ✅ BullResearcher 看涨研究员
- 描述: 多头观点研究员
- 状态: ✅ 已完成 (2026-02-27)
- 文件:
src/openclaw/agents/bull_researcher.py(24KB) - 测试:
tests/unit/test_bull_researcher.py(58 tests) - 具体工作:
- 继承 BaseAgent
- 分析正面因素
- 反驳看跌观点
- 生成看多报告
- 决策成本:$0.15
- 验收标准:
- 可以基于分析师报告生成看多观点
- 可以回应看空观点的质疑
- 预估工时: 8小时
- 依赖: TASK-012, TASK-013, TASK-014
TASK-016: ✅ BearResearcher 看跌研究员
- 描述: 空头观点研究员
- 状态: ✅ 已完成 (2026-02-27)
- 文件:
src/openclaw/agents/bear_researcher.py(19KB) - 测试:
tests/unit/test_bear_researcher.py(43 tests) - 具体工作:
- 继承 BaseAgent
- 分析风险因素
- 反驳看涨观点
- 生成看空报告
- 决策成本:$0.15
- 验收标准:
- 可以基于分析师报告生成看空观点
- 可以回应看多观点的质疑
- 预估工时: 8小时
- 依赖: TASK-012, TASK-013, TASK-014
TASK-017: ✅ RiskManager 风险管理
- 描述: 风险评估Agent
- 状态: ✅ 已完成 (2026-02-27)
- 文件:
src/openclaw/agents/risk_manager.py(24KB) - 测试:
tests/unit/test_risk_manager.py(45 tests) - 具体工作:
- 继承 BaseAgent
- 实现组合风险评估
- 实现波动率分析
- 生成风险评估报告 (含VaR计算)
- 决策成本:$0.20
- 验收标准:
- 可以评估交易风险
- 可以给出风险等级和建议
- 预估工时: 10小时
- 依赖: TASK-006
2.2 辩论机制
TASK-018: ✅ 辩论框架
- 描述: 实现Agent间的辩论机制
- 状态: ✅ 已完成 (2026-02-27)
- 文件:
src/openclaw/debate/debate_framework.py(11KB) - 测试:
tests/unit/test_debate_framework.py(24 tests) - 具体工作:
- 设计辩论协议 (Argument, Rebuttal, DebateRound)
- 实现论点数据结构
- 实现反驳逻辑 (效果评分 0-1)
- 实现辩论轮次控制 (可配置最大/最小轮次)
- 辩论历史记录
- 核心类:
DebateFramework: 辩论管理器Argument: 论点 (类型/强度/证据)Rebuttal: 反驳 (目标论点/效果)DebateResult: 辩论结果 (胜者/得分/建议)
- 验收标准:
- Bull 和 Bear 可以就观点进行辩论
- 支持多轮辩论
- 辩论过程可追踪
- 预估工时: 10小时
- 依赖: TASK-015, TASK-016
TASK-019: ✅ 决策融合
- 描述: 综合多方观点做出决策
- 状态: ✅ 已完成 (2026-02-27)
- 文件:
src/openclaw/fusion/decision_fusion.py(13KB) - 测试:
tests/unit/test_decision_fusion.py(19 tests) - 具体工作:
- 设计决策融合算法 (加权投票)
- 实现加权投票 (按角色权重)
- 实现置信度计算 (共识度 × 信号强度)
- 处理意见分歧 (支持/反对分类)
- 核心类:
DecisionFusion: 决策融合引擎AgentOpinion: Agent意见 (信号/置信度/理由)FusionResult: 融合结果 (最终信号/执行计划)SignalType: 信号类型 (强买/买/持有/卖/强卖)
- 特性:
- 角色权重配置 (RiskManager 1.5x, Fundamental 1.2x)
- 风险覆盖机制 (RiskManager 可否决交易)
- 执行计划生成 (紧急度/仓位大小)
- 验收标准:
- 可以综合多方观点
- 输出最终决策和置信度
- 预估工时: 8小时
- 依赖: TASK-018
2.3 工作流编排
TASK-020: ✅ LangGraph 集成
- 描述: 使用 LangGraph 编排工作流
- 状态: ✅ 已完成 (2026-02-27),含 execute_order 端到端
- 具体工作:
- 安装 LangGraph
- 设计状态图
- 实现节点函数(含 execute_order_node)
- 实现边:risk_assessment → execute_order → END
- 实现并行执行
- 状态图:
START -> [MarketAnalysis, SentimentAnalysis, FundamentalAnalysis] -> BullBearDebate -> DecisionFusion -> RiskAssessment -> ExecuteOrder -> END - 验收标准:
- 工作流可以完整执行
- 状态转换正确
- 支持条件分支
- 预估工时: 12小时
- 依赖: TASK-012 至 TASK-017
TASK-021: ✅ 工作-学习决策
- 描述: 实现工作/学习权衡机制,TraderAgent 执行最终决策
- 状态: ✅ 已完成 (2026-02-27)
- 具体工作:
- 实现 WorkTradeBalance 类
- 根据经济状态决定活动
- 根据技能水平调整策略
- 根据胜率决定交易强度
- TraderAgent.set_work_trade_balance() 与 decide_activity 集成
- execute_order 节点根据 WorkTradeBalance 决定 paper/real 并下单
- 验收标准:
- 不同状态对应不同行为
- 决策逻辑可配置
- 多 Agent → 辩论 → 融合 → 下单 端到端打通
- 预估工时: 8小时
- 依赖: TASK-020
2.4 记忆系统
TASK-022: ✅ BM25 记忆实现
- 描述: 基于 BM25 的离线记忆系统
- 具体工作:
- 安装 rank-bm25
- 实现记忆存储接口
- 实现记忆检索接口
- 文本预处理和分词
- 记忆持久化
- 验收标准:
- 可以存储和检索记忆
- 相似度匹配准确
- 完全离线工作
- 预估工时: 8小时
- 依赖: TASK-006
TASK-023: ✅ 反思与学习
- 描述: 基于交易结果的反思机制
- 具体工作:
- 实现交易结果记录
- 实现错误分析
- 实现成功模式提取
- 更新记忆库
- 技能等级更新
- 验收标准:
- 交易后可以自动反思
- 记忆库随时间增长
- 技能等级根据表现调整
- 预估工时: 10小时
- 依赖: TASK-022
第二阶段里程碑检查点
完成标准:
- 7个Agent角色全部实现
- 工作流可以完整执行
- Bull/Bear 可以进行辩论
- 记忆系统正常工作
- 多Agent协作进行模拟交易
第三阶段:高级功能 🔄 基础完成 (5/12 任务)
3.1 因子市场
TASK-024: ✅ 因子基类
- 描述: 交易因子的抽象基类
- 具体工作:
- 设计 Factor 抽象基类
- 实现买入因子接口
- 实现卖出因子接口
- 实现选股因子接口
- 因子参数配置
- 验收标准:
- 所有因子继承统一接口
- 支持参数化配置
- 预估工时: 6小时
- 依赖: TASK-006
TASK-025: ✅ 基础因子实现
- 描述: 免费基础因子
- 具体工作:
- 实现均线金叉因子
- 实现 RSI 超卖因子
- 实现 MACD 金叉因子
- 实现布林带突破因子
- 因子注册机制
- 验收标准:
- 所有因子可以独立运行
- 信号生成正确
- 预估工时: 10小时
- 依赖: TASK-024
TASK-026: ✅ 高级因子实现
- 描述: 付费高级因子(已有 ML/情绪动量/多因子组合)
- 状态: ✅ 已有实现,购买与扣款逻辑已补全
- 验收标准:
- 高级因子需要购买解锁
- 购买后可用
- 预估工时: 12小时
- 依赖: TASK-025
TASK-027: ✅ 因子市场系统
- 描述: 因子购买和管理系统
- 状态: ✅ 已完成 (2026-02-27),扣款统一走 tracker.deduct()
- 具体工作:
- 实现因子商店界面 (FactorStore)
- 实现购买逻辑与余额扣除 (deduct)
- 实现因子库存管理
- 因子效果验证
- 验收标准:
- Agent可以购买因子
- 购买后自动解锁
- 余额正确扣除(insufficient balance 时返回失败)
- 预估工时: 8小时
- 依赖: TASK-026
3.2 学习投资
TASK-028: ✅ 课程系统设计
- 描述: 学习课程的数据结构
- 状态: ✅ 已有 (Course, SkillEffect, CourseProgress, LearningHistory)
- 验收标准:
- 课程数据结构完整
- 可以追踪学习进度
- 预估工时: 6小时
- 依赖: TASK-006
TASK-029: ✅ 课程实现
- 描述: 具体课程内容
- 状态: ✅ 已有 (technical_analysis_101, risk_management_101, market_psychology_101, advanced_strategies_101)
- 验收标准:
- 每门课程有明确效果
- 完成后技能提升(effects + unlocks_factors)
- 预估工时: 10小时
- 依赖: TASK-028
TASK-030: ✅ 学习管理系统
- 描述: 学习过程管理
- 状态: ✅ 已完成 (2026-02-27),报名扣款走 tracker.deduct()
- 具体工作:
- 实现课程报名 (enroll,余额不足时返回失败)
- 实现学习进度更新 (update_progress)
- 实现课程完成检测 (check_completion, _complete_course)
- 技能等级更新 (_update_agent_skill_level)
- 学习历史记录 (learning_history)
- 验收标准:
- Agent可以报名学习
- 学习期间 current_activity=LEARN,不能交易
- 完成后技能提升并解锁因子
- 预估工时: 8小时
- 依赖: TASK-029
3.3 风险管理
TASK-031: ✅ 生存风险拦截器
- 描述: 基于经济状态的风险限制
- 具体工作:
- 实现 SurvivalRiskManager
- 根据状态限制仓位
- 根据状态限制风险
- 动态止损调整
- 拦截记录和通知
- 验收标准:
- 危急状态只能做最小交易
- 繁荣状态可以承担更多风险
- 拦截有明确原因
- 预估工时: 10小时
- 依赖: TASK-004, TASK-007
TASK-032: 组合风险管理
- 描述: 多品种组合风险控制
- 具体工作:
- 实现仓位集中度限制
- 实现相关性风险监控
- 实现回撤控制
- 实现风险价值(VaR)计算
- 验收标准:
- 组合风险可量化
- 超过阈值时告警
- 预估工时: 12小时
- 依赖: TASK-031
3.4 可视化仪表板
TASK-033: ✅ Web 仪表板框架
- 描述: 基于 FastAPI + WebSocket 的实时仪表板
- 状态: ✅ 已有 (dashboard/app.py, /ws, /api/*)
- 验收标准:
- WebSocket 连接稳定
- 数据实时更新(agent_init 含 agents, metrics, recent_trades, alerts)
- 预估工时: 10小时
- 依赖: TASK-002
TASK-034: ✅ 前端可视化
- 描述: 丰富的数据可视化
- 状态: ✅ 已有 (frontend agents/trading/orders/charts),Next 代理 /api -> 8000
- 验收标准:
- Agent 状态面板、资金曲线、交易记录等
- 数据通过 WebSocket 与 REST 更新
- 预估工时: 12小时
- 依赖: TASK-033
TASK-035: ✅ 实时告警
- 描述: 关键事件实时通知
- 状态: ✅ 已完成 (2026-02-27),前后端对接
- 具体工作:
- 后端 _check_alerts:破产、大额亏损告警
- WebSocket 广播含 alerts,前端 useAgentUpdates 解析并 setAlerts
- 前端 agentStore.alerts、api/alerts.ts (getAlerts, acknowledgeAlert)
- 验收标准:
- 告警通过 /ws 推送至前端
- 前端可展示并确认告警
- 预估工时: 8小时
- 依赖: TASK-033
第三阶段里程碑检查点
完成标准:
- 因子市场可用,可以购买因子
- 学习系统可用,可以提升技能
- 风险拦截有效保护Agent
- Web 仪表板实时显示状态
- 告警系统正常工作
第四阶段:生产就绪 ✅ 已完成 (2026-02-27)
4.1 回测系统
TASK-036: ✅ 回测引擎
- 描述: 历史数据回测
- 具体工作:
- 实现回测数据加载
- 实现时间序列模拟
- 实现滑点模拟
- 实现手续费计算
- 实现回测报告生成
- 验收标准:
- 可以使用历史数据回测
- 回测结果准确
- 报告包含关键指标
- 预估工时: 12小时
- 依赖: TASK-008
TASK-037: ✅ 回测分析
- 描述: 回测结果分析
- 具体工作:
- 实现绩效指标计算
- 实现最大回撤分析
- 实现夏普比率计算
- 实现胜率/盈亏比统计
- 可视化回测结果
- 验收标准:
- 所有指标计算正确
- 可视化清晰
- 预估工时: 10小时
- 依赖: TASK-036
4.2 实盘对接
TASK-038: ✅ 交易所接口
- 描述: 对接真实交易所API
- 具体工作:
- 设计交易所抽象接口
- 实现 Binance 适配器
- 实现 股票券商适配器(模拟)
- 实现订单管理
- 实现持仓查询
- 验收标准:
- 可以下单和查询
- 错误处理完善
- 预估工时: 12小时
- 依赖: TASK-007
TASK-039: ✅ 实盘模式
- 描述: 实盘交易模式
- 具体工作:
- 实现实盘开关
- 实现风险控制强化
- 实现资金检查
- 实现异常处理
- 实盘日志记录
- 验收标准:
- 实盘模式有明确标识
- 风险控制更严格
- 预估工时: 8小时
- 依赖: TASK-038
4.3 监控与运维
TASK-040: ✅ 系统监控
- 描述: 系统健康和性能监控
- 具体工作:
- 实现系统指标收集
- 实现性能监控
- 实现错误率监控
- 集成 Prometheus
- Grafana 仪表盘
- 验收标准:
- 关键指标可监控
- 告警规则有效
- 预估工时: 10小时
- 依赖: TASK-033
TASK-041: ✅ 日志分析
- 描述: 日志聚合和分析
- 具体工作:
- 配置日志收集
- 实现日志搜索
- 实现错误分析
- 实现交易审计
- 验收标准:
- 日志可查可追溯
- 支持全文搜索
- 预估工时: 6小时
- 依赖: TASK-003
4.4 文档和示例
TASK-042: API 文档
- 描述: 完整的 API 文档
- 具体工作:
- 使用 Sphinx 生成文档
- 编写 API 参考
- 编写架构文档
- 编写部署指南
- 验收标准:
- 文档完整可用
- 示例代码可运行
- 预估工时: 8小时
- 依赖: 无
TASK-043: 使用示例
- 描述: 完整的使用示例
- 具体工作:
- 快速入门示例
- 自定义 Agent 示例
- 多 Agent 协作示例
- 回测示例
- Jupyter Notebook 教程
- 验收标准:
- 所有示例可运行
- 覆盖主要功能
- 预估工时: 10小时
- 依赖: TASK-042
TASK-044: ✅ 测试覆盖
- 描述: 完整的测试覆盖
- 具体工作:
- 单元测试覆盖率 >80%
- 集成测试
- 端到端测试
- 性能测试
- CI/CD 配置
- 验收标准:
- pytest 通过率 100%
- 覆盖率报告达标
- 预估工时: 12小时
- 依赖: 所有前置任务
第四阶段里程碑检查点 ✅
完成标准:
- 回测系统可用
- 可以对接实盘交易所
- 监控系统正常工作
- 文档完整
- 测试覆盖率达标
- 项目可以开源/发布
任务依赖图
第一阶段:
TASK-001 -> TASK-002 -> TASK-004 -> TASK-006 -> TASK-007
| | | |
v v v v
TASK-003 TASK-008 -> TASK-009 TASK-012 至 TASK-017
| |
v v
TASK-010 -> TASK-011 TASK-020
第二阶段:
TASK-012 至 TASK-017 -> TASK-018 -> TASK-019 -> TASK-021
| |
v v
TASK-022 -> TASK-023
第三阶段:
TASK-024 -> TASK-025 -> TASK-026 -> TASK-027
TASK-028 -> TASK-029 -> TASK-030
TASK-031 -> TASK-032
TASK-033 -> TASK-034 -> TASK-035
第四阶段:
TASK-036 -> TASK-037
TASK-038 -> TASK-039
TASK-040
TASK-041
TASK-042 -> TASK-043
TASK-044 (依赖所有)
时间估算汇总
| 阶段 | 任务数 | 预估工时 | 预估周期 |
|---|---|---|---|
| 第一阶段 | 11 | ~75小时 | 2-3周 |
| 第二阶段 | 12 | ~100小时 | 3-4周 |
| 第三阶段 | 12 | ~102小时 | 3-4周 |
| 第四阶段 | 9 | ~78小时 | 2-3周 |
| 总计 | 44 | ~355小时 | 10-14周 |
优先级建议
P0 - 核心功能(必须)
- TASK-001 ~ TASK-007: ✅ 基础框架和单Agent
- TASK-012 ~ TASK-017: 多Agent角色
- TASK-020: ✅ 工作流编排
- TASK-031: ✅ 风险拦截
P1 - 重要功能(应该有)
- TASK-022 ~ TASK-023: ✅ 记忆系统
- TASK-024 ~ TASK-027: 因子市场
- TASK-036 ~ TASK-037: ✅ 回测系统
- TASK-042 ~ TASK-044: ✅ 文档和测试
P2 - 增强功能(可以有)
- TASK-028 ~ TASK-030: 学习投资
- TASK-032: 组合风险管理
- TASK-033 ~ TASK-035: Web仪表板
- TASK-038 ~ TASK-041: ✅ 实盘对接
快速开始建议
最小可行产品 (MVP)
完成以下任务即可运行第一个版本:
- TASK-001: 项目脚手架
- TASK-002: 配置系统
- TASK-004: EconomicTracker
- TASK-006: BaseAgent
- TASK-007: TraderAgent
- TASK-010: CLI界面
MVP工时: ~40小时 (1周)
第一个可演示版本
添加多Agent协作:
- TASK-012: MarketAnalyst
- TASK-015: BullResearcher
- TASK-016: BearResearcher
- TASK-020: LangGraph工作流
可演示版本工时: ~80小时 (2周)
📊 项目进度总结
| 阶段 | 任务数 | 已完成 | 完成率 | 状态 |
|---|---|---|---|---|
| 第一阶段:基础框架 | 11 | 11 | 100% | ✅ 已完成 |
| 第二阶段:多Agent协作 | 12 | 12 | 100% | ✅ 已完成 |
| 第三阶段:高级功能 | 12 | 5 | 42% | 🔄 进行中 |
| 第四阶段:生产就绪 | 9 | 7 | 78% | ✅ 基本完成 |
| 总计 | 44 | 36 | 82% | 🚀 持续推进 |
测试统计
- 总测试数: 1417 (collected)
- 收集告警: 0(TestAgent 已重命名为 ConcreteBaseAgent,修复 Pytest 收集)
- 状态: 见
pytest tests/ -q输出
✅ Sprint 1 完成总结 (2026-02-27)
6个Agent角色全部实现并通过测试:
- MarketAnalyst: 34 tests ✅ ($0.05/决策)
- SentimentAnalyst: 43 tests ✅ ($0.08/决策)
- FundamentalAnalyst: 42 tests ✅ ($0.10/决策)
- BullResearcher: 58 tests ✅ ($0.15/决策)
- BearResearcher: 43 tests ✅ ($0.15/决策)
- RiskManager: 45 tests ✅ ($0.20/决策)
✅ Sprint 2 完成总结 (2026-02-27)
辩论与决策融合框架:
- DebateFramework: 24 tests ✅
- 论点/反驳数据结构
- 多轮辩论控制
- 辩论结果生成 (胜者/得分/建议)
- DecisionFusion: 19 tests ✅
- 加权投票算法
- 角色权重配置 (RiskManager 1.5x)
- 风险覆盖机制
- 执行计划生成
Sprint 3 完成 (2026-02-27)
- TASK-020/021: 工作流增加 execute_order 节点,TraderAgent 执行最终决策;WorkTradeBalance 集成
- TASK-026/027: 因子购买扣款统一为 tracker.deduct(),余额不足时返回失败
- TASK-028~030: 学习报名扣款改为 tracker.deduct(),current_activity=ActivityType.LEARN
- TASK-033~035: 仪表板 WebSocket 广播增加 alerts;前端 setAlerts、getAlerts、DashboardAlert 类型
- 测试: test_base_agent 中 TestAgent 重命名为 ConcreteBaseAgent,消除 Pytest 收集告警
下一步优先级 (Sprint 4)
- P1: TASK-026 高级因子 ML/情绪动量 效果验证与测试
- P2: TASK-032 组合风险管理完整实现
- P2: TASK-042/043 API 文档与示例整理
任务文档版本: 2.1 更新时间: 2026-02-27 预估总工时: 355小时 | 已投入: ~220小时 | 剩余: ~135小时