32 lines
2.7 KiB
Markdown
32 lines
2.7 KiB
Markdown
|
|
# 回测模块验收记录
|
|||
|
|
|
|||
|
|
日期: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。
|