f1f809f54b
- 新增产品需求文档 (BACKTEST_PRD.md) - 新增技术设计文档 (BACKTEST_TECHNICAL_DESIGN.md) - 新增设计审查清单 (BACKTEST_REVIEW_CHECKLIST.md) - 新增文档总览 (README.md) 关键设计: - 实时市场结算机制(按endDate检查) - 严格余额检查(不计入未实现持仓) - 停止条件优化(余额不足且无持仓时停止) - 不计算手续费(简化逻辑)
77 lines
2.2 KiB
Markdown
77 lines
2.2 KiB
Markdown
# 跟单回测功能文档
|
|
|
|
## 📚 文档清单
|
|
|
|
本目录包含跟单回测功能的完整设计文档:
|
|
|
|
### 核心文档
|
|
|
|
1. **[BACKTEST_PRD.md](./BACKTEST_PRD.md)** - 产品需求文档
|
|
- 功能概述与用户故事
|
|
- UI/UX设计详细说明
|
|
- 业务规则与数据要求
|
|
|
|
2. **[BACKTEST_TECHNICAL_DESIGN.md](./BACKTEST_TECHNICAL_DESIGN.md)** - 技术设计文档
|
|
- 数据库表结构设计
|
|
- RESTful API接口规范
|
|
- 后端服务架构
|
|
- 前端组件设计
|
|
- 回测算法实现
|
|
|
|
3. **[BACKTEST_REVIEW_CHECKLIST.md](./BACKTEST_REVIEW_CHECKLIST.md)** - 设计审查清单
|
|
- 设计完整性检查
|
|
- 边缘场景处理
|
|
- 风险评估与缓解
|
|
|
|
## 🎯 核心特性
|
|
|
|
- ✅ 完全复用现有跟单配置参数
|
|
- ✅ 实时市场结算(按 `endDate` 检查)
|
|
- ✅ 严格余额检查(避免过于乐观的回测)
|
|
- ✅ 支持按Leader筛选、按收益排序
|
|
- ✅ 详细的交易记录和资金曲线图
|
|
|
|
## 📖 阅读建议
|
|
|
|
**产品经理**: 先阅读 PRD,再查看审查清单中的关键决策点
|
|
|
|
**技术负责人**: 先阅读技术设计文档,再查看审查清单评估风险
|
|
|
|
**开发工程师**: 按顺序阅读所有文档,重点关注技术设计的实现细节
|
|
|
|
## 🔄 文档版本
|
|
|
|
- **创建日期**: 2026-01-30
|
|
- **最后更新**: 2026-01-30
|
|
- **当前版本**: v1.0
|
|
|
|
## 📝 关键设计决策
|
|
|
|
### 1. 市场结算机制
|
|
- 采用**实时检查**方式:每笔交易前检查市场 `endDate`
|
|
- 到期即结算,资金立即释放可用于后续交易
|
|
|
|
### 2. 余额检查策略
|
|
- 采用**严格模式**:仅使用 `currentBalance`,不计入持仓市值
|
|
- 停止条件:余额 < $1 **且** 无任何持仓
|
|
|
|
### 3. 数据源选择
|
|
- 优先使用系统记录的 `ProcessedTrade` 表
|
|
- 不足时调用 Polymarket API 补充历史数据
|
|
|
|
### 4. 代码复用策略
|
|
- 后端:完全复用 `CopyTradingFilterService` 的所有过滤逻辑
|
|
- 前端:复用跟单配置表单组件
|
|
- 数据库:配置字段与 `CopyTrading` 表保持一致
|
|
|
|
## 🚀 下一步
|
|
|
|
完成文档审查后,可以:
|
|
1. 创建 `implementation_plan.md` 详细规划实施步骤
|
|
2. 开始开发(数据库表 → API → 前端页面)
|
|
3. 单元测试和集成测试
|
|
|
|
---
|
|
|
|
**文档位置**: `/Users/wrbug/polyhermes/docs/zh/backtest/`
|