# Quant Atlas 三账户 Forward Shadow Platform v1

日期：2026-08-09  
目标交易日起点：2026-08-10  
模式：`FORWARD_SHADOW_ONLY`  
真实订单：`0`  
公共写入/下单接口：`0`

## 已交付结构

- 总览保留原有信息层级，只把 A股、ETF、可转债账户摘要改为可点击入口。
- 三个完全隔离的影子账户：不共享现金、持仓或保证金，不传播账户级熔断。
- 三个统一视觉的交易详情页：
  - `/trading/a-share`
  - `/trading/etf`
  - `/trading/convertible-bond`
- `/execution` 仅保留 Scheduler、Risk Engine、Data Engine、Broker Adapter、Execution Engine、System Health。
- `/vault/forward` 读取三账户 Daily Forward Record 与组合日报。

## 固定 Champion 与 Challenger 治理

| 账户 | Champion | 策略政策 | 当前闸门 |
|---|---|---|---|
| A股 T+1 | `ASHARE_CHAMPION_V1` | 点时排名、T+1、动态退出 | 实时点时与成交闸门未齐，`DATA_GATED` |
| ETF T+0 | `ETF_CHAMPION_V1` | `CASH_CONTROL` | 不降低准入条件来制造交易 |
| 可转债 T+0 | `CB_CHAMPION_V1` | 可解释 baseline | 可信分钟、强赎、异常/停牌、转股溢价率未齐，`DATA_GATED` |

Champion 盘中参数固定。Challenger 只做并行研究，订单数固定为零；至少积累 60 个新前向交易日并经人工批准才可讨论晋级。20 日只评价系统稳定性，60 日才进入策略评价。少样本显示 `INSUFFICIENT_SAMPLE`。

## 不可覆盖账本

每个真实交易日、每个账户使用：

`tradeDate:sleeve:championVersion`

作为幂等主键。记录链为：

`DATA → CANDIDATE → SIGNAL → RISK → DECISION → ORDER → FILL → POSITION → EXIT → PNL`

记录包含 as_of、策略/代码/数据/风控/规则/费用版本、候选和特征、分数、信号、目标仓位、风险决定、NO_TRADE 原因、目标与模拟订单、部分成交/撤单/拒单、费用、滑点、收盘持仓、当日及累计 P&L、回撤、数据和系统异常。收盘进入 `POST_CLOSE` 后标记 immutable，D1 仅允许更新未封存记录。

NO_TRADE 是合法输出。即使零成交，交易日仍保存记录与报告。

## 版本指纹

- Forward platform：`cn-forward-shadow-platform-v1`
- Forward source SHA-256：`462369a77d1c20e5397bfbebc6a05d8060e3e93d60011bcacbb0d6ec90a4ad5b`
- Risk：`cn-three-sleeve-forward-risk-v1`
- Data：`cn-minute-warehouse-plus-official-universe-20260809`
- Trading rules：`cn-trading-rules-2026-07-06-v1`
- Fee schedule：`cn-shadow-fees-2026-08-09-v1`

## 失败关闭边界

- 可转债目前 296 个分区仍为 C 级收盘代理，`research_ready=0`，不会伪装成可信分钟回测或策略收益。
- A股实时券商级点时面板、可成交性与 T+1 动态退出链未全部验证前不生成影子委托。
- ETF Champion 保留 CASH_CONTROL；不因想产生交易而降低成本、流动性或风险门槛。
- 无 Level-2 时只能做保守队列代理，不声称知道真实排队位置。
- 任何行情陈旧、停牌、临停、异常状态或关键字段缺失均阻止新开仓。
- 真实资金、券商权限申请、券商写接口与公网下单接口均未启用。

## 调度与恢复验收

自动场景测试覆盖：周末休市、开盘前、集合竞价、不可撤单阶段、竞价冷却、上午连续交易、午休、下午连续交易、14:55 后只平仓、收盘封存、2026 年日历外失败关闭、行情陈旧、重复调度、任务重启与 alarm 错误恢复。

重复调度或重启时使用同一幂等键；封存记录无法覆盖。行情断线会记录数据事故并阻止新订单，而不是把正常 NO_TRADE 误判为故障。

## 源码入口

- `worker/cn-forward-shadow.ts`
- `worker/cn-trading-rules.ts`
- `components/TradingDetailPage.tsx`
- `components/InfrastructureControlCenter.tsx`
- `components/ForwardVault.tsx`
- `tests/forward-shadow.test.mjs`
- `tests/forward-scenarios.test.mjs`
