Files
worldquant-alpha-system/.scratch/backtest/verification.md
T

2.7 KiB
Raw Blame History

回测模块验收记录

日期:2026-09-08。全部业务验证使用合成账户、候选及模拟 WorldQuant/模型 HTTP;没有执行真实回测。

实际通过

验证 结果
后端 Ruff(app、tests、新迁移) 通过
后端完整 pytest 92 passed,19.39 秒
前端 TypeScript 与生产构建 通过
完整 Playwright 7 passed,54.6 秒,包含原工作区/AI 与新增回测流程
PostgreSQL 17 真实事务与迁移 0002 旧数据升级到 0003;Alembic check 无差异;旧研究记录保留
PostgreSQL 并发与恢复 同一预览并发启动仅一个运行;两个尝试安全关联同一 Alpha;增量事件连续;替换应用后找回原模拟,没有新增 POST
Docker 生产镜像 后端和前端均构建成功
Docker 后端启动 对已有验收 PostgreSQL 执行启动迁移,head 为 0003,健康接口 200,保留 2 个运行及 3 个结果
补丁格式 git diff --check 通过

业务测试覆盖单条/批量、混合分组、乱序/缺失子项、缺失引用补全、同一 Alpha 多实验快照、重复启动/确认、草稿版本与不可变预览、选定子集、暂停/停止、轮转与动态并发、同步通道独立、429 有界退避、401 重新认证、未知提交不重提、轮询超时、详情补取、数据库结果事务失败回滚及恢复、已知引用重启恢复、跨域引用拒绝、AI 确认前不启动及停止聊天后继续回测。

浏览器覆盖候选草稿→预览→确认→结果→刷新、AI 预览确认与进度卡片,以及已有账户、Alpha、研究记录和聊天回归。截图位于忽略目录 output/playwright/,包含 1440、850、390px 回测布局;使用合成数据。

可复用的 PostgreSQL 验收入口为 backend/tests/backtest_postgres.py,仅接受数据库名 wq_backtest_test,应使用新建的隔离数据库和合成环境变量,执行 uv run python -m tests.backtest_postgres。脚本不会加载真实平台凭据;平台 HTTP 由 MockTransport 替代。

验证边界

真实 WorldQuant 当前协议、账户权限、分组规则与实际并发/批量限额尚未联调。3 并发、8 条批量是可配置本地默认值,严格输入匹配遇到平台省略字段时会保守进入待核对。真实模型选工具效果也未验证。

生产前端构建保留已有传递依赖 lottie-web 的 direct eval 警告,不影响本次构建通过。未修改部署结构或操作正式实例;生产镜像启动验收关闭执行器并将平台地址指向不可达的本地端口,崩溃恢复的实际执行另由 PostgreSQL + 模拟 HTTP 测试验证。

真实账户联调仍需单独授权。代码、基础页面、AI 闭环和本地验收已经完成;未提交 Git。