feat: preserve Quant OS target-package vertical slice
This commit is contained in:
+22
-12
@@ -5,16 +5,16 @@
|
||||
|
||||
| Path | Intended use | Runtime / prerequisite | Current verified fact | Missing release evidence |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| Local synthetic execution | 确定性事件回测、ledger/replay | Python ≥3.10,无账号 | 标准库套件最近记录为 224 tests、OK、6 skip;smoke + exact manifest verifier 可运行 | synthetic 不代表真实市场/收益 |
|
||||
| Local synthetic research | PIT/features/walk-forward/Ridge/risk/cost/target | Python ≥3.10,无账号 | research smoke + manifest verifier 可运行 | Ridge 未冻结部署,未做授权长样本 OOS |
|
||||
| Local synthetic execution | 确定性事件回测、ledger/replay | Python ≥3.10,无账号 | 标准库套件、smoke + exact manifest verifier 可运行 | synthetic 不代表真实市场/收益 |
|
||||
| Local synthetic research | 五层 vertical slice:Universe/Ridge Alpha/risk+cost Portfolio/post-risk/reference Execution | Python ≥3.10,无账号 | 冻结 model bundle、TargetPackageV1、layer trace + manifest verifier 可运行;风险/成本扰动必须改变 target | 仍是 synthetic;当前只接对角风险与 deterministic optimizer,未做授权长样本 OOS |
|
||||
| JQData ingestion | 授权数据到 canonical immutable snapshot | `jqdatasdk==1.9.8` + 授权账号 | fake-provider 测试覆盖 raw/factor/pre-close/limits/paused/PIT `is_st`/membership、24:00 完整收盘约束和语义 verifier | 尚未登录真实账号保存快照、许可与 lineage |
|
||||
| Snapshot local backtest | PIT membership 的 provider-data 本地回测 | semantic verifier 通过的 snapshot | `snapshot-backtest` 复用 production decision path,输出普通 run manifest | 尚无授权真实 snapshot;仍是本地 fill model |
|
||||
| Snapshot decision | 某决策日 Signal/Target/Order Delta | snapshot + equity 或完整 broker snapshot | fail-closed broker state 与 exact decision manifest verifier 已实现 | 未接真实账户 snapshot,未冻结生产模型 |
|
||||
| Colab | clone、测试、bundle、本地两条 synthetic 链;可选 JQData/Qlib | Colab runtime | notebook 已可本地逐 cell 执行 | 可选账号/依赖 cell 仍需运行时授权;不是平台证据 |
|
||||
| JoinQuant local harness | wrapper API 合同 | Python ≥3.10,无账号 | fake lifecycle 与 mock parity 可运行 | 不证明 JoinQuant |
|
||||
| JoinQuant hosted bundle | hosted backtest | JoinQuant 登录/数据权限 | 真实 2024 全年 run 已完成且可见日志 0 ERROR;单文件、PIT index/ST、批量 history、费率/滑点/10% 参与率、科创板保护价/200 股约束已运行 | 尚无完整输入/plan/orders/fills 导出和同输入本地比较 |
|
||||
| QMT local harness | built-in wrapper 合同 | Python ≥3.10,无账号 | Python 3.6 source、`ContextInfo` 回滚模拟和 mock parity | 不证明 QMT |
|
||||
| QMT built-in bundle | GUI backtest-only | 授权 QMT 客户端/板块与历史 ST 数据 | bundle 硬限制 backtest;毫秒 timetag PIT 成分/ST;固定中证 500、费率/滑点;模块全局 `g` | 尚无真实 QMT run/export;10% GUI 配置与历史 ST 正例探针待取证 |
|
||||
| JoinQuant local harness | wrapper API 合同 | Python ≥3.10,无账号 | 动量 smoke 与 TargetPackage 消费模式均有 fake lifecycle;目标包缺失/篡改不回退 | 不证明 JoinQuant |
|
||||
| JoinQuant hosted bundle | hosted backtest | JoinQuant 登录/数据权限 | 动量 smoke 的真实 2024 全年 run 已完成;FINAL4 的单个 synthetic-research TargetPackage 已在真实 hosted 环境按 `day_open` 命中并产生 3 单/3 fill | 只观察 execution consumer;无授权真实长样本/OOS、上游四层 hosted 执行、QMT peer 或逐层真实数据 parity |
|
||||
| QMT local harness | built-in wrapper 合同 | Python ≥3.10,无账号 | Python 3.6 source、`ContextInfo` 回滚模拟、动量 smoke 与 TargetPackage 合同 | 不证明 QMT |
|
||||
| QMT built-in bundle | GUI backtest-only | 授权 QMT 客户端/历史数据 | 两种模式都硬限制 backtest;TargetPackage 模式不重算上游四层;模块全局 `g` | 尚无 TargetPackage 真实 QMT run/export;10% GUI 配置和执行时钟待取证 |
|
||||
| qmttools runner | native-Python QMT backtest/history | 券商分发 `xtquant` + 已登录 terminal | 固定中证 500/10% 参与率、参数、只读 preflight 和 hard backtest/history 合同已测 | 尚无专有运行时实跑 |
|
||||
| XtTrader read-only shadow | 账户绑定 target-diff 与 broker observation | MiniQMT/QMT、账户查询权限、既有本地 HMAC key | HMAC 账户绑定 + authenticated evidence envelope、decision/observation semantic replay、资产/持仓/委托/成交恒等式、fail-closed exact verifier 与 fake broker 合同 | HMAC 不是 broker attestation;仍缺官方 query 失败/空结果合同、callback/restart、20 日真实 shadow;not live-ready |
|
||||
| Qlib native momentum | signal/model research | CPython 3.12 + exactly `pyqlib==0.9.7` | 真实本地 fixture 成功,24 signal;保存 signal/report hash、表边界和重算 portfolio 指标 | synthetic 两股票;无真实数据/OOS,无 L3/L4 parity |
|
||||
@@ -22,12 +22,14 @@
|
||||
| Tushare local → Qlib | completed Parquet 的只读盘点、不可变 provider 与本地研究 smoke | 同上 + `pyarrow==24.0.0`;本地镜像 | 93 个 completed 文件全部通过 size/SHA/row-count;v4 provider verifier 成功;同一动量命令连续两次 evidence JSON 逐 byte 相同 | `daily` 仅完成约 8.2%,缺复权、真实 benchmark、PIT 成分/ST/停牌/涨跌停;`production_ready=false` |
|
||||
| Mock parity exporter | JoinQuant/QMT wrapper 的 L2—L4 合同回归 | Python ≥3.10 | `mock_contract_only`、`real_platform_pass=false`、`gate_credit=[]` | 不计 G9;必须换成真实平台导出 |
|
||||
|
||||
G1—G10 当前都未通过。JoinQuant hosted smoke 与 Qlib fixture smoke 是真实
|
||||
runtime 证据,但不是市场有效性或跨平台 Gate 通过证据。
|
||||
G1—G10 当前都未通过。JoinQuant TargetPackage run 支持且只支持
|
||||
`execution.real_platform_observed=true`;输入仍是 `synthetic-research`,
|
||||
Universe/Alpha/Portfolio/Risk 的真实平台观察均为 false。它与旧 momentum
|
||||
smoke、Qlib fixture 一样,不是市场有效性或跨平台 Gate 通过证据。
|
||||
|
||||
## Stable strategy boundary
|
||||
|
||||
当前四引擎共同可冻结的是 `portable-momentum-v1`:
|
||||
`portable-momentum-v1` 当前只作为 smoke 冻结:
|
||||
|
||||
- canonical symbol normalization;
|
||||
- momentum score/rank;
|
||||
@@ -36,8 +38,11 @@ runtime 证据,但不是市场有效性或跨平台 Gate 通过证据。
|
||||
- T+1/sellable-aware order delta。
|
||||
- 科创板 200 股最小申报、余额一次性卖清与 hosted 最坏价保护。
|
||||
|
||||
本地 Ridge 与 Qlib Alpha158/LightGBM 是研究候选。没有 versioned model
|
||||
bundle、授权真实 OOS 和跨引擎推理结果前,不能称为已部署 champion。
|
||||
本地 Ridge 已能冻结为 versioned model bundle,并通过
|
||||
`TargetPackageV1` 把 post-risk 权重移交给 JoinQuant/QMT;平台不需要、也
|
||||
不应重新运行训练栈。一个 synthetic 包已通过真实 JoinQuant execution
|
||||
consumer,但没有授权真实 OOS、真实校准、多期逐层 parity 和 QMT peer,
|
||||
仍不能称为已部署 champion。
|
||||
|
||||
Qlib 的单一 `limit_threshold` 是市场级近似,不能表达逐日板块/ST 限制;
|
||||
因此它只参加 L1/L2 和诊断 L6。XtTrader mutation 边界目前只接受 `.SH`
|
||||
@@ -81,8 +86,13 @@ PYTHONPATH=src:. python -m quant60 snapshot-decision \
|
||||
--config configs/baseline.json --as-of 2024-12-31 \
|
||||
--equity 1000000 --output artifacts/csi500-2024-decision
|
||||
|
||||
# hosted bundle 和 mock-only parity
|
||||
# 默认只构建 portable momentum smoke
|
||||
python tools/bundle_platforms.py
|
||||
|
||||
# 显式构建无 fallback 的 TargetPackage 消费器
|
||||
python tools/bundle_platforms.py \
|
||||
--target-package artifacts/research-smoke/target_package.json \
|
||||
--output-dir dist/target-package
|
||||
PYTHONPATH=src:. python tools/export_mock_parity.py \
|
||||
export --output artifacts/mock-parity/report.json
|
||||
PYTHONPATH=src:. python tools/export_mock_parity.py \
|
||||
|
||||
Reference in New Issue
Block a user