From f0f08d32c38d5b1c067d386a475bd21d9142eb01 Mon Sep 17 00:00:00 2001 From: claude_dev Date: Tue, 7 Jul 2026 00:25:31 +0800 Subject: [PATCH] =?UTF-8?q?docs(phase3b):=20=E6=8A=95=E7=A0=94+=E5=9B=9E?= =?UTF-8?q?=E6=B5=8B=20Web=20=E6=8E=A7=E5=88=B6=E5=8F=B0=EF=BC=88Vue=20?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=EF=BC=89=E8=AE=BE=E8=AE=A1=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 4 期愿景:投研→回测→模拟→实盘(国金QMT),本期 B=投研+回测 - 对齐 vnpy client 回测模块 + 投研自有 - 技术栈 Vue3+Vite+TS+ElementPlus+ECharts+Pinia - 部署:8000 切 sanguo_api,Vue 静态挂 FastAPI,不动端口/反代 - 含后端补 5 类接口(资金曲线/每日盈亏/成交/K线/报告) - 4 切片 S0→S1→S2→S3 --- .../2026-07-07-phase3b-vue-frontend-design.md | 279 ++++++++++++++++++ 1 file changed, 279 insertions(+) create mode 100644 docs/superpowers/specs/2026-07-07-phase3b-vue-frontend-design.md diff --git a/docs/superpowers/specs/2026-07-07-phase3b-vue-frontend-design.md b/docs/superpowers/specs/2026-07-07-phase3b-vue-frontend-design.md new file mode 100644 index 0000000..8cc8ce8 --- /dev/null +++ b/docs/superpowers/specs/2026-07-07-phase3b-vue-frontend-design.md @@ -0,0 +1,279 @@ +# Phase 3b:投研 + 回测 Web 控制台(Vue 前端)设计 + +> 日期:2026-07-07 +> 阶段:Phase 3b(B 期) +> 状态:设计待审阅 +> 维护:Main Agent + +--- + +## 1. 背景与目标 + +已交付: +- Phase 1 数据层(A 股 K 线 / SQLite 读取) +- Phase 2 因子 + 回测引擎(`sanguo_factor` / `sanguo_backtest`,真数据跑通) +- Phase 3a 研究 API(`sanguo_api`:JWT / 异步任务 / WebSocket / 结果查询),本机 + 容器 pytest 通过 + +两个缺口: +1. **没有前端**——只有 API,用户无法在网页上操作。 +2. **`sanguo_api` 未挂公网**——实机查证:公网 `vnpy.mysanguo.top` → 容器:8000 现在跑的是**旧 `sanguo_web`(实盘交易 API,44 路由)**,没有回测/因子接口;Phase 3a 的 `sanguo_api` 只在容器里 pytest 跑过。 + +**本期目标**:建一个 Vue 前端控制台,对齐 vnpy 桌面 client 的**回测模块**功能 + 投研(因子)自有模块,并把 `sanguo_api` 切到公网 8000,使整条链路从 `vnpy.mysanguo.top` 可用。 + +--- + +## 2. 范围 + +**完整愿景(用户确认,4 期递进)**:投研 → 回测 → 模拟 → 实盘(实盘最后,走**国金证券 QMT** / xtquant)。 + +**本期 B(= B1)范围**: + +| 类别 | 内容 | +|---|---| +| ✅ 投研 | 因子分析(多标的 / 多因子 / 日期)→ IC 表 + tears 报告 | +| ✅ 回测 | CTA 策略回测(对齐 vnpy client 回测模块:统计全表 / 资金曲线 / 每日盈亏 / 成交记录 / K线+买卖点)+ 参数优化 | +| ✅ 前端 | Vue 3 SPA | +| ✅ 后端补 | 5 类新接口 + 现有接口扩展 | +| ✅ 部署 | 切 `sanguo_api` 到 8000,Vue 静态挂 FastAPI | + +**不在本期(out of scope)**: +- ❌ 模拟盘(C 期,后端模拟引擎尚未建) +- ❌ 实盘交易(D 期,国金 QMT;旧 `sanguo_web` 交易路由本期下线,D 期合并回来) +- 导航**预留 4 入口**,模拟/实盘灰显"敬请期待",避免日后重写布局。 + +--- + +## 3. 整体架构 + +``` +浏览器 (Vue 3 SPA) + ↕ HTTPS vnpy.mysanguo.top ← 外网链路不动(frpc/socat/Caddy 不碰) +FastAPI sanguo_api (容器:8000,从 sanguo_web 切过来) + ├─ / → Vue 静态文件 (StaticFiles,SPA history fallback) + ├─ /api/v1/* → 研究 API(auth / backtest / factor / task / ws) + └─ 调后端引擎 → sanguo_backtest / sanguo_factor / sanguo_data + ↕ + SQLite + A 股 K 线 (NAS /volume1/stock) +``` + +--- + +## 4. 前端技术栈 + +| 层 | 选型 | 备注 | +|---|---|---| +| 框架 | Vue 3 + `