1638 lines
59 KiB
JavaScript
1638 lines
59 KiB
JavaScript
// Generated by tools/build_public_status.py; do not edit by hand.
|
||
window.QUANT_OS_PUBLIC_STATUS = {
|
||
"auditAsOf": "2026-07-30",
|
||
"bundles": {
|
||
"artifacts": [
|
||
{
|
||
"core": "src/quant60/portable_core.py",
|
||
"coreSha256": "f9de9f18e4008bb0fc80edb0b21cae6ea06a61828d89e9b7c11057f98225fc19",
|
||
"effectiveConfigSha256": "d4ae2882e9b5d8d673e7c62c0dc54def7c20221c358ac091ee6529bf0413df0b",
|
||
"id": "joinquant",
|
||
"integrity": "manifest_hashes_match_repository",
|
||
"output": "dist/joinquant_strategy.py",
|
||
"outputSha256": "be4ca1d5764416b7c8e6c206121c0f0bd8219e7317679d79bc72a95492286b1a",
|
||
"wrapper": "platforms/joinquant_strategy.py",
|
||
"wrapperSha256": "0c672b64665b7c1d4409ba288b00d1608e976800af3a4f9a6467767ce4def592"
|
||
},
|
||
{
|
||
"core": "src/quant60/portable_core.py",
|
||
"coreSha256": "f9de9f18e4008bb0fc80edb0b21cae6ea06a61828d89e9b7c11057f98225fc19",
|
||
"effectiveConfigSha256": "7e4739937e4e99e5b58154f53271d8d3bfaed47d8d1d5adc747101babde827f5",
|
||
"id": "qmt_builtin",
|
||
"integrity": "manifest_hashes_match_repository",
|
||
"output": "dist/qmt_builtin_strategy.py",
|
||
"outputSha256": "483877b7ea55c8e0f5e4e47b48a156b3add6cf0a8085011414c5c600913939b5",
|
||
"wrapper": "platforms/qmt_builtin_strategy.py",
|
||
"wrapperSha256": "a1e53dc22ebd9bb01be43675786151606bbed273d8ab883fb933461e379d2727"
|
||
}
|
||
],
|
||
"baselineConfig": "configs/baseline.json",
|
||
"baselineConfigSha256": "939a7df386b06bc82869940572c35544e9361913b94d9e03027411e51b1006e1",
|
||
"baselineParameters": {
|
||
"benchmark": "000905.XSHG",
|
||
"cashBuffer": 0.02,
|
||
"grossTarget": 0.95,
|
||
"lookback": 20,
|
||
"maxWeight": 0.05,
|
||
"participationRate": 0.1,
|
||
"rebalanceSchedule": "weekly_first_close",
|
||
"slippageBps": 2.0,
|
||
"topN": 20,
|
||
"universeMode": "pit_index"
|
||
},
|
||
"portableCoreSha256": "f9de9f18e4008bb0fc80edb0b21cae6ea06a61828d89e9b7c11057f98225fc19",
|
||
"schemaVersion": 1
|
||
},
|
||
"candidateBoundary": {
|
||
"allFiveLayersRealPlatformObserved": false,
|
||
"connectedExecution": "reference one-shot quantity/order-delta planner",
|
||
"connectedOptimizer": "deterministic constrained optimizer",
|
||
"connectedRiskModel": "60-session diagonal realized variance",
|
||
"decisionMode": "target_package",
|
||
"historicalJoinQuantCountsAsBaseline": false,
|
||
"historicalJoinQuantMode": "portable_momentum_smoke",
|
||
"joinQuantTargetPackageCountsAsBaseline": false,
|
||
"joinQuantTargetPackageCountsAsG9": false,
|
||
"joinQuantTargetPackageRun": {
|
||
"allFiveLayersObserved": false,
|
||
"baseline60Passed": false,
|
||
"bundleSha256": "0586930ddc483f4489f09b562f4d4232b458b703e6a1194af809b707211be8c4",
|
||
"evidenceClass": "synthetic-research",
|
||
"fills": 3,
|
||
"g9Passed": false,
|
||
"investmentValueClaim": false,
|
||
"marketDataFrom": "2024-03-11",
|
||
"marketDataThrough": "2024-03-13",
|
||
"observedAt": "2026-07-26T08:50:15Z",
|
||
"observedLayers": [
|
||
"execution"
|
||
],
|
||
"orders": 3,
|
||
"packageId": "TP-20240311-795dcfba",
|
||
"qmtPeerObserved": false,
|
||
"runId": "2457a7c39a276e09e0fabf99e28978e1"
|
||
},
|
||
"localEvidenceClass": "synthetic_research",
|
||
"reachability": {
|
||
"manifest": "releases/quant60-research-candidate-v1/reachability.json",
|
||
"manifestSha256": "bf3379b1d8d73ea64d73db8317cfa27307b5dc218884ea2710ffe71dd116c017",
|
||
"realPlatformObservedLayers": [
|
||
"execution"
|
||
],
|
||
"realPlatformsObserved": [
|
||
"joinquant"
|
||
],
|
||
"releaseId": "quant60-research-candidate-v1",
|
||
"summary": {
|
||
"all_layers_implemented": true,
|
||
"all_layers_jq_entrypoint_reachable": true,
|
||
"all_layers_local_entrypoint_reachable": true,
|
||
"all_layers_qmt_entrypoint_reachable": true,
|
||
"all_layers_real_platform_observed": false,
|
||
"all_layers_unit_tested": true
|
||
}
|
||
},
|
||
"realJoinQuantObserved": true,
|
||
"realPlatformObservedLayers": [
|
||
"execution"
|
||
],
|
||
"realQmtObserved": false,
|
||
"releaseVerified": false
|
||
},
|
||
"claim": {
|
||
"allGatesRequired": true,
|
||
"baselineThreshold": 60,
|
||
"gatesPassed": 0,
|
||
"gatesTotal": 10,
|
||
"liveReady": false,
|
||
"reason": "Quant OS 已接通本地 synthetic 五层候选链,能冻结 Ridge ModelBundle、逐层 trace 和无股数 TargetPackageV1;一个 synthetic-research TargetPackage 已在真实 JoinQuant hosted 环境完成消费、账户/开盘价绑定、3 笔委托和 3 笔成交,因此 execution 层已有真实平台观察。但真实 provider-data 长样本/OOS 尚未接入,JoinQuant 没有重跑上游 Universe/Alpha/Portfolio/Risk,QMT peer 与逐层真实数据 parity 仍缺失,factor risk、CVXPY 和 guarded TWAP/POV 也尚未进入当前主链。因此它仍是 NOT_BASELINE_60,G9 未通过。",
|
||
"releaseVerified": false,
|
||
"score": null,
|
||
"scoreStatus": "not_scored",
|
||
"status": "NOT_BASELINE_60"
|
||
},
|
||
"deliveryGaps": {
|
||
"externalEvidence": [
|
||
"authorized JQData market snapshot, licence/lineage record and a frozen provider-data candidate tape",
|
||
"authorized real-data multi-period JoinQuant TargetPackage run plus same-input local/JoinQuant layer-by-layer reconciliation",
|
||
"real QMT TargetPackage built-in and qmttools backtest exports",
|
||
"real QMT historical-ST positive control, terminal/xtquant build record, broker query contract and trade-amount semantic probes, and callback/restart evidence; Baseline 60 requires at least 20 trading days of shadow, while the current Production 80 gap requires at least 60 trading days for the same frozen candidate",
|
||
"continuous reconciliation, recovery drills and broker programmatic-trading report/verification confirmation"
|
||
],
|
||
"internal": [
|
||
"The authorized provider-data path has not yet been connected end to end to the frozen Ridge ModelBundle, calibrated risk/cost inputs, five-layer Baseline candidate and TargetPackage tape; the current connected candidate remains synthetic.",
|
||
"factor_risk.py, the optional CVXPY optimizer mode and guarded TWAP/POV exist as components or optional paths but are not selected by the current Baseline main slice; the connected risk model is 60-session diagonal realized variance and execution is the reference one-shot planner.",
|
||
"One synthetic-research TargetPackageV1 has been observed at the real JoinQuant execution boundary, but JoinQuant did not recompute the upstream four layers; there is no authorized real-data multi-period tape, same-input layer-by-layer parity, or real QMT peer."
|
||
]
|
||
},
|
||
"evidence": [
|
||
{
|
||
"id": "scorecard",
|
||
"kind": "machine_record",
|
||
"label": "Gate scorecard",
|
||
"path": "gate_scorecard.json"
|
||
},
|
||
{
|
||
"id": "bundle-manifest",
|
||
"kind": "machine_record",
|
||
"label": "Portable bundle manifest",
|
||
"path": "dist/bundle_manifest.json"
|
||
},
|
||
{
|
||
"id": "release-reachability",
|
||
"kind": "machine_record",
|
||
"label": "Five-layer release reachability manifest",
|
||
"path": "releases/quant60-research-candidate-v1/reachability.json"
|
||
},
|
||
{
|
||
"id": "readme",
|
||
"kind": "documentation",
|
||
"label": "Quant OS verification guide",
|
||
"path": "README.md"
|
||
},
|
||
{
|
||
"id": "architecture",
|
||
"kind": "documentation",
|
||
"label": "Architecture and trust boundaries",
|
||
"path": "docs/ARCHITECTURE.md"
|
||
},
|
||
{
|
||
"id": "audit",
|
||
"kind": "audit",
|
||
"label": "Baseline 60 reassessment",
|
||
"path": "docs/AUDIT_2026-07-25.md"
|
||
},
|
||
{
|
||
"id": "platform-matrix",
|
||
"kind": "audit",
|
||
"label": "Platform capability matrix",
|
||
"path": "docs/PLATFORM_MATRIX.md"
|
||
},
|
||
{
|
||
"id": "cross-engine",
|
||
"kind": "documentation",
|
||
"label": "Cross-engine consistency contract",
|
||
"path": "docs/CROSS_ENGINE_CONSISTENCY.md"
|
||
},
|
||
{
|
||
"id": "joinquant-hosted-evidence",
|
||
"kind": "runtime_evidence",
|
||
"label": "JoinQuant hosted momentum smoke boundary",
|
||
"path": "docs/JOINQUANT_HOSTED_EVIDENCE_2026-07-26.md"
|
||
},
|
||
{
|
||
"id": "joinquant-target-package-evidence",
|
||
"kind": "runtime_evidence",
|
||
"label": "JoinQuant TargetPackage execution evidence boundary",
|
||
"path": "docs/JOINQUANT_TARGET_PACKAGE_EVIDENCE_2026-07-26.md"
|
||
},
|
||
{
|
||
"id": "joinquant-target-package-run",
|
||
"kind": "machine_record",
|
||
"label": "Redacted JoinQuant TargetPackage hosted run",
|
||
"path": "evidence/joinquant/TP-20240311-795dcfba/2457a7c39a276e09e0fabf99e28978e1/run.json"
|
||
},
|
||
{
|
||
"id": "tushare-data",
|
||
"kind": "runtime_evidence",
|
||
"label": "Tushare inventory and Qlib bridge record",
|
||
"path": "docs/TUSHARE_LOCAL_DATA.md"
|
||
},
|
||
{
|
||
"id": "platform-deployment",
|
||
"kind": "runbook",
|
||
"label": "Platform deployment runbook",
|
||
"path": "runbooks/PLATFORM_DEPLOYMENT.md"
|
||
},
|
||
{
|
||
"id": "public-status-deployment",
|
||
"kind": "runbook",
|
||
"label": "Atomic public status deployment",
|
||
"path": "ops/README.md"
|
||
}
|
||
],
|
||
"freshness": [
|
||
{
|
||
"asOf": "2026-07-30",
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "project-audit",
|
||
"label": "项目证据审计",
|
||
"semantics": "证据盘点日期;不是部署时间,也不是行情截止日。",
|
||
"status": "recorded",
|
||
"value": "2026-07-30"
|
||
},
|
||
{
|
||
"evidenceLinks": [
|
||
"joinquant-hosted-evidence",
|
||
"scorecard"
|
||
],
|
||
"id": "joinquant-hosted-market-window",
|
||
"label": "JoinQuant hosted momentum smoke 行情区间",
|
||
"marketDataFrom": "2024-01-02",
|
||
"marketDataThrough": "2024-12-31",
|
||
"productionReady": false,
|
||
"semantics": "旧 momentum hosted runtime smoke 的回测区间;不是 TargetPackage 候选或同输入跨引擎证据。",
|
||
"status": "runtime_smoke",
|
||
"value": "2024-01-02 — 2024-12-31"
|
||
},
|
||
{
|
||
"evidenceLinks": [
|
||
"joinquant-target-package-evidence",
|
||
"joinquant-target-package-run",
|
||
"release-reachability",
|
||
"scorecard"
|
||
],
|
||
"id": "joinquant-target-package-execution-smoke",
|
||
"investmentValueClaim": false,
|
||
"label": "JoinQuant TargetPackage execution smoke",
|
||
"marketDataFrom": "2024-03-11",
|
||
"marketDataThrough": "2024-03-13",
|
||
"observedAt": "2026-07-26T08:50:15Z",
|
||
"productionReady": false,
|
||
"semantics": "真实平台只观察 synthetic-research TargetPackage 的 execution consumer;不代表上游四层真实平台执行、长样本 OOS 或 G9。",
|
||
"status": "runtime_smoke",
|
||
"value": "2024-03-11 — 2024-03-13; 3 orders / 3 fills"
|
||
},
|
||
{
|
||
"completedPartitions": 35,
|
||
"completedRows": 28731,
|
||
"completionLabel": "35/428(约 8.2%)",
|
||
"completionRatio": 0.081776,
|
||
"evidenceLinks": [
|
||
"tushare-data",
|
||
"scorecard"
|
||
],
|
||
"id": "tushare-daily-market-data",
|
||
"label": "Tushare daily 行情覆盖",
|
||
"marketDataFrom": "1990-12-19",
|
||
"marketDataThrough": "1993-10-29",
|
||
"plannedPartitions": 428,
|
||
"productionReady": false,
|
||
"semantics": "marketDataThrough 仅取自 daily 行情分区;绝不使用覆盖更晚的 trade_cal 日期。",
|
||
"status": "partial",
|
||
"value": "35/428(约 8.2%),行情截至 1993-10-29"
|
||
},
|
||
{
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"scorecard"
|
||
],
|
||
"id": "jqdata-real-snapshot",
|
||
"label": "JQData 授权真实快照",
|
||
"marketDataThrough": null,
|
||
"productionReady": false,
|
||
"semantics": "只有 fake-provider 合同测试;尚无授权账号生成并保存的真实快照。",
|
||
"status": "blocked",
|
||
"value": "N/A"
|
||
},
|
||
{
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"platform-deployment",
|
||
"scorecard"
|
||
],
|
||
"id": "qmt-broker-real-runtime",
|
||
"label": "QMT / broker 真实运行",
|
||
"lastRealRuntimeAt": null,
|
||
"productionReady": false,
|
||
"semantics": "QMT 只有 bundle/harness,XtTrader 只有 fake-broker 只读合同;尚无真实运行或影子证据。Baseline 60 至少需要 20 个交易日,Production 80 当前缺口为同一冻结候选至少 60 个交易日。",
|
||
"status": "blocked",
|
||
"value": "N/A"
|
||
}
|
||
],
|
||
"gates": [
|
||
{
|
||
"acceptance": "历史预测可重放当时实际可得数据;财报按 available_time 连接;未来公告注入测试被拒绝。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G1",
|
||
"limitations": [
|
||
"PIT 数据 manifest 与字段可得时间规范",
|
||
"未来公告注入测试报告",
|
||
"授权真实数据的历史决策日抽样重放报告"
|
||
],
|
||
"name": "数据时点",
|
||
"requiredEvidence": [
|
||
"PIT 数据 manifest 与字段可得时间规范",
|
||
"未来公告注入测试报告",
|
||
"授权真实数据的历史决策日抽样重放报告"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "时间有序且带 purge/embargo 的 walk-forward;测试集隔离;成本后多状态结果已保存。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G2",
|
||
"limitations": [
|
||
"切分代码与测试",
|
||
"真实授权长样本上的冻结 walk-forward 报告",
|
||
"未触碰测试集声明和冻结模型包"
|
||
],
|
||
"name": "样本外验证",
|
||
"requiredEvidence": [
|
||
"切分代码与测试",
|
||
"真实授权长样本上的冻结 walk-forward 报告",
|
||
"未触碰测试集声明和冻结模型包"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "停复牌、涨跌停、交易单位、T+1、费用、公司行动和日期化规则均被回放验证。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G3",
|
||
"limitations": [
|
||
"每类规则的回归夹具",
|
||
"日期化规则版本",
|
||
"真实平台跨引擎差异报告"
|
||
],
|
||
"name": "A 股现实",
|
||
"requiredEvidence": [
|
||
"每类规则的回归夹具",
|
||
"日期化规则版本",
|
||
"真实平台跨引擎差异报告"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "Signal、Target、OrderEvent、BrokerSnapshot 分层落盘并通过版本化 JSON Schema 验证。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G4",
|
||
"limitations": [
|
||
"四类 schema 的发布验证报告",
|
||
"正反例 fixture",
|
||
"迁移兼容性策略和演练"
|
||
],
|
||
"name": "稳定合约",
|
||
"requiredEvidence": [
|
||
"四类 schema 的发布验证报告",
|
||
"正反例 fixture",
|
||
"迁移兼容性策略和演练"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "目标生成前检查集中度、行业/风格、组合波动、流动性、换手与不可卖仓位。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G5",
|
||
"limitations": [
|
||
"真实数据校准的风险模型版本",
|
||
"约束解释与不可行降级测试",
|
||
"压力测试和容量报告"
|
||
],
|
||
"name": "事前风险",
|
||
"requiredEvidence": [
|
||
"真实数据校准的风险模型版本",
|
||
"约束解释与不可行降级测试",
|
||
"压力测试和容量报告"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "真实或券商认证环境覆盖受理、部分成交、全成、撤单中、已撤、拒单、乱序/重复与未知状态。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G6",
|
||
"limitations": [
|
||
"状态机测试报告",
|
||
"券商回调脱敏回放",
|
||
"重启幂等演练"
|
||
],
|
||
"name": "订单状态",
|
||
"requiredEvidence": [
|
||
"状态机测试报告",
|
||
"券商回调脱敏回放",
|
||
"重启幂等演练"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "每个 run 绑定代码、Python/依赖、配置 hash、数据、模型、规则与随机种子;固定输入可重放。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G7",
|
||
"limitations": [
|
||
"发布级 run manifest",
|
||
"干净环境重建记录",
|
||
"版本冻结后的确定性重放差异报告"
|
||
],
|
||
"name": "可复现",
|
||
"requiredEvidence": [
|
||
"发布级 run manifest",
|
||
"干净环境重建记录",
|
||
"版本冻结后的确定性重放差异报告"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "启动、运行中、日终对账;不明差异阻止新单;kill switch 与恢复手册经过演练。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G8",
|
||
"limitations": [
|
||
"连续对账报告",
|
||
"故障注入/恢复演练",
|
||
"kill switch 测试"
|
||
],
|
||
"name": "对账与停机",
|
||
"requiredEvidence": [
|
||
"连续对账报告",
|
||
"故障注入/恢复演练",
|
||
"kill switch 测试"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "同一 canonical fixture/config 在本地、聚宽与可用 QMT/Qlib 路径上的语义差异处于声明容差且有原因码。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G9",
|
||
"limitations": [
|
||
"真实平台跨引擎 manifest",
|
||
"逐层 signal/target/order 差异",
|
||
"Baseline 60 所需的 QMT 至少 20 个交易日影子记录;Production 80 另要求同一冻结候选至少 60 个交易日"
|
||
],
|
||
"name": "跨引擎一致性",
|
||
"requiredEvidence": [
|
||
"真实平台跨引擎 manifest",
|
||
"逐层 signal/target/order 差异",
|
||
"Baseline 60 所需的 QMT 至少 20 个交易日影子记录;Production 80 另要求同一冻结候选至少 60 个交易日"
|
||
],
|
||
"status": "not_passed"
|
||
},
|
||
{
|
||
"acceptance": "实际券商书面确认接口权限、频率、模拟/实盘差异及程序化交易报告要求,完成先报告后交易。",
|
||
"claim": "未通过;不得计分。",
|
||
"evidence": [],
|
||
"evidenceLinks": [
|
||
"scorecard",
|
||
"audit"
|
||
],
|
||
"id": "G10",
|
||
"limitations": [
|
||
"券商确认材料索引",
|
||
"程序化交易报告状态",
|
||
"账户权限与限额检查记录"
|
||
],
|
||
"name": "合规",
|
||
"requiredEvidence": [
|
||
"券商确认材料索引",
|
||
"程序化交易报告状态",
|
||
"账户权限与限额检查记录"
|
||
],
|
||
"status": "not_passed"
|
||
}
|
||
],
|
||
"generatedAt": "2026-07-30T00:00:00Z",
|
||
"generatedAtSource": "audit_as_of",
|
||
"layers": [
|
||
{
|
||
"capabilities": [
|
||
"JQData raw/factor/limits/paused/PIT membership/ST snapshot",
|
||
"Tushare completed-Parquet inventory and immutable Qlib provider",
|
||
"semantic manifest and data-version verification"
|
||
],
|
||
"claim": "不可变快照、PIT 字段合同和 Tushare→Qlib 技术链路已有本地合同/运行证据;这些 provider-data 路径尚未接成当前 Ridge 五层候选。",
|
||
"evidenceLinks": [
|
||
"architecture",
|
||
"tushare-data",
|
||
"scorecard"
|
||
],
|
||
"id": "data",
|
||
"limitations": [
|
||
"尚无授权 JQData 真实快照与许可 lineage;Tushare 镜像仅部分完成且缺生产关键字段;当前五层候选仍使用 synthetic 数据。"
|
||
],
|
||
"name": "数据与时点",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"capabilities": [
|
||
"train-only preprocessing, purged walk-forward and deterministic Ridge",
|
||
"replayable frozen ModelBundle and synthetic TargetPackageV1",
|
||
"Qlib native momentum",
|
||
"Qlib Alpha158, LightGBM and Recorder workflow"
|
||
],
|
||
"claim": "synthetic 五层研究入口能冻结 train-only Ridge ModelBundle、逐层 trace 与 TargetPackageV1;Qlib momentum 和 Alpha158/LightGBM fixture 是另外的受限研究 smoke。",
|
||
"evidenceLinks": [
|
||
"architecture",
|
||
"platform-matrix",
|
||
"release-reachability",
|
||
"scorecard"
|
||
],
|
||
"id": "research",
|
||
"limitations": [
|
||
"候选和 Qlib fixture 均是 synthetic;尚无授权长样本 OOS、真实数据校准、平台候选观察或投资价值证据。"
|
||
],
|
||
"name": "研究与模型",
|
||
"releaseVerified": false,
|
||
"status": "real_runtime"
|
||
},
|
||
{
|
||
"capabilities": [
|
||
"explicit fee/spread/square-root-impact cost forecast",
|
||
"diagonal realized-variance risk input and deterministic constrained target",
|
||
"single-name, industry, gross, capacity and turnover constraints",
|
||
"post-risk weights with hash-linked lineage"
|
||
],
|
||
"claim": "当前 synthetic 主链把 Ridge Alpha、显式成本、60 日对角 realized variance、deterministic optimizer 和 post-risk gate 接成可重放 TargetPackage。",
|
||
"evidenceLinks": [
|
||
"architecture",
|
||
"release-reachability",
|
||
"scorecard"
|
||
],
|
||
"id": "signal-portfolio",
|
||
"limitations": [
|
||
"factor_risk.py 与 optional CVXPY solver 未被当前主链选择;风险、冲击和容量尚未用授权真实数据校准,G4/G5 均未通过。"
|
||
],
|
||
"name": "信号、组合与事前风险",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"capabilities": [
|
||
"local event and snapshot backtests",
|
||
"fail-closed JoinQuant TargetPackage single-file consumer",
|
||
"fail-closed QMT built-in TargetPackage backtest consumer",
|
||
"Qlib research runners"
|
||
],
|
||
"claim": "本地 synthetic 五层候选、平台 harness 和一次真实 JoinQuant TargetPackage execution smoke 已运行;QMT 尚无真实 peer run。",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"joinquant-target-package-evidence",
|
||
"joinquant-target-package-run",
|
||
"cross-engine",
|
||
"release-reachability",
|
||
"scorecard"
|
||
],
|
||
"id": "backtest",
|
||
"limitations": [
|
||
"聚宽只观察到一个 synthetic-research TargetPackage 的消费、账户/开盘价绑定和三笔成交;无真实长样本 OOS、QMT peer 或逐层真实数据 parity,G9 未通过。"
|
||
],
|
||
"name": "回测与跨引擎",
|
||
"releaseVerified": false,
|
||
"status": "real_runtime"
|
||
},
|
||
{
|
||
"capabilities": [
|
||
"local and Colab zero-account smoke",
|
||
"JQData snapshot entrypoint",
|
||
"JoinQuant momentum or explicit TargetPackage upload bundle",
|
||
"QMT built-in TargetPackage and qmttools entrypoints"
|
||
],
|
||
"claim": "Local、Colab、JoinQuant、QMT、Qlib 有入口;JoinQuant 已真实观察 synthetic-research TargetPackage 的 execution consumer,QMT 候选仍未实跑。",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"joinquant-target-package-evidence",
|
||
"joinquant-target-package-run",
|
||
"platform-deployment",
|
||
"release-reachability"
|
||
],
|
||
"id": "platforms",
|
||
"limitations": [
|
||
"JoinQuant 没有重跑上游四层;JQData 授权真实候选、QMT 客户端/数据权限、QMT peer 导出与逐层真实数据 parity 仍是外部前置条件。"
|
||
],
|
||
"name": "平台适配",
|
||
"releaseVerified": false,
|
||
"status": "real_runtime"
|
||
},
|
||
{
|
||
"capabilities": [
|
||
"read-only broker observation and broker snapshot",
|
||
"account-bound target-diff shadow plan",
|
||
"authenticated evidence envelope and exact replay"
|
||
],
|
||
"claim": "XtTrader operator 入口严格只读;HMAC 账户绑定和 semantic replay 已有 fake-broker 合同测试。",
|
||
"evidenceLinks": [
|
||
"architecture",
|
||
"platform-matrix",
|
||
"scorecard"
|
||
],
|
||
"id": "broker-oms",
|
||
"limitations": [
|
||
"无真实券商 attestation、回调/重启证明和影子记录;Baseline 60 至少需要 20 个交易日,Production 80 当前缺口为同一冻结候选至少 60 个交易日;没有实盘下单入口。"
|
||
],
|
||
"name": "券商、订单与影子盘",
|
||
"releaseVerified": false,
|
||
"status": "blocked"
|
||
},
|
||
{
|
||
"capabilities": [
|
||
"versioned exchange schemas and manifest verification",
|
||
"ledger replay and reconciliation contracts",
|
||
"security, deployment and incident runbooks"
|
||
],
|
||
"claim": "版本化 schema、manifest、hash-chain、runbook 与 fail-closed 验证器已实现。",
|
||
"evidenceLinks": [
|
||
"architecture",
|
||
"scorecard",
|
||
"platform-deployment"
|
||
],
|
||
"id": "operations",
|
||
"limitations": [
|
||
"缺连续真实对账、恢复演练、kill switch 演练及券商程序化交易书面确认。"
|
||
],
|
||
"name": "证据、对账与合规",
|
||
"releaseVerified": false,
|
||
"status": "blocked"
|
||
}
|
||
],
|
||
"marketScope": {
|
||
"bseTradingEnabled": false,
|
||
"excludedFailClosed": [
|
||
"BSE"
|
||
],
|
||
"executionScopeLabel": "沪深(上交所、深交所)",
|
||
"included": [
|
||
"SSE",
|
||
"SZSE"
|
||
],
|
||
"statement": "当前交易执行范围仅覆盖沪深;北交所尚未接入,所有北交所委托必须 fail closed。"
|
||
},
|
||
"maturity80": {
|
||
"assessedAsOf": "2026-07-30",
|
||
"baseline60AttestationVerified": false,
|
||
"baseline60Passed": false,
|
||
"baselineProfileCanonicalSha256": "34adf09a824299ddb07c17f56751527ddf96ff5e494e792be0c65da4f8acdeb3",
|
||
"canaryAuthorizationChainVerified": false,
|
||
"canaryObservation": null,
|
||
"canaryRunning": false,
|
||
"controls": [
|
||
{
|
||
"domainId": "D1",
|
||
"hardGate": true,
|
||
"id": "D1-PIT",
|
||
"minimumEvidenceTier": "E2",
|
||
"name": "Production PIT dataset is complete, immutable and replayable",
|
||
"note": "No authorized complete production PIT dataset has reached the frozen Ridge path.",
|
||
"status": "not_passed",
|
||
"weight": 4
|
||
},
|
||
{
|
||
"domainId": "D1",
|
||
"hardGate": true,
|
||
"id": "D1-OPS",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Data licence, lineage, freshness and recovery are operational",
|
||
"note": "No production freshness SLO, entitlement record and restore history.",
|
||
"status": "not_passed",
|
||
"weight": 5
|
||
},
|
||
{
|
||
"domainId": "D1",
|
||
"hardGate": false,
|
||
"id": "D1-REDUNDANCY",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Critical inputs have independent validation or a tested fallback",
|
||
"note": "No independent production source or rehearsed fallback.",
|
||
"status": "not_passed",
|
||
"weight": 6
|
||
},
|
||
{
|
||
"domainId": "D2",
|
||
"hardGate": true,
|
||
"id": "D2-OOS",
|
||
"minimumEvidenceTier": "E2",
|
||
"name": "Frozen real-data walk-forward and OOS evidence is valid",
|
||
"note": "The connected Ridge candidate still uses synthetic research data.",
|
||
"status": "not_passed",
|
||
"weight": 4
|
||
},
|
||
{
|
||
"domainId": "D2",
|
||
"hardGate": true,
|
||
"id": "D2-MODEL",
|
||
"minimumEvidenceTier": "E2",
|
||
"name": "Model, feature and release identities are governed",
|
||
"note": "ModelBundle exists, but production ownership, expiry, approval and rollback evidence do not.",
|
||
"status": "not_passed",
|
||
"weight": 5
|
||
},
|
||
{
|
||
"domainId": "D2",
|
||
"hardGate": false,
|
||
"id": "D2-CHALLENGER",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Champion, challenger, drift and experiment selection are controlled",
|
||
"note": "No real-data champion/challenger or production drift history.",
|
||
"status": "not_passed",
|
||
"weight": 6
|
||
},
|
||
{
|
||
"domainId": "D3",
|
||
"hardGate": true,
|
||
"id": "D3-LAYERS",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Local, JoinQuant and QMT share frozen L1-L5 identities; Qlib follows its declared comparison scope",
|
||
"note": "No real-data local/JoinQuant/QMT L1-L5 strict-peer identity; Qlib has only a separate declared-scope research fixture.",
|
||
"status": "not_passed",
|
||
"weight": 6
|
||
},
|
||
{
|
||
"domainId": "D3",
|
||
"hardGate": true,
|
||
"id": "D3-DIFF",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Order and fill differences are completely explained",
|
||
"note": "Mock parity and one JoinQuant execution smoke do not close a real QMT difference ledger.",
|
||
"status": "not_passed",
|
||
"weight": 4
|
||
},
|
||
{
|
||
"domainId": "D4",
|
||
"hardGate": true,
|
||
"id": "D4-RISK",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Independent pre-trade risk fails closed",
|
||
"note": "Risk components exist, but there is no independent real-broker fail-closed service evidence.",
|
||
"status": "not_passed",
|
||
"weight": 3
|
||
},
|
||
{
|
||
"domainId": "D4",
|
||
"hardGate": true,
|
||
"id": "D4-RULES",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Effective-dated SSE/SZSE rule packs are current; BSE remains fail-closed",
|
||
"note": "The effective-dated 2026-07-06 SSE/SZSE rule packs are not implemented; BSE remains explicitly excluded and fail-closed.",
|
||
"status": "not_passed",
|
||
"weight": 4
|
||
},
|
||
{
|
||
"domainId": "D4",
|
||
"hardGate": true,
|
||
"id": "D4-OMS",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Order lifecycle is idempotent and restart-safe",
|
||
"note": "No real QMT callback, reconnect and restart lifecycle evidence.",
|
||
"status": "not_passed",
|
||
"weight": 3
|
||
},
|
||
{
|
||
"domainId": "D4",
|
||
"hardGate": false,
|
||
"id": "D4-TCA",
|
||
"minimumEvidenceTier": "E4",
|
||
"name": "Real fills drive TCA and capacity feedback",
|
||
"note": "No controlled-live fills or governed TCA feedback.",
|
||
"status": "not_passed",
|
||
"weight": 5
|
||
},
|
||
{
|
||
"domainId": "D5",
|
||
"hardGate": true,
|
||
"id": "D5-QMT",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Authorized QMT account contracts are observed end to end",
|
||
"note": "QMT has fake-contract and syntax evidence only.",
|
||
"status": "not_passed",
|
||
"weight": 5
|
||
},
|
||
{
|
||
"domainId": "D5",
|
||
"hardGate": true,
|
||
"id": "D5-RECON",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Cash, positions, sellable, orders and fills reconcile daily",
|
||
"note": "No real daily broker reconciliation series.",
|
||
"status": "not_passed",
|
||
"weight": 5
|
||
},
|
||
{
|
||
"domainId": "D5",
|
||
"hardGate": true,
|
||
"id": "D5-EVIDENCE",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Broker facts and callbacks have authenticated replay evidence",
|
||
"note": "Local HMAC evidence is not broker attestation or real callback history.",
|
||
"status": "not_passed",
|
||
"weight": 2
|
||
},
|
||
{
|
||
"domainId": "D5",
|
||
"hardGate": true,
|
||
"id": "D5-FALLBACK",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Manual broker fallback and operator handoff are rehearsed",
|
||
"note": "No real-account manual handoff drill.",
|
||
"status": "not_passed",
|
||
"weight": 3
|
||
},
|
||
{
|
||
"domainId": "D6",
|
||
"hardGate": true,
|
||
"id": "D6-SHADOW",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "The frozen candidate completes 60 trading days of shadow",
|
||
"note": "Zero of the required 60 real QMT shadow trading days are recorded.",
|
||
"status": "not_passed",
|
||
"weight": 4
|
||
},
|
||
{
|
||
"domainId": "D6",
|
||
"hardGate": true,
|
||
"id": "D6-CANARY",
|
||
"minimumEvidenceTier": "E4",
|
||
"name": "Limited capital canary completes at least 10 trading days",
|
||
"note": "No limited-capital canary is authorized or observed.",
|
||
"status": "not_passed",
|
||
"weight": 3
|
||
},
|
||
{
|
||
"domainId": "D6",
|
||
"hardGate": true,
|
||
"id": "D6-DR",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Failure recovery meets RPO and RTO targets",
|
||
"note": "No measured RPO/RTO and broker failure-drill evidence.",
|
||
"status": "not_passed",
|
||
"weight": 5
|
||
},
|
||
{
|
||
"domainId": "D6",
|
||
"hardGate": true,
|
||
"id": "D6-RELEASE",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Build, promotion, rollback and audit are reproducible",
|
||
"note": "Independent CI, signed release inventory and rollback drill are not yet complete.",
|
||
"status": "not_passed",
|
||
"weight": 3
|
||
},
|
||
{
|
||
"domainId": "D7",
|
||
"hardGate": true,
|
||
"id": "D7-SCOPE",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Account and business scope remains personal proprietary",
|
||
"note": "The intended personal scope is documented but has no private attestation reference.",
|
||
"status": "not_passed",
|
||
"weight": 3
|
||
},
|
||
{
|
||
"domainId": "D7",
|
||
"hardGate": true,
|
||
"id": "D7-REPORT",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Broker programmatic-trading report matches the deployed release",
|
||
"note": "No broker programmatic-trading confirmation exists yet.",
|
||
"status": "not_passed",
|
||
"weight": 4
|
||
},
|
||
{
|
||
"domainId": "D7",
|
||
"hardGate": true,
|
||
"id": "D7-FLOW",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Abnormal-trading and conservative flow controls are enforced",
|
||
"note": "No real-account abnormal-trading monitoring history.",
|
||
"status": "not_passed",
|
||
"weight": 3
|
||
},
|
||
{
|
||
"domainId": "D7",
|
||
"hardGate": true,
|
||
"id": "D7-SECURITY",
|
||
"minimumEvidenceTier": "E3",
|
||
"name": "Secrets, access, personal data and supply chain are controlled",
|
||
"note": "Repository secret hygiene exists, but production access, rotation and supply-chain evidence do not.",
|
||
"status": "not_passed",
|
||
"weight": 2
|
||
},
|
||
{
|
||
"domainId": "D7",
|
||
"hardGate": false,
|
||
"id": "D7-REGULATED",
|
||
"minimumEvidenceTier": "E2",
|
||
"name": "A future regulated-mode rule calendar is maintained",
|
||
"note": "The regulated-mode activation calendar is documentation-only.",
|
||
"status": "not_passed",
|
||
"weight": 3
|
||
}
|
||
],
|
||
"controlsPassed": 0,
|
||
"controlsTotal": 25,
|
||
"domainFloorFailures": [
|
||
"D1",
|
||
"D2",
|
||
"D3",
|
||
"D4",
|
||
"D5",
|
||
"D6",
|
||
"D7"
|
||
],
|
||
"domains": [
|
||
{
|
||
"floorPassed": false,
|
||
"id": "D1",
|
||
"minimumScore": 9,
|
||
"name": "Data and point-in-time truth",
|
||
"score": 0,
|
||
"weight": 15
|
||
},
|
||
{
|
||
"floorPassed": false,
|
||
"id": "D2",
|
||
"minimumScore": 9,
|
||
"name": "Research and model governance",
|
||
"score": 0,
|
||
"weight": 15
|
||
},
|
||
{
|
||
"floorPassed": false,
|
||
"id": "D3",
|
||
"minimumScore": 6,
|
||
"name": "Cross-engine consistency",
|
||
"score": 0,
|
||
"weight": 10
|
||
},
|
||
{
|
||
"floorPassed": false,
|
||
"id": "D4",
|
||
"minimumScore": 9,
|
||
"name": "Execution and independent risk",
|
||
"score": 0,
|
||
"weight": 15
|
||
},
|
||
{
|
||
"floorPassed": false,
|
||
"id": "D5",
|
||
"minimumScore": 9,
|
||
"name": "Real QMT and broker truth",
|
||
"score": 0,
|
||
"weight": 15
|
||
},
|
||
{
|
||
"floorPassed": false,
|
||
"id": "D6",
|
||
"minimumScore": 9,
|
||
"name": "Operations, disaster recovery and audit",
|
||
"score": 0,
|
||
"weight": 15
|
||
},
|
||
{
|
||
"floorPassed": false,
|
||
"id": "D7",
|
||
"minimumScore": 9,
|
||
"name": "Compliance and security",
|
||
"score": 0,
|
||
"weight": 15
|
||
}
|
||
],
|
||
"effectiveScore": 0,
|
||
"evidencePolicy": "Only subject-bound evidence claims verified by a configured trust provider, at or above each control's minimum tier, earn points. The current repository has no production trust provider and therefore cannot self-issue a positive qualification.",
|
||
"finalAttestationVerified": false,
|
||
"hardGateFailures": [
|
||
"D1-OPS",
|
||
"D1-PIT",
|
||
"D2-MODEL",
|
||
"D2-OOS",
|
||
"D3-DIFF",
|
||
"D3-LAYERS",
|
||
"D4-OMS",
|
||
"D4-RISK",
|
||
"D4-RULES",
|
||
"D5-EVIDENCE",
|
||
"D5-FALLBACK",
|
||
"D5-QMT",
|
||
"D5-RECON",
|
||
"D6-CANARY",
|
||
"D6-DR",
|
||
"D6-RELEASE",
|
||
"D6-SHADOW",
|
||
"D7-FLOW",
|
||
"D7-REPORT",
|
||
"D7-SCOPE",
|
||
"D7-SECURITY"
|
||
],
|
||
"hardGatesPassed": 0,
|
||
"hardGatesTotal": 21,
|
||
"maximumScore": 100,
|
||
"preCanaryAttestationVerified": false,
|
||
"preCanaryAuthorization": null,
|
||
"preCanaryAuthorizationVerified": false,
|
||
"preCanaryAuthorized": false,
|
||
"preCanaryStructurallyEligible": false,
|
||
"prerequisites": {
|
||
"baseline_60_all_gates": false,
|
||
"broker_programmatic_confirmation": false,
|
||
"canary_trading_days": false,
|
||
"open_p0_within_limit": false,
|
||
"open_p1_within_limit": false,
|
||
"real_qmt_observed": false,
|
||
"shadow_trading_days": false
|
||
},
|
||
"productionTrustRegistryAvailable": false,
|
||
"qualificationThreshold": 80,
|
||
"qualified": false,
|
||
"rawScore": 0,
|
||
"scoreCaps": [
|
||
{
|
||
"maximum": 59,
|
||
"reason": "baseline_60_not_passed"
|
||
},
|
||
{
|
||
"maximum": 79,
|
||
"reason": "canary_not_observed"
|
||
}
|
||
],
|
||
"standardCanonicalSha256": "44fc6c168ade4c6de15569214d88b96ce47b22b4120b10c80eb6f212fad5e662",
|
||
"standardId": "quant-os-production-80-v1",
|
||
"state": "BLOCKED_FROM_LIMITED_LIVE",
|
||
"structurallyEligible": false,
|
||
"testOnly": false,
|
||
"trustedAttestationVerified": false,
|
||
"verificationEnvironment": "none"
|
||
},
|
||
"models": [
|
||
{
|
||
"claim": "共享 symbol normalization、momentum、target weight/quantity 与 order-delta 计算;2024 JoinQuant hosted run 只证明这一 smoke 路径。",
|
||
"evidenceLinks": [
|
||
"architecture",
|
||
"bundle-manifest",
|
||
"joinquant-hosted-evidence"
|
||
],
|
||
"id": "portable-momentum-v1",
|
||
"investmentValueClaim": false,
|
||
"limitations": [
|
||
"不是 Ridge/TargetPackage Baseline 候选;旧 hosted run 不得用于候选或 G9 计分。"
|
||
],
|
||
"name": "portable-momentum-v1",
|
||
"releaseVerified": false,
|
||
"role": "平台连通性 smoke 策略",
|
||
"status": "real_runtime"
|
||
},
|
||
{
|
||
"claim": "train-only 预处理、系数、截距、训练截止和 lineage 可冻结为可重放 ModelBundle;其 synthetic TargetPackageV1 已被真实 JoinQuant execution consumer 消费并成交。",
|
||
"evidenceLinks": [
|
||
"architecture",
|
||
"platform-matrix",
|
||
"joinquant-target-package-evidence",
|
||
"joinquant-target-package-run"
|
||
],
|
||
"id": "ridge-challenger",
|
||
"investmentValueClaim": false,
|
||
"limitations": [
|
||
"JoinQuant 只观察执行边界,未重跑上游四层;无授权真实 OOS、真实校准、QMT peer 或投资价值证据。"
|
||
],
|
||
"name": "Deterministic Ridge",
|
||
"releaseVerified": false,
|
||
"role": "synthetic 五层 Baseline 研究候选",
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "pyqlib 0.9.7 的 fit、Recorder 和 portfolio workflow 已在真实本地运行时完成。",
|
||
"evidenceLinks": [
|
||
"architecture",
|
||
"platform-matrix"
|
||
],
|
||
"id": "alpha158-lightgbm",
|
||
"investmentValueClaim": false,
|
||
"limitations": [
|
||
"数据仅为两只 synthetic 股票 fixture;表现没有投资意义,尚无冻结部署模型。"
|
||
],
|
||
"name": "Alpha158 + LightGBM",
|
||
"releaseVerified": false,
|
||
"role": "Qlib 研究候选",
|
||
"status": "real_runtime"
|
||
}
|
||
],
|
||
"nextActions": [
|
||
{
|
||
"gateIds": [
|
||
"G1",
|
||
"G2",
|
||
"G3",
|
||
"G5",
|
||
"G7"
|
||
],
|
||
"priority": 1,
|
||
"title": "接通真实数据五层候选",
|
||
"why": "The authorized provider-data path has not yet been connected end to end to the frozen Ridge ModelBundle, calibrated risk/cost inputs, five-layer Baseline candidate and TargetPackage tape; the current connected candidate remains synthetic. External prerequisite: authorized JQData market snapshot, licence/lineage record and a frozen provider-data candidate tape"
|
||
},
|
||
{
|
||
"gateIds": [
|
||
"G3",
|
||
"G5",
|
||
"G7",
|
||
"G9"
|
||
],
|
||
"priority": 2,
|
||
"title": "冻结主链风险、优化与执行选择",
|
||
"why": "factor_risk.py, the optional CVXPY optimizer mode and guarded TWAP/POV exist as components or optional paths but are not selected by the current Baseline main slice; the connected risk model is 60-session diagonal realized variance and execution is the reference one-shot planner."
|
||
},
|
||
{
|
||
"gateIds": [
|
||
"G3",
|
||
"G7",
|
||
"G9"
|
||
],
|
||
"priority": 3,
|
||
"title": "扩展 JoinQuant 多期对账与逐层 parity",
|
||
"why": "One synthetic-research TargetPackageV1 has been observed at the real JoinQuant execution boundary, but JoinQuant did not recompute the upstream four layers; there is no authorized real-data multi-period tape, same-input layer-by-layer parity, or real QMT peer. Required evidence: authorized real-data multi-period JoinQuant TargetPackage run plus same-input local/JoinQuant layer-by-layer reconciliation"
|
||
},
|
||
{
|
||
"gateIds": [
|
||
"G6",
|
||
"G8",
|
||
"G9"
|
||
],
|
||
"priority": 4,
|
||
"title": "运行真实 QMT TargetPackage 候选",
|
||
"why": "real QMT TargetPackage built-in and qmttools backtest exports"
|
||
},
|
||
{
|
||
"gateIds": [
|
||
"G6",
|
||
"G8",
|
||
"G9"
|
||
],
|
||
"priority": 5,
|
||
"title": "完成 QMT 券商合同探针与 Production 80 的 60 日影子盘(Baseline 60 门槛 20 日)",
|
||
"why": "real QMT historical-ST positive control, terminal/xtquant build record, broker query contract and trade-amount semantic probes, and callback/restart evidence; Baseline 60 requires at least 20 trading days of shadow, while the current Production 80 gap requires at least 60 trading days for the same frozen candidate"
|
||
},
|
||
{
|
||
"gateIds": [
|
||
"G8",
|
||
"G10"
|
||
],
|
||
"priority": 6,
|
||
"title": "完成连续对账、恢复演练与券商程序化交易报告/核查确认",
|
||
"why": "continuous reconciliation, recovery drills and broker programmatic-trading report/verification confirmation"
|
||
}
|
||
],
|
||
"platforms": [
|
||
{
|
||
"claim": "标准库套件、smoke + exact manifest verifier 可运行",
|
||
"evidenceLinks": [
|
||
"platform-matrix"
|
||
],
|
||
"id": "local-synthetic-execution",
|
||
"intendedUse": "确定性事件回测、ledger/replay",
|
||
"limitations": [
|
||
"synthetic 不代表真实市场/收益"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Local synthetic execution",
|
||
"prerequisite": "Python ≥3.10,无账号",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "冻结 model bundle、TargetPackageV1、layer trace + manifest verifier 可运行;风险/成本扰动必须改变 target",
|
||
"evidenceLinks": [
|
||
"platform-matrix"
|
||
],
|
||
"id": "local-synthetic-research",
|
||
"intendedUse": "五层 vertical slice:Universe/Ridge Alpha/risk+cost Portfolio/post-risk/reference Execution",
|
||
"limitations": [
|
||
"仍是 synthetic;当前只接对角风险与 deterministic optimizer,未做授权长样本 OOS"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Local synthetic research",
|
||
"prerequisite": "Python ≥3.10,无账号",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "fake-provider 测试覆盖 raw/factor/pre-close/limits/paused/PIT is_st/membership、24:00 完整收盘约束和语义 verifier",
|
||
"evidenceLinks": [
|
||
"platform-matrix"
|
||
],
|
||
"id": "jqdata-ingestion",
|
||
"intendedUse": "授权数据到 canonical immutable snapshot",
|
||
"limitations": [
|
||
"尚未登录真实账号保存快照、许可与 lineage"
|
||
],
|
||
"liveReady": false,
|
||
"name": "JQData ingestion",
|
||
"prerequisite": "jqdatasdk==1.9.8 + 授权账号",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "snapshot-backtest 复用 production decision path,输出普通 run manifest",
|
||
"evidenceLinks": [
|
||
"platform-matrix"
|
||
],
|
||
"id": "snapshot-local-backtest",
|
||
"intendedUse": "PIT membership 的 provider-data 本地回测",
|
||
"limitations": [
|
||
"尚无授权真实 snapshot;仍是本地 fill model"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Snapshot local backtest",
|
||
"prerequisite": "semantic verifier 通过的 snapshot",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "fail-closed broker state 与 exact decision manifest verifier 已实现",
|
||
"evidenceLinks": [
|
||
"platform-matrix"
|
||
],
|
||
"id": "snapshot-decision",
|
||
"intendedUse": "某决策日 Signal/Target/Order Delta",
|
||
"limitations": [
|
||
"未接真实账户 snapshot,未冻结生产模型"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Snapshot decision",
|
||
"prerequisite": "snapshot + equity 或完整 broker snapshot",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "notebook 已可本地逐 cell 执行",
|
||
"evidenceLinks": [
|
||
"platform-matrix"
|
||
],
|
||
"id": "colab",
|
||
"intendedUse": "clone、测试、bundle、本地两条 synthetic 链;可选 JQData/Qlib",
|
||
"limitations": [
|
||
"可选账号/依赖 cell 仍需运行时授权;不是平台证据"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Colab",
|
||
"prerequisite": "Colab runtime",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "动量 smoke 与 TargetPackage 消费模式均有 fake lifecycle;目标包缺失/篡改不回退",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"joinquant-hosted-evidence",
|
||
"joinquant-target-package-evidence",
|
||
"joinquant-target-package-run"
|
||
],
|
||
"id": "joinquant-local-harness",
|
||
"intendedUse": "wrapper API 合同",
|
||
"limitations": [
|
||
"不证明 JoinQuant"
|
||
],
|
||
"liveReady": false,
|
||
"name": "JoinQuant local harness",
|
||
"prerequisite": "Python ≥3.10,无账号",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "动量 smoke 的真实 2024 全年 run 已完成;FINAL4 的单个 synthetic-research TargetPackage 已在真实 hosted 环境按 day_open 命中并产生 3 单/3 fill",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"joinquant-hosted-evidence",
|
||
"joinquant-target-package-evidence",
|
||
"joinquant-target-package-run"
|
||
],
|
||
"id": "joinquant-hosted-bundle",
|
||
"intendedUse": "hosted backtest",
|
||
"limitations": [
|
||
"只观察 execution consumer;无授权真实长样本/OOS、上游四层 hosted 执行、QMT peer 或逐层真实数据 parity"
|
||
],
|
||
"liveReady": false,
|
||
"name": "JoinQuant hosted bundle",
|
||
"prerequisite": "JoinQuant 登录/数据权限",
|
||
"releaseVerified": false,
|
||
"status": "real_runtime"
|
||
},
|
||
{
|
||
"claim": "Python 3.6 source、ContextInfo 回滚模拟、动量 smoke 与 TargetPackage 合同",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"platform-deployment"
|
||
],
|
||
"id": "qmt-local-harness",
|
||
"intendedUse": "built-in wrapper 合同",
|
||
"limitations": [
|
||
"不证明 QMT"
|
||
],
|
||
"liveReady": false,
|
||
"name": "QMT local harness",
|
||
"prerequisite": "Python ≥3.10,无账号",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "两种模式都硬限制 backtest;TargetPackage 模式不重算上游四层;模块全局 g",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"platform-deployment"
|
||
],
|
||
"id": "qmt-built-in-bundle",
|
||
"intendedUse": "GUI backtest-only",
|
||
"limitations": [
|
||
"尚无 TargetPackage 真实 QMT run/export;10% GUI 配置和执行时钟待取证"
|
||
],
|
||
"liveReady": false,
|
||
"name": "QMT built-in bundle",
|
||
"prerequisite": "授权 QMT 客户端/历史数据",
|
||
"releaseVerified": false,
|
||
"status": "implemented"
|
||
},
|
||
{
|
||
"claim": "固定中证 500/10% 参与率、参数、只读 preflight 和 hard backtest/history 合同已测",
|
||
"evidenceLinks": [
|
||
"platform-matrix"
|
||
],
|
||
"id": "qmttools-runner",
|
||
"intendedUse": "native-Python QMT backtest/history",
|
||
"limitations": [
|
||
"尚无专有运行时实跑"
|
||
],
|
||
"liveReady": false,
|
||
"name": "qmttools runner",
|
||
"prerequisite": "券商分发 xtquant + 已登录 terminal",
|
||
"releaseVerified": false,
|
||
"status": "implemented"
|
||
},
|
||
{
|
||
"claim": "HMAC 账户绑定 + authenticated evidence envelope、decision/observation semantic replay、资产/持仓/委托/成交恒等式、fail-closed exact verifier 与 fake broker 合同",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"platform-deployment"
|
||
],
|
||
"id": "xttrader-read-only-shadow",
|
||
"intendedUse": "账户绑定 target-diff 与 broker observation",
|
||
"limitations": [
|
||
"HMAC 不是 broker attestation;仍缺官方 query 失败/空结果合同及 callback/restart;Baseline 60 至少 20 个交易日,Production 80 当前缺口为同一冻结候选至少 60 个交易日;not live-ready"
|
||
],
|
||
"liveReady": false,
|
||
"name": "XtTrader read-only shadow",
|
||
"prerequisite": "MiniQMT/QMT、账户查询权限、既有本地 HMAC key",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
},
|
||
{
|
||
"claim": "真实本地 fixture 成功,24 signal;保存 signal/report hash、表边界和重算 portfolio 指标",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"tushare-data"
|
||
],
|
||
"id": "qlib-native-momentum",
|
||
"intendedUse": "signal/model research",
|
||
"limitations": [
|
||
"synthetic 两股票;无真实数据/OOS,无 L3/L4 parity"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Qlib native momentum",
|
||
"prerequisite": "CPython 3.12 + exactly pyqlib==0.9.7",
|
||
"releaseVerified": false,
|
||
"status": "real_runtime"
|
||
},
|
||
{
|
||
"claim": "真实 fixture 完成 model/Recorder;读取 portfolio report,保存表 hash、边界、重算指标与 artifact path",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"tushare-data"
|
||
],
|
||
"id": "qlib-alpha158-lightgbm",
|
||
"intendedUse": "model fit + Recorder workflow",
|
||
"limitations": [
|
||
"synthetic 两股票性能无意义;真实 provider/OOS 和冻结模型缺失"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Qlib Alpha158/LightGBM",
|
||
"prerequisite": "同上 + LightGBM/MLflow stack",
|
||
"releaseVerified": false,
|
||
"status": "real_runtime"
|
||
},
|
||
{
|
||
"claim": "93 个 completed 文件全部通过 size/SHA/row-count;v4 provider verifier 成功;同一动量命令连续两次 evidence JSON 逐 byte 相同",
|
||
"evidenceLinks": [
|
||
"platform-matrix",
|
||
"tushare-data"
|
||
],
|
||
"id": "tushare-local-to-qlib",
|
||
"intendedUse": "completed Parquet 的只读盘点、不可变 provider 与本地研究 smoke",
|
||
"limitations": [
|
||
"daily 仅完成约 8.2%,缺复权、真实 benchmark、PIT 成分/ST/停牌/涨跌停;production_ready=false"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Tushare local → Qlib",
|
||
"prerequisite": "同上 + pyarrow==24.0.0;本地镜像",
|
||
"releaseVerified": false,
|
||
"status": "real_runtime"
|
||
},
|
||
{
|
||
"claim": "mock_contract_only、real_platform_pass=false、gate_credit=[]",
|
||
"evidenceLinks": [
|
||
"platform-matrix"
|
||
],
|
||
"id": "mock-parity-exporter",
|
||
"intendedUse": "JoinQuant/QMT wrapper 的 L2—L4 合同回归",
|
||
"limitations": [
|
||
"不计 G9;必须换成真实平台导出"
|
||
],
|
||
"liveReady": false,
|
||
"name": "Mock parity exporter",
|
||
"prerequisite": "Python ≥3.10",
|
||
"releaseVerified": false,
|
||
"status": "tested"
|
||
}
|
||
],
|
||
"provenance": {
|
||
"baselineConfig": "configs/baseline.json",
|
||
"bundleManifest": "dist/bundle_manifest.json",
|
||
"payloadSha256": "2582133135aa956bb567fd009e73d31c3242ffb4f89b8cf70d2932027cc5d763",
|
||
"payloadSha256Semantics": "SHA-256 of canonical payload before payloadSha256 is added.",
|
||
"platformMatrix": "docs/PLATFORM_MATRIX.md",
|
||
"production80Assessment": "profiles/production-80/current-assessment.json",
|
||
"production80Standard": "profiles/production-80/standard.json",
|
||
"releaseReachability": "releases/quant60-research-candidate-v1/reachability.json",
|
||
"scorecard": "gate_scorecard.json",
|
||
"sourceSetSha256": "92485e439b1ecfb75166f8750e26b4d392d44ff614755295635e7761fa255c5c",
|
||
"sources": [
|
||
{
|
||
"path": "gate_scorecard.json",
|
||
"sha256": "2cc29f8d3670cd2e1e90ebe10a7d4d5a1ab9fc6a6b08612df2bbad485cd19655"
|
||
},
|
||
{
|
||
"path": "profiles/baseline-60/profile.json",
|
||
"sha256": "fbfb71356bd6a711510dd6ef0d84a4f76c47cc8244e90120142fa6bf36780fb9"
|
||
},
|
||
{
|
||
"path": "profiles/production-80/standard.json",
|
||
"sha256": "60ca7de08b337b75ca7ed53b7c01b6a7c3d621d788e60a15f26f2adaf2844064"
|
||
},
|
||
{
|
||
"path": "profiles/production-80/current-assessment.json",
|
||
"sha256": "f6439d548c4bf176dfcd734ade2e3343b2673e9e11f8233d7c642d4ee3436369"
|
||
},
|
||
{
|
||
"path": "dist/bundle_manifest.json",
|
||
"sha256": "3323a07d0c93c6a9dcf8ead2760025ee8f78136bf9334ca5bd4fd836fbbedb54"
|
||
},
|
||
{
|
||
"path": "releases/quant60-research-candidate-v1/reachability.json",
|
||
"sha256": "2a506c2a4a9f4d813c34be4b3d02acdef6a2aa4c6eeff304be5065f1d3d34cbb"
|
||
},
|
||
{
|
||
"path": "evidence/joinquant/TP-20240311-795dcfba/2457a7c39a276e09e0fabf99e28978e1/run.json",
|
||
"sha256": "9956c5e61bdc1c82bc24f20f24c1d65a201bab2f71c2c9e4e23eb5bd40eca6ce"
|
||
},
|
||
{
|
||
"path": "configs/baseline.json",
|
||
"sha256": "939a7df386b06bc82869940572c35544e9361913b94d9e03027411e51b1006e1"
|
||
},
|
||
{
|
||
"path": "README.md",
|
||
"sha256": "0bf0562ae9247a88a5b0248f66b9b314d7ab0ea435bc8f8e5efa78f7d2f785bb"
|
||
},
|
||
{
|
||
"path": "docs/ARCHITECTURE.md",
|
||
"sha256": "8aae46f1b371651ac6f72905b7bcb3d72fdfda2a793e5505ab890352921c3219"
|
||
},
|
||
{
|
||
"path": "docs/architecture/ARCHITECTURE_80.md",
|
||
"sha256": "bb57df9d7eb5858741dde282ae0853a5e4ec9f4f4eb290bdb5954228fcb8956a"
|
||
},
|
||
{
|
||
"path": "docs/AUDIT_2026-07-25.md",
|
||
"sha256": "c070b49dfc2805c338400697369d886a6dc47b53af4a1834d0dfd383431e74d0"
|
||
},
|
||
{
|
||
"path": "docs/standards/QUANT_OS_80_STANDARD.md",
|
||
"sha256": "90dc9e7f1c5be17f5e6672598aac4afca3d26cf0099ae794c1be85bdafd0b65b"
|
||
},
|
||
{
|
||
"path": "docs/standards/BASELINE_60_VS_PRODUCTION_80.md",
|
||
"sha256": "c99e858dc186c100ff9d9cd673b1644bdcb81fecd6fe945166bdd7966b9cfe8a"
|
||
},
|
||
{
|
||
"path": "docs/getting-started/GETTING_STARTED_80.md",
|
||
"sha256": "5c18a558bd2f9e1640144a1729309bf38ada3185188c985476bd609b28c4479e"
|
||
},
|
||
{
|
||
"path": "docs/PLATFORM_MATRIX.md",
|
||
"sha256": "9c7952b019c92efd1055488b58838045ee30979ccc84008cd1218fab2a6d6717"
|
||
},
|
||
{
|
||
"path": "docs/CROSS_ENGINE_CONSISTENCY.md",
|
||
"sha256": "bdb493e84201f51c5b91bacf8c894858b0c2dbceaaf0522c68d42d040ed45057"
|
||
},
|
||
{
|
||
"path": "docs/JOINQUANT_HOSTED_EVIDENCE_2026-07-26.md",
|
||
"sha256": "71d017a7e009331413f378fc847203d19eaa1c24317f364e9dcebe645df3d13b"
|
||
},
|
||
{
|
||
"path": "docs/JOINQUANT_TARGET_PACKAGE_EVIDENCE_2026-07-26.md",
|
||
"sha256": "99b62e06b843e9866dc88b0479ce474232a5cae84c8595ad5adb2bf707b3d205"
|
||
},
|
||
{
|
||
"path": "docs/TUSHARE_LOCAL_DATA.md",
|
||
"sha256": "611b120ba59b59b443b5cd9237356c509f2f2699063784a4685506e88a95adea"
|
||
},
|
||
{
|
||
"path": "MIGRATION.md",
|
||
"sha256": "2b86f9f4ced687de61c4a3268d57bb38cde4fb1fac75be61ec8cd18c12ccdd26"
|
||
},
|
||
{
|
||
"path": "ops/README.md",
|
||
"sha256": "eda75a106ea961faa22ada2c95c503ee2a5437030e238d065d7f112550dcac0d"
|
||
},
|
||
{
|
||
"path": "ops/activate_static_status.sh",
|
||
"sha256": "26e026da5ab13d228696de4a1d9a811bc80e2adf3220859b868129852655a93f"
|
||
},
|
||
{
|
||
"path": "ops/deploy_static_status.sh",
|
||
"sha256": "2b86edbd76e42832aba661d98cbadfc34607fb626d36324f7933e89c66a89c6e"
|
||
},
|
||
{
|
||
"path": "ops/nginx/quant-os-static.conf",
|
||
"sha256": "2871fd13cc4b4828f82e59c67284e765d69422b404b35d95d02c396b596365d3"
|
||
},
|
||
{
|
||
"path": "ops/nginx/quant-os-legacy-redirects-302.conf",
|
||
"sha256": "5206a0ed69ee01b8596fb3c5be9fdab713c14a512968c0cd24839e65495508a4"
|
||
},
|
||
{
|
||
"path": "ops/nginx/quant-os-legacy-redirects-308.conf",
|
||
"sha256": "ce8fc27e36b1c07dad445d76199b31a0113b42d759db8af7a60a3442548d4f94"
|
||
},
|
||
{
|
||
"path": "runbooks/PLATFORM_DEPLOYMENT.md",
|
||
"sha256": "001bc09f6865c6ee90fbbc2363b94bed7a282d039790af024457a5b1390b9840"
|
||
},
|
||
{
|
||
"path": "tools/build_release_reachability.py",
|
||
"sha256": "fecee5980917f86440e96ccfe488e52111db5715b6f3847b87cb98f9a895b4be"
|
||
},
|
||
{
|
||
"path": "tools/build_public_status.py",
|
||
"sha256": "ec24dd12a6383ab1210a475c6f982b911f6ce45a7c205b9474bb2bb70665bc2a"
|
||
},
|
||
{
|
||
"path": "tools/check_tracked_secrets.py",
|
||
"sha256": "359eddb5fb009d3790bd81ce9c939ceb9aea7868fde4ccbc22ffe01099c62304"
|
||
},
|
||
{
|
||
"path": "tools/inventory_local_assets.py",
|
||
"sha256": "f52a89b2e42d0f3aed7e3c79e0110c37cab779794f550658116e07b9e338160b"
|
||
}
|
||
]
|
||
},
|
||
"schemaVersion": 2,
|
||
"summary": {
|
||
"allFiveLayersRealPlatformObserved": false,
|
||
"candidateRealPlatformObservationScope": "target_package_execution_consumer_only",
|
||
"candidateRealPlatformObserved": true,
|
||
"gateCoverageLabel": "0/10 passed",
|
||
"investmentValueClaim": false,
|
||
"optionalSkipsRecorded": 6,
|
||
"productionReady": false,
|
||
"realRuntimeSmokes": [
|
||
"JoinQuant TargetPackage execution consumer: one synthetic-research package, 3 orders / 3 fills (not Baseline/G9 evidence)",
|
||
"JoinQuant portable_momentum_smoke hosted daily backtest (not Baseline/TargetPackage evidence)",
|
||
"Qlib native momentum fixture",
|
||
"Qlib Alpha158 + LightGBM fixture",
|
||
"Tushare completed-partition Qlib momentum smoke"
|
||
],
|
||
"testEvidenceQualifier": "Scorecard-recorded run; tests do not prove real-platform or broker gates.",
|
||
"testsRecorded": 315
|
||
},
|
||
"system": "Quant OS / quant60 baseline kernel"
|
||
};
|