2026-07-27 11:21:30 +08:00
|
|
|
|
# 量化因子 · G1 实测结论与待办(2026-07-26)
|
|
|
|
|
|
|
|
|
|
|
|
> 第一批(桥侧口径修复 + 插槽视图 v2)已实机验证通过,代码已入库,不在此重复。
|
|
|
|
|
|
> 本文只记两件事:G1 实测读出的事实(后续决策的依据)、尚未完成的第二三批。
|
2026-07-27 11:44:15 +08:00
|
|
|
|
> **07-27 增补**:改1 交付后做了阶段方案交叉评审,结论并入二三批与新增的第五节(待回传读数)。
|
2026-07-27 11:21:30 +08:00
|
|
|
|
|
|
|
|
|
|
## 一、G1 实测(2026-07-24 截面,实机)
|
|
|
|
|
|
|
|
|
|
|
|
**覆盖池 2391 只**——设计文档写的 1675 已过时,316 个池在持续涌现收录。
|
|
|
|
|
|
|
|
|
|
|
|
**1. 门槛② 的损耗几乎全部来自"没有券商覆盖",不是估值**
|
|
|
|
|
|
U 2391 → 有 upside 795(33%)→ upside≥0 剩 755。
|
|
|
|
|
|
无券商覆盖挡掉 **1596 只(67%)**;θ_v=0 只挡掉 **40 只(有覆盖股的 5%)**。
|
|
|
|
|
|
⇒ §9-3 的 q 必须显著上调,否则估值那一刀形同虚设。
|
|
|
|
|
|
⇒ §9-4(无覆盖股怎么办)不是边角料,是三分之二的池。
|
|
|
|
|
|
|
|
|
|
|
|
**2. 三项正交**
|
|
|
|
|
|
corr(z_H, z_V) = −0.033;z_T 与另两项均 ≈ 0.01。
|
|
|
|
|
|
⇒ 评审中"三项加权实为两项"的担心**被证伪**,三项各带独立信息。
|
|
|
|
|
|
|
|
|
|
|
|
**3. 0.5/0.3/0.2 是严格的"传导优先",不是加权混合**
|
|
|
|
|
|
w_T=0.50 → top10 **10/10**、top20 **20/20**、top30 **30/30**、top50 **39/39**。
|
|
|
|
|
|
39 只传导票精确占满前 39 名,0.3/0.2 只在组内排序、跨组不起作用。
|
|
|
|
|
|
实测要真混合需 w_T ≈ 0.20(此时 top20 只有 6/20 是传导票)。
|
|
|
|
|
|
|
|
|
|
|
|
**4. 传导票 39 只(P 的 5.2%),组合可行性没问题**
|
|
|
|
|
|
top20 可以整篮子都是传导票,不存在"只剩 1~3 只"的塌缩。
|
|
|
|
|
|
|
|
|
|
|
|
**5. 硬伤1 真实 binding**
|
|
|
|
|
|
当日 12 个候选里 **6 个** quiet 存满 12 条。
|
|
|
|
|
|
|
2026-07-27 11:44:15 +08:00
|
|
|
|
## 二、第二批 · 基座四处 + 桥侧一尾(施工中)
|
2026-07-27 11:21:30 +08:00
|
|
|
|
|
|
|
|
|
|
不触碰 claims/documents,不需 replay,不需重抽。
|
|
|
|
|
|
|
2026-07-27 11:44:15 +08:00
|
|
|
|
1. ✅(07-27 已交付已提交) `graph_store.topic_context` 的 Cypher 加 `ORDER BY`,cap 30 → 200。
|
|
|
|
|
|
实际落法:q_members `ORDER BY ts_code, name`(升序 NULL 后置 → 上市成员优先入 cap)、
|
|
|
|
|
|
q_drives 同类补序。**验证读数未回**(见五-1)。
|
|
|
|
|
|
⚠️ 传导数值口径自此有断点(成员抽样确定化),仪表盘回看时注意。
|
|
|
|
|
|
2. `transmission.scan` 去掉 `quiet[:12]`(那 12 是给旁批用的,却把因子锁在 144 行/日;
|
|
|
|
|
|
**落库存全量,旁批仍只喂前 12**);落库带上 `mkt_trade_date`。
|
|
|
|
|
|
⚠️ cap200 改变 members_total / moved_ratio 的分母语义,scan 内用到成员数的阈值
|
|
|
|
|
|
(如 members_total≥30)此时逐个过一遍。
|
|
|
|
|
|
3. `hotspot._latest_mkt` / `_movers_set` 加 `trade_date` 参数(现恒取最新快照)。
|
|
|
|
|
|
语义 = scan 起点解析一次 D 后全程穿透(顺带修 17:30 快照落在扫描中途的竞态);
|
|
|
|
|
|
**参数化 ≠ 打开传导历史重扫**,§2.2 铁律不动。
|
2026-07-27 11:21:30 +08:00
|
|
|
|
4. `sync_consensus` 加 `asof` 参数(§9-6 甲案,约 5 行)
|
2026-07-27 11:44:15 +08:00
|
|
|
|
★ **必须同时补 `report_date <= ref` 上界**,否则历史回填是前视。
|
|
|
|
|
|
实现时核对 `consensus_daily` 唯一键含 asof 日期(否则回填互相覆盖);
|
|
|
|
|
|
甲案的**回填驱动脚本**(逐日 asof 循环、幂等)是另一项,不算在"5 行"里。
|
|
|
|
|
|
5. (桥侧收尾)`v_factor_transmission` v3 曝 `mkt_trade_date` 列
|
|
|
|
|
|
(桥仓库 sql/astock_kg_slot_views.sql + apply-views;只增列不改名)
|
|
|
|
|
|
——没有这截,"桥自行判断采信"无从实现。
|
2026-07-27 11:21:30 +08:00
|
|
|
|
|
|
|
|
|
|
**已定**:新鲜度不中止扫描,只告警 + 记 `mkt_trade_date`。
|
|
|
|
|
|
|
2026-07-27 11:44:15 +08:00
|
|
|
|
**并行建议(07-27,唯一逐日流失项)**:二三批都可以晚做,快照每晚一天永久少一天——
|
|
|
|
|
|
① freeze.py 确认进每日调度;② 基座 `industry_pools_history`(池成员日快照)尽早开积累
|
|
|
|
|
|
(覆盖池 1675→2391 的膨胀速度加重此项);③ 全量 quiet 的 live 传导史从改2上线日才开始,
|
|
|
|
|
|
§10 GRU 的"≥1 年"计时器实质从那天起算 ⇒ **改2 宜紧不宜慢**。
|
|
|
|
|
|
|
2026-07-27 11:21:30 +08:00
|
|
|
|
## 三、第三批 · 待决策
|
|
|
|
|
|
|
2026-07-27 11:44:15 +08:00
|
|
|
|
★ **前置(07-27 评审加):三批一律用二批落地后的重跑读数拍板,07-24 读数作废。**
|
|
|
|
|
|
去 quiet[:12] + cap200 会改变 z_T 的生成分布:传导覆盖从 83 行/日上一个量级、
|
|
|
|
|
|
"池内 95% 为 0"的稀疏前提(§3.4 例外处理的依据)、39 票、16/20 重合全部要重测
|
|
|
|
|
|
——重跑 probe 的 corr / 权重 / 票数三张读数即可。
|
|
|
|
|
|
|
|
|
|
|
|
1. **无券商覆盖的 1596 只(§9-4)——升为主决策**:门槛②实测语义 ≈ "有覆盖 ∧ upside≥0",
|
|
|
|
|
|
覆盖挡 67%、估值只挡有覆盖股的 5%,q 只作用于剩下三分之一。
|
|
|
|
|
|
9-4 不定,门槛②的价值主张站不住。
|
|
|
|
|
|
2. **θ_v 的 q(§9-3)**——9-4 定了之后按重跑读数定,次级旋钮。
|
|
|
|
|
|
3. **传导组内部怎么排**——当前按连续 z_T,两段式按"冷+便宜"(档位 + tiebreak;
|
|
|
|
|
|
§9-8/9-9 实质并入此题,成一道结构选择题)。07-24 读数 top20 重合 16/20 仅供方向感,
|
|
|
|
|
|
按前置重测后再拍。
|
|
|
|
|
|
4. **赛道门槛 C 的数据源**——`industry_pools` 成员级无 segment/layer,图谱在 Neo4j。
|
2026-07-27 11:21:30 +08:00
|
|
|
|
建议:claims 口径先用于覆盖体检,基座投影视图(第五/六插槽)作 S1 正解。
|
2026-07-27 11:44:15 +08:00
|
|
|
|
5. **mkt_trade_date 采信规则(07-27 评审加)**——stale 时剔除 / 打折 / 只标记?
|
|
|
|
|
|
与 §9-7 A 案有一处会打架:若桥把 stale 日传导整体剔掉 → 当日 z_T std=0 → 按 §3.4
|
|
|
|
|
|
整列置 0 → 恰违反 §10"不得静默置零"判收。⇒ **A 案"有数据才出行"的判据升级为
|
|
|
|
|
|
"有采信规则放行的数据才出行"**,随本条一并拍。
|
|
|
|
|
|
|
|
|
|
|
|
**§9 对账(07-27)**:9-1 热度翻转从未正式关掉(零成本,建议即关);9-6 已定甲案(关);
|
|
|
|
|
|
9-7 建议现在拍 A(其形态由上面第 5 条决定);9-2 赛道清单仍是 G2 阻塞项;9-5 延后 S2 不变。
|
2026-07-27 11:21:30 +08:00
|
|
|
|
|
|
|
|
|
|
## 四、下一步建议
|
|
|
|
|
|
|
|
|
|
|
|
`akg_gate`(0/1,全池出行)与 `akg_score` 一起注册——否则平台的 IC/分层只看得到
|
2026-07-27 11:44:15 +08:00
|
|
|
|
池内排序,完全看不到两道门槛的价值,而门槛才是这套逻辑的主体。
|
|
|
|
|
|
|
|
|
|
|
|
07-27 补:gate 先注册可兼当"覆盖溢价"仪表(帮 9-4 拍板),但 factor_metadata 描述必须
|
|
|
|
|
|
写明当前语义 = 覆盖 ∧ upside≥0 ∧ C,并预期 9-4 决策后重定义——否则平台 IC 史读到的
|
|
|
|
|
|
主要是"有无券商覆盖"。**G3 开工前置确认从 §9-8 一项扩为 §9-3 / 9-4 / 9-8 三项。**
|
|
|
|
|
|
|
|
|
|
|
|
## 五、待回传读数清单(07-27 汇总)
|
|
|
|
|
|
|
|
|
|
|
|
1. 改1 验证:同一天连跑两次扫描,各主题 moved_ratio 逐位相同
|
|
|
|
|
|
2. `SELECT kind, min(trade_date), max(trade_date), count(DISTINCT trade_date)
|
|
|
|
|
|
FROM mkt_daily GROUP BY kind`(老项一直没回;决定 §7 近似区间讨论的边界)
|
|
|
|
|
|
3. 环节成员数分布(max 与 P95)——cap200 会不会被大环节击穿
|
|
|
|
|
|
4. freeze.py 是否已进每日调度
|
|
|
|
|
|
5. G1 判收项①(factor_coverage_probe 补跑)与③(gp_day_data 起始日复核)的读数
|
|
|
|
|
|
——做了没记,还是没做?
|
|
|
|
|
|
6. 二批全落地后:重跑 probe 的 corr / 权重 / 票数三张读数(三批的拍板依据)
|