Files
WrBug b1ad6f02d2 feat(backtest): 回测结算持久化、按配置重新测试、执行时以当前时间为窗口基准
- 持久化: BUY/SELL 与 SETTLEMENT(WIN/LOSE/UNKNOWN/CLOSED) 均写入 backtest_trade
- 重新测试: 已完成任务支持「按当前配置重新测试」,新任务名称可编辑,后端 POST /tasks/rerun + 前端按钮与确认弹窗
- 回测窗口: 首次执行以当前时间为终点、startTime = endTime - backtestDays(局部变量,不修改实体)
- 新增错误码 BACKTEST_TASK_NOT_COMPLETED、SERVER_BACKTEST_RERUN_FAILED 及多语言

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-09 01:08:40 +08:00
..
2026-01-31 07:27:36 +08:00

跟单回测功能文档

📚 文档清单

本目录包含跟单回测功能的完整设计文档:

核心文档

  1. BACKTEST_PRD.md - 产品需求文档

    • 功能概述与用户故事
    • UI/UX设计详细说明
    • 业务规则与数据要求
  2. BACKTEST_TECHNICAL_DESIGN.md - 技术设计文档

    • 数据库表结构设计
    • RESTful API接口规范
    • 后端服务架构
    • 前端组件设计
    • 回测算法实现
  3. 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/