akg-factor-bridge/docs/主观选股改进方案_2026-09-02.md

402 lines
69 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 方案现有选股的改进点与数据底座信号的新应用2026-09-02
## Context为什么做这件事
因子桥是数据底座的第一个应用:每天早晨把底座的传导、热度、预期空间三路信号合成"景气度漏斗",出一份选股计划,送决策系统夜间推理与 PMS 下单候选。用户的判断是:桥只是底座的一种应用,底座积累的数据与信号应当还能长出别的应用;同时现有选股跑了一个月,该回头看有没有可改进之处。本方案回答两问。
**先说结论,细节在后面。** 第一,现有选股的核心筛选——"被传导指向、自身还没动的成员"——在过去一个月是稳定的负信号,送进末端链路的强传导档是四档里最差的;传导对"该看哪个环节"的定位有信息量,但"挑未动补涨"把它丢掉了。纯可交易口径下,"环节被指向、当日已涨 3% 以上、且明确吸筹"是全部实证里唯一合并样本为正的规则(五日 +2.18、十日 +1.94),但它是顺风策略、不免疫环境,且样本集中在 8 月初三天;"环境闸"用过去涨跌定义没有预测力,只能作复盘分组。第二,改法是把桥从"打分排序器"改成"候选卡装配器"公式与档位不动每天出一份带理由的候选单三条门槛加一条确认加三条硬风险落快照带版本戳用候选单复盘作这个系统唯一的评价方式PMS 的候选来源等样本外复盘过线再切。第三,新应用按"模拟人做主观选股"重排:候选单复盘闭环、吸筹确认线、环节启动全景、环境标签验证、公告实时进粮、行情侧两条展示线、次日盘前预案;平台评价闭环整条作废,六个已注册因子请平台标为不参评。
第一节是全部实证与口径,供核对;第二节是改进方案;第三节是新应用方向;第四节是拍板点;第五节是验证;附录是执行细节,可不读。
## 零、设计目标的再确认2026-09-02 用户定调,第二、三、五节据此重写)
这个系统的定位是选股。它本身不做回测,也不做因子合成,那两件事有专门的系统(因子平台 quant_factor_service。更准确地说数据底座加选股系统的本质是**模拟一个人做主观选股**:感知市场环境、看什么在动、沿产业链想下一个受益环节、在环节里挑公司、看资金与估值、读披露、形成有理由的候选单、事后复盘。
因此,把选股结果因子化去做 IC 与单调性评价、纳入因子平台做评价或组合成员,改造难度大且背离设计目标,**不做**。旧版第二节的 A3、第三节的"平台评价闭环"整条作废。评价方式改为候选单层面的复盘候选单的命中率与相对简单基准的超额、按市场环境与证据线分组、案例级复盘这只票为什么进候选、决策系统怎么判、PMS 有没有动、结果如何、哪条理由兑现了)。措辞用"复盘",不用"回测"。
用户认可的判断强传导挑未动补涨可能无效吸筹可能有效还有其他数据源可用。第四节三项拍板记录仍然有效传导用法改为环节定位加确认加环境闸、先改用法不改公式环境闸由桥出标签、PMS 定仓位;新应用顺序去掉平台评价后按主观选股重排)。新信号作为候选卡上的证据线与确认条件,不作因子送进平台。
## 一、已核实的现状事实2026-09-02 实机读数,出处在括号里)
### 1.1 现有选股的形态
- 判据链:券商覆盖 ∩ 预期空间 ≥ 负容忍线(默认 0∩ 十五五赛道内 ∩ 非 ST/退市 → 主榜;无覆盖但在赛道或传导链上 → 观察档。主榜分 = 200 + 传导档位×20 + 组内分(冷 + 便宜);观察档分 = 100 + 0.6z(传导) + 0.4z(−热度)。plan.py 渲染口径、docs/选股说明_下游对接.md
- 09-01 实况:主榜 520、观察档 674、档位覆盖 3765主榜前 12 全是强传导档,主题为散热器件、执行器、半导体设备、电机、热界面材料、灵巧手、储能;升档 27、降档 8。预期空间出现 +181%、+131% 这类噪音值(桥 /plan?format=md
- 计划历史 21 期07-29 起传导史纯实时积累无回填155 桥 data/plan
- 日更由统一调度平台 XXL-JOB192.168.16.165)触发 /api/v1/xxl/daily-build最新冻结清单 09-01 无告警155 桥 data/frozen/2026-09-01/manifest.json
- 155 部署版本 baaf5df落后开发机 3 个提交(只差 api.py 单票兜错修复)。
### 1.2 现有选股有效性的硬证据(口径对比器 score_lab07-29 至 08-14
前 30 名按方案排序后的均收益与命中率n=30基准为主榜约 960 只等权):
| 方案 | 5 日均收益 / 命中7 天) | 10 日均收益 / 命中3 天) |
|---|---|---|
| A 现行 | 3.06% / 59.5% | 5.51% / 65.6% |
| B 绝对档界 | 3.92% / 66.2% | 8.37% / 80.0% |
| C 连续加权 | 3.88% / 61.4% | 5.95% / 66.7% |
| 基准:主榜等权 | 5.88% / 72.1% | 9.71% / 79.0% |
结论:三种打分方案的前 30 名全部跑输"主榜全买"基准。样本仅 7 个交易日且处于强势市场,不能定论,但方向明确:现行排序(传导档优先 + 冷 + 便宜在这段样本里把好票往后排了。B 绝对档界方案在三者中最好。155 桥 data/score_lab/对比_2026-07-29_2026-08-14.csv
### 1.3 平台侧评价:从未做过
- 六个因子已在因子平台注册factor_type=single但注册描述停在 07-30 口径gate 描述写"赛道闸未启用"、score 写"档位×10",与现行代码 ×20 及赛道已启用不符)。(平台 /api/v1/mining/factors/all
- 平台评价任务共 4 个,零 akg。设计 v2.0 §10 判收要求的 RankIC/分层仪表盘从未兑现。(平台 /api/v1/evaluation/tasks
- 平台 8 月底刚完成"复合因子诊断与改进"两阶段修了量价数据硬伤、股票池过滤stock_filters、实盘口径打分器与超额评分、次新股隔离、双重复权、行情缓存。平台自家四个神经网络复合因子已于 08-03 停用,实盘不再消费。平台下一阶段路线第 2 项就是"单因子底账跑批 39 份",第 4 项是"底账解读后挑组合成员训练新组合"。quant_factor_service/第二阶段收工记录_20260831.md
- 平台根因清单对我们同样是镜子无超额概念、无股票池过滤、无行业市值中性化、缺失值填零、ST 数据断供gp_stock_st 三月起无真值;桥的 ST 闸按简称识别,不受影响)。
### 1.4 上游约束的真实状态
README"已知的上游约束"三条在基座侧已全部修掉传导候选不再截断transmission.py 无 quiet[:12])、成员查询加 ORDER BY 且 cap=200graph_store.topic_context、行情快照日可钉死hotspot._latest_mkt 带 trade_date。桥日志里的硬伤告警是 7 月底旧日志。README 该节待改。
### 1.5 底座数据资产的实机量级09-02 读数)
- 文本语料没有实时进粮:公告 48,395 份,最新披露日 07-20、最新入库 07-26、近 30 天入库 0研报 455 份,最新披露日 07-14、近 30 天入库 4年报类型 140 份,最新 06-10。事件断言 38.3 万条全部来自公告,最新披露日 07-20近 30 天零新事件——事件因子60 交易日衰减窗正在自然归零。documents、claims 实机统计)
- 行情侧每日更新mkt_daily 个股每日约 3,768 只(覆盖池口径,累计 4,688 只07-10 起),字段含 pct_change、price、net_amount、net_d5_amount、net_z、buy_lg、buy_lg_rate、heat、heat_chg、accum吸筹、total_score概念 387、行业 90lead_stock、net_amount、net_buy、net_sell。一致预期 2,287 只有覆盖25,419 行带目标价rating_dist 有评级分布。
- 断言 357 万条:子公司 129 万、持股 74 万、供应关系 SUPPLIES_TO 39 万、事件 38 万、产品 30 万、概念 19 万、行业 10 万;环节归属 IN_SEGMENT 事实 5.2 万 + 研报提名 1.27 万(其中 80% 带链修饰DRIVES 逻辑论断 7 千(研报);链序 SEGMENT_UPSTREAM_OF 6.8 千。
- 信号密度受硬顶封死:热点扫描有七路异动源(板块、概念、行业、个股四路行情,事件一路,盘中资金告警与资金强度两路),每路取前 8 条;实测近期每天只出五路各 8 条共 40 条——板块路因上游表空缺、事件路因近三十天零新事件而缺席。传导候选每日固定 25 条avg_moved 0.01~0.19quiet 成员 250~600 人/日。盘中资金告警与资金强度流已经以"异动源"身份进了盘后热点识别(雷达层,数据源盘点 §5.3)。
- 决策系统对桥候选的转化:池内 461 只,夜间推理后 BUY 6、WATCH 455风控卖出信号为空。188:38000 /api/pool
### 1.6 边界铁律(方案不得越过)
- 三层边界:基座只暴露数据不打分;桥算因子;平台管评价决定用不用。总目标"找到产业链传导逻辑标的"横跨三层,此前没有跨层输出级判收,"平台的评价数从没回到开发环路里"。docs/系统设计与核心思路.md §一)
- 应用层北极星四条用户主线 L1 研报→产业逻辑、L2 个股→业务、L3 热度变动→预测将热的链涌现主入口、L4 一致预期→贵贱判断永远留给人不打分主题必须涌现不硬编码。M-C 深度增强图谱增量可见化、brain 旁批、一致预期定向补拍未启动。docs/涌现式应用层重构设计.md
- 骨架分层主线08-12骨架层冻结版本化、成员层核实/提名分档、动态层只读骨架、骨架外降档服务。
- 数据源纪律:决策系统的盘中实时分布 API 与 Mongo 分钟级明确"不碰"盘中热度表暂不接。docs/数据源盘点.md §5
### 1.7 底座信号资产盘点要点(探索代理报告,出处见括号)
盘前链北京时间周二至周六06:10 环节投影 → 06:20 行情与一致预期快照06:35 备拍)→ 06:40 热点扫描(五源:板块/概念/行业/个股 行情三路 + 事件 + 盘中资金流两路)→ 06:50 传导扫描 → 07:00 日报。桥 07:10 接。注意代码 docstring 与前端空态文案仍写 18:00 系列旧时刻tasks.py:554、main.py:288/301/483、HomeView.jsx:453
底座当前没有任何盘中实时产出:唯一读盘中流的代码 store/flow_alerts.py 只被盘前 06:40 的热点扫描调用,作为"昨日异动源";盘中热度流未接;端点池与判定档只是模型算力调度,不产信号。
**写了没人读 / 只在页面展示 / 没进因子或决策链路的资产(新应用原料库):**
- 吸筹清单 accum决策系统评分今日页最显眼一节桥零消费无 t_factor_akg_accum。
- 主力净额 z 值 net_z落库无渲染无下游。
- 机会线索(还没涨 / 还便宜 / 估值低于同链 / 传导指向chainmap 规则初筛只存旁批文本,判定本身不落库不进视图。
- 热点候选台账 hotspot_candidates无对应因子视图不进因子。
- 链序投影 v_factor_segment_edges只被诊断与冻结脚本读六个因子无一使用。
- 侧写层 IN_SEGMENT_PROFILE 等约 3.5 万条公司自述边:只被进度脚本计数,年报核实比对的设计意图尚无消费代码。
- 供应关系 SUPPLIES_TO 39 万条:用于遍历、级联、传导折算,未因子化。
- 桥节点 /graph/bridges、级联 cascade、链切片 chain_lens、框架层 /frames前端零调用或不进任何链路。
- 运营日报 ops_digest全库无 SELECT。争议裁决 /disputes/resolve 是 TODO 桩。
- 事件断言 qualifiers 含 event_type 十类闭集、amount、ratio、directionDRIVES 边含 direction/mechanism/condition/horizon/strength。
### 1.8 传导信号的有效性检验09-02 自做实证,基座库)
取 08-11 至 08-25 共 11 个扫描日,每天传导预测指向的全部"未动成员"(每日 212~416 只),算后 5 个交易日累计涨幅,与同期全池(约 3,700 只)均值比:
| 扫描日 | 未动成员数 | 未动 5 日收益 / 命中 | 全池 5 日收益 / 命中 | 超额 |
|---|---|---|---|---|
| 08-11 | 337 | 2.18 / 59.3% | 1.95 / 58.4% | +0.23 |
| 08-12 | 280 | 3.83 / 16.1% | 3.43 / 17.8% | 0.40 |
| 08-13 | 254 | 1.76 / 33.5% | 1.05 / 38.2% | 0.72 |
| 08-14 | 313 | 2.24 / 23.6% | 1.16 / 34.7% | 1.09 |
| 08-17 | 212 | 4.73 / 17.0% | 4.08 / 19.0% | 0.65 |
| 08-18 | 307 | 5.02 / 18.9% | 2.43 / 35.2% | 2.59 |
| 08-19 | 416 | 0.62 / 56.3% | 2.00 / 69.2% | 1.39 |
| 08-20 | 380 | 2.15 / 68.4% | 1.83 / 67.6% | +0.32 |
| 08-21 | 404 | 1.49 / 60.1% | 2.09 / 69.6% | 0.60 |
| 08-24 | 370 | 4.12 / 81.4% | 4.08 / 82.0% | +0.05 |
| 08-25 | 406 | 2.10 / 65.0% | 2.75 / 74.0% | 0.65 |
11 天里 8 天超额为负,均值约 0.68 个百分点,命中率也普遍低于全池。与 1.2 的对比器读数互相印证。
按传导强度分组(同一样本,加 10 日期限10 日样本因数据截止只覆盖到 08-18 的扫描日):
| 源数 | 链符 | 样本 | 5 日超额 / 跑赢比例 | 10 日超额 / 跑赢比例 |
|---|---|---|---|---|
| 1 源 | <10 | 346 | +0.41 / 49.1% | 0.71 / 41.0% |
| 1 | 10 | 269 | 0.73 / 38.7% | 0.86 / 37.5% |
| 2 | <10 | 156 | 0.65 / 42.3% | 0.83 / 41.0% |
| 2 | 10 | 153 | 1.27 / 41.2% | 2.41 / 29.4% |
| 3+ | <10 | 56 | 1.19 / 41.1% | 2.28 / 28.6% |
| 3+ | 10 | 300 | 1.00 / 35.7% | 3.38 / 24.0% |
传导越强源数越多链符越高超额越负持有越久越差
同一目标环节内"已动成员""未动成员"对照08-11 08-18 六个扫描日10 日期限已动成员 213 个样本5 日超额 2.6010 5.22跑赢比例 16.4%未动成员 1,664 个样本5 0.8310 2.0533.1%环节全体 888 个样本1.63 / 3.99结论不是"未动的是弱者"而是被传导指向的环节整体在随后一两周走弱已动成员回落最狠未动成员反而相对抗跌可能的解释是时序错位题材传导在异动当日或次日盘中已完成盘前计划出来时已是尾声或回调期贝塔8 月中旬样本正处回调热过的环节回落大于全池)。
扩样本到 07-29 08-26 全部 18 个扫描日5 日期限"全池后 5 日涨跌"分环境
| 市场环境 | | 扫描日 | 样本 | 组内 5 日收益 | 全池 5 | 超额 | 跑赢比例 |
|---|---|---|---|---|---|---|---|
| 全池上涨周 | 已动成员 | 13 | 452 | +5.24 | +3.44 | **+1.80** | 55.3% |
| 全池上涨周 | 未动成员 | 13 | 3,666 | +2.79 | +3.26 | 0.48 | 39.5% |
| 全池下跌周 | 已动成员 | 5 | 169 | 6.23 | 2.83 | 3.40 | 23.1% |
| 全池下跌周 | 未动成员 | 5 | 1,366 | 3.49 | 2.34 | 1.15 | 39.7% |
**这组读数把结论钉死**"未动成员"在两种环境下都稳定小幅跑输全池跑赢比例始终四成——当前选股的核心筛选是一个稳定的轻微负信号不是样本期偶然同环节"已动成员"是高贝塔动量——上涨周大幅跑赢下跌周大幅跑输——说明传导对环节的定位有信息量"挑未动补涨"这一步把信息量丢掉了市场环境是第一位的解释变量环境闸全池转弱时不出手本身就是最大的改进项改进方向应从"补涨轮动"转向"环节定位 + 动量确认 + 环境闸"与设计 §9-9"还没热"改成条件项的思路一致
### 1.8b 桥四档的前瞻收益09-02 自做实证21 期历史计划全量口径16 个有后 5 日数据的扫描日)
| 档位 | 样本 | 组内 5 日收益 | 全池 5 | 超额 | 跑赢比例 |
|---|---|---|---|---|---|
| 强传导送决策系统池与 PMS 候选的那一档 | 785 | +0.46 | +2.50 | **2.04** | 33.4% |
| 弱传导 | 564 | +1.80 | +2.20 | 0.39 | 39.2% |
| 无传导主榜大头 | 6,364 | +2.36 | +2.36 | 0.00 | 42.1% |
| 观察档无券商覆盖但在赛道或传导链上 | 10,824 | +2.34 | +1.82 | **+0.52** | 46.0% |
档位排序与实际前瞻收益完全倒置排最前进末端链路的强传导档跑输最多被定义为"低置信"的观察档是唯一正超额的一档必须同时说明口径局限样本仅一个月市场环境偏小票强势比较基准是覆盖池而非全市场没有做市值中性
观察档拆分同一样本观察档·仅在赛道无覆盖无传导指向 8,692 样本超额 **+0.68**、跑赢 46.9%观察档·有传导指向 2,132 样本超额 0.14跑赢 42.5%强传导参照 2.04。**观察档的正超额全部来自"无券商覆盖的赛道小票"是小市值贝塔而非选股能力传导指向这个信号在任何档位都是负贡献。** 市值中性复核可做桥的行情表 gp_day_data 没有市值列但有 amount turnoverrate流通市值可按"成交额除以换手率"推算平台诊断文档同款口径)。
### 1.8c 吸筹评分的前瞻收益09-02 自做实证07-29 至 08-26 共 19 个快照日,覆盖池内)
| 吸筹状态决策系统评分 | 样本 | 组内 5 日收益 | 全池 5 | 超额 | 跑赢比例 |
|---|---|---|---|---|---|
| 明确吸筹·量在价先 | 3,311 | +3.54 | +1.95 | **+1.58** | 50.6% |
| 潜在吸筹·低位企稳 | 4,614 | +2.31 | +1.72 | +0.59 | 46.8% |
| 其他信号不明无迹象 | 1,404 | +1.78 | +1.69 | +0.08 | 45.7% |
| 高位派发 | 89 | +3.81 | +2.24 | +1.58 | 48.3%样本太小不作数 |
**这是全部实证里唯一稳定为正、且分层单调的信号**明确 > 潜在 > 其他)。它来自决策系统的资金结构评分,目前只在今日页展示,不进任何因子、不进任何链路。同时要注意 1.9 的反差:强传导档九成三处于吸筹状态但超额 2.04,说明"传导指向未动成员"这个负信号强到能压过吸筹的正信号,两者不宜做交叉标注,吸筹应作独立因子。
市值中性复核桥容器跨库计算流通市值按成交额除以换手率推算同日三分位分桶超额改为相对同市值桶均值19 个快照日 9,418 样本):
| 吸筹状态 | 样本 | 相对同市值桶超额 | 相对全样本超额(不中性) |
|---|---|---|---|
| 明确吸筹 | 3,311 | **+0.58** | +0.56 |
| 潜在吸筹 | 4,614 | 0.20 | 0.22 |
| 其他 | 1,493 | 0.69 | 0.59 |
市值桶本身的贝塔:小盘 +0.30、中盘 +0.17、大盘 0.47(小票强势期确认)。**结论:明确吸筹的正超额不是市值贝塔,中性后不变;按市值桶看,大盘股里的明确吸筹最有效(+1.29,跑赢 50%),中盘 +0.38,小盘 +0.10。潜在吸筹中性后转负,此前的正超额只是小票贝塔。** 因此因子化的信号口径应收窄为"明确吸筹"一档。剩余局限:一个月样本、评分是每股近 30 天最新一条可能陈旧。
### 1.8d 传导环节成员按"已启动 × 吸筹 × 环境"交叉09-02 自做实证07-29 至 08-26环境按事后未来五日全池涨跌分
| 是否已启动 | 吸筹状态 | 环境 | 样本 | 5 日超额 | 跑赢比例 |
|---|---|---|---|---|---|
| 已动 | 明确吸筹 | 涨周 | 73 | **+4.33** | 67.1% |
| 已动 | 潜在吸筹 | 涨周 | 69 | **+4.00** | 65.2% |
| 已动 | 其他或无数据 | 涨周 | 310 | +0.72 | 50.3% |
| 未动 | 明确吸筹 | 涨周 | 316 | +0.38 | 43.4% |
| 未动 | 潜在吸筹 | 涨周 | 195 | 1.04 | 37.9% |
| 未动 | 其他或无数据 | 涨周 | 949 | 0.62 | 38.3% |
| 已动 | 明确吸筹 | 跌周 | 30 | 3.74 | 16.7% |
| 已动 | 潜在吸筹 | 跌周 | 27 | 5.74 | 22.2% |
| 已动 | 其他或无数据 | 跌周 | 112 | 2.74 | 25.0% |
| 未动 | 明确吸筹 | 跌周 | 93 | 2.35 | 26.9% |
| 未动 | 潜在吸筹 | 跌周 | 110 | 4.13 | 21.8% |
| 未动 | 其他或无数据 | 跌周 | 360 | 1.61 | 28.9% |
**这是全部实证里最强的组合**"环节被传导指向、成员已启动、且处于吸筹状态"在顺风环境下五日超额四个百分点、跑赢三分之二。已启动但没有资金进的只有 +0.72;未启动的即使明确吸筹也只有 +0.38。任何组合在逆风环境下都为负,已启动的跌得更狠。这正是"模拟一个人选股"的规则雏形:看环节、挑已启动且资金在进的、只在顺风时出手。样本一个月、部分格子样本不足百,结论限于方向。
**纯可交易口径(不分环境、不预测环境,全样本合并)**这才是新规则能不能立住的根据同一样本5 日与 10 日期限):
| 是否已启动 | 吸筹状态 | 5 日样本 | 5 日超额 / 跑赢 | 10 日样本 | 10 日超额 / 跑赢 |
|---|---|---|---|---|---|
| 已动 | 明确吸筹 | 103 | **+2.18 / 54.4%** | 95 | **+1.94 / 50.5%** |
| 已动 | 潜在吸筹 | 96 | +1.39 / 54.2% | 88 | +0.46 / 44.3% |
| 已动 | 其他或无数据 | 428 | 0.15 / 43.7% | 361 | 0.67 / 39.6% |
| 未动 | 明确吸筹 | 409 | 0.26 / 39.9% | 219 | 0.99 / 32.9% |
| 未动 | 潜在吸筹 | 305 | 2.20 / 32.5% | 211 | 3.85 / 21.3% |
| 未动 | 其他或无数据 | 1,325 | 0.91 / 35.5% | 983 | 2.15 / 32.2% |
口径注记:本节与 1.8、1.8b 的收益都从数据日收盘起算、累加后 5 或 10 个交易日的日涨幅,等价于信号日收盘买入,实盘买不到,复盘脚本一律改为次日收盘起算;已动与未动名单按当前投影表的成员集反推,带成员前视,历史日的严格重建要用桥每日冻结的投影快照,冻结不齐的日子标注近似。
三条结论:(一)"已启动"是必要条件——已启动但无资金进的接近零,未启动的一律为负;(二)明确吸筹是放大器,把已启动的从零推到两个百分点,且十日仍在;(三)这条规则不依赖环境预测,是当前唯一可以直接落到候选单上的可交易规则,样本 103 只、约一个月,先作为"确认条件"上候选单并进复盘,不当长期结论。
**分散度检查(必须诚实写明)**:这 103 个样本分布在 16 个扫描日但近一半46 个)来自 08-04 到 08-06 三天,那三天超额 +5.5 到 +6.5、跑赢七八成08-11 之后的每一个扫描日都为负1 到 8。所以合并样本为正是因为样本期里顺风的天数多。这条规则的真实性质是"顺风时的好规则、逆风时的高贝塔",它比"未动"规则好(未动在任何环境都负),但它不免疫环境。落到候选单上时必须标明"顺风策略",仓位由 PMS 按自己的环境判断定。
**"已启动"的代码口径**:传导扫描判定环节成员"已动"用的是 hotspot._movers_set即数据日当日涨幅达到 3%hotspot.py:92-95热点候选的个股源另用 5% 或日终评分 0.9,后者已停更)。所以新规则的准确表述是"环节被指向、当日涨幅已达 3%、且明确吸筹",它的贝塔来源就是这个追涨定义。阈值 3% 是现状口径,不是验证过的最优值。
同一组 103 个样本再切两刀(样本不足百,限于方向):按数据日涨幅分,涨幅 6% 以上的 24 个五日超额 **+6.41、跑赢 75%**,涨幅 3% 到 6% 的 59 个 +1.04、跑赢 51%,另有 20 个因判定时点差异涨幅不足 3% 的 0.58——典型的动量特征,启动越猛的越好,"动量确认"的阈值有上调空间;按券商覆盖分,有覆盖的 83 个 +2.40、跑赢 54%,无覆盖的 20 个 +0.23、跑赢 45%——在这条规则下主榜的覆盖门槛是有道理的,不必为它放松。
**一条时序事实**:决策系统的市场区制快照在每天 08:40 预热落 Redis桥的计划 07:10 生成PMS 08:40 拉计划。也就是说桥 07:10 出计划时区制判断还没算出来;而 PMS 的拉计划任务与决策系统的预热任务同在 08:40且 PMS 带五分钟计划缓存PMS 大概率先拿到空标签并缓存。所以环境判断只能落在 PMS 侧,或者把 PMS 拉计划挪到预热之后,这是第四节的拍板点之一。
### 1.8e 环境闸的预测力检验09-02 自做实证)
上面所有"涨周 / 跌周"分组用的是**事后**的未来五日全池涨跌,不可交易。用可交易的"过去五日全池收益"做环境代理检验预测力07-10 起共 27 个有前后五日的交易日):过去五日涨的 14 天,后五日全池均涨 +1.22、64% 的天数上涨;过去五日跌的 13 天,后五日均涨 +1.97、77% 上涨。**过去五日收益对未来五日没有预测力,方向甚至相反(均值回归)。** 所以"环境闸是最大改进项"这句话要改成:环境是最大的**解释**变量,但可交易的闸还没有找到定义。落地时不能用过去五日全池收益,要另找有预测力的代理并先验证——决策系统已有的市场区制模块(主参考指数跌破二十日均线且缩量或连续破位判弱势,弱势下三条豁免)是现成候选,桥可以只读复用它的判断而不是自己再算一套。样本仅 27 天,这条检验本身也只能说"过去五日收益这个定义不行",不能说"环境不可预测"。
相关系数补充22 个前后数据齐全的交易日):过去五日全池收益与未来五日的相关 0.278;过去十日 0.547(强反向,即均值回归);昨日上涨家数占比 0.015;昨日全池收益 0.120。**所有"看过去涨跌"的可交易定义都不预测未来方向,十日尺度甚至强反向。** 结论落地为两条:(一)环境闸不能作为止血项上线,降级为"待找到有预测力的定义再验";(二)候选单上先只做"环境标签"的展示与复盘分组(用事后环境做复盘归因是合法的,用它做交易前置不合法),闸的定义留给复盘闭环跑出读数后再拍。
### 1.9 吸筹清单、决策系统买入信号与桥名单的交叉09-01 截面,不带主题限额的全量口径)
- 主榜 520 只的档位构成:强传导 70、弱传导 52、**无传导 39877%**——主榜大头是"有覆盖、在赛道、预期空间不为负"但没有任何传导指向的票,只靠"冷加便宜"排序。
- 吸筹状态分布(决策系统评分):潜在吸筹·低位企稳 255、明确吸筹·量在价先 203、信号不明 109、高位派发 14、无迹象 13。明确或潜在吸筹的 471 只里235 只在主榜、55 只在强传导档、73 只在观察档、163 只不采纳。强传导档 70 只里有吸筹数据的 58 只中 54 只处于吸筹状态93%)。图谱传导与资金结构两个独立系统指向同一批票。
- 决策系统池 461 只180 在主榜、70 在观察档、211 来自其他分组。夜间推理后买入信号 6 只3 只在强传导档(排名 19、21、42、1 只弱传导、1 只观察档、1 只不采纳。强传导档的买入转化率约 4%70 只里 3 只是池整体1.3%)的三倍——末端的买入判定与桥的强传导档正相关。
### 1.10 桥六因子口径与开放问题要点(探索代理报告)
- 事件因子 akg_event 只注册、完全不参与 gate 与 score设计把它放在第二阶段的负面否决闸未做。极性表与半衰期仍是草案§9-5 开放)。
- gate有覆盖但预期空间低于负容忍线的票直接判 0不降观察档风险闸最后一刀。赛道闸开关 ENABLE_TRACK_GATE 仓库默认 0、生产 .env 已开(实况主榜 520 且标"在赛道内".env.example 与下游对接说明仍是"未启用"口径。
- score 主榜段:强弱传导按当日 log1p(传导分) 的组内中位数切(相对阈值,逐日漂移);组内分 0.6·z(−热度) + 0.4·z(预期空间),裁到 ±9.9;观察档 0.6·z(传导) + 0.4·z(−热度)。对比器 B 方案(传导分绝对阈值 1.0 切档)在三方案中最好。
- 计划装配:主题限额 5"无传导"票共享同一个限额桶;每股只留最强一条传导证据。入池:先筛强传导档再截前 POOL_TOP决策系统夜间扫描读 Mongo 分组并集PMS 建仓直接调 /plan 取前 PMS_PLAN_TOP_N。
- 覆盖锚是最大损耗G1 实测覆盖池 2,391 只里无券商覆盖 1,596 只67%);预期空间是 90 天全部研报简单平均,不按机构去重不加权。
- 十条赛道:核聚变、商业航空航天、通信、算力、人工智能、低空经济、脑机接口、氢能、深海科技(无任何图谱锚)、固态电池;四层 layer 未落地;锚质量审计发现宽主题在放人进主榜(宁德时代记成算力),降级剔除未拍板。
- 仍开放的9-1 热度翻转从未正式关、9-3 估值 q 分位、9-5 事件极性、9-7 传导缺失日的落库规则未强制、9-9 "还没热"改条件项、传导过期快照的采信规则(当前全量采信只告警)、**板块级异动源缺失gp_sector_daily 与 gp_market_sentiment 空表README 明写"要提传导覆盖优先补它,比调任何参数都有用",至今未解决)**、G4 回填与仪表盘未完成、GRU 复活条件≥1 年传导 live 史)。
- 桥无任何盘中逻辑,全部日频盘前批处理。
### 1.11 决策系统与 PMS 的消费链路(已知部分;下游缺口清单待探索代理补)
- 桥入池:先筛强传导档再截前 POOL_TOP写 Mongo 股票池分组 AKG_PLAN含每票 score、tier、upside、theme、plan_date 的上下文写完触发决策系统增量补扫pool.py push。决策系统每晚认知扫描读全部分组并集每票产出评述、信号BUY/WATCH 等)、形态、预测曲线、支撑压力位,落 strategy_daily_results。
- 决策系统对外接口策略池、单股详情、风控卖出信号、盘中研判闸pms_judge 走大模型定性仲裁、pms_exec 纯代码秒回)、盘中告警按票或按持仓查询、日报。盘中告警与资金强度两条流是决策系统侧产出,基座只在盘前当"昨日异动源"消费。
- PMS 建仓不读 Mongo 池,直接调桥 GET /plan 取主榜按分数前 PMS_PLAN_TOP_N 名做下单候选PMS 有自动闸(提到"无盘中买入信号")与人工裁决。桥入池时首选从 PMS 账本 pms_position 读回持仓(持仓永不出池),说明 PMS 持仓已有回流通道,成交与收益是否回流待核。
- 吸筹评分的消费现状:基座今日页消费它(落在 mkt_daily.metrics.accum没有评分日桥零消费。
- 池深不变式POOL_TOP 必须不低于 PMS_PLAN_TOP_N对接说明 §7
下游链路探索代理补充核实09-02
- PMS 取候选的真实口径:每交易日 08:40 调桥 /plan请求 top=300、obs_top=100、theme_cap=999 让上游不裁剪;本地筛选链是剔已持仓、剔黑名单、剔 ST判据只有 name 列,上游不剔)、只留档位为"强传导"、再过最低分数、最低源数、最低预期空间、本地每主题限 5 只、按分数降序取前 30PMS_PLAN_TOP_N=30。**PMS 的下单候选百分之百来自强传导档。** 送研判闸的字段只有 price、score、theme、tier、upside、heat、plan_rank、plan_bucket、plan_src、sector 与盘中买入信号——计划行里新增的证据字段可以经这条路进入研判提示。桥若改档位语义PMS 的档位白名单、最低源数等参数必须同步改。
- 决策系统夜间扫描读 Mongo 股票池时取全部分组并集、丢掉分组编号,它自己分不清哪些票来自桥;盘中白名单另起任务重建。
- 接口层缺口:/plan 无版本戳,同日重算多版时下游分不清拿的是哪一版;桥已实现升降档字段但 PMS 的解析代码不读它决策系统的资金强度流当前只留痕不触发任何动作夜间结果表会被盘中补扫就地改写参考位漂移PMS 设了 3% 漂移熔断)。
- PMS 不回写上游,是桥主动读 PMS 持仓账本 pms_position成交与收益没有回流通道。PMS 自己有动作账本 pms_action_ledger含"拒了的后来涨了多少"的判分事实源)与计划快照 pms_plan_snapshot是候选单复盘的天然终点。
- 三处同源纪律:坏信号集合 {SELL, AVOID, DROPPED} 在桥 pool.py、决策系统 pms_advisor.py、PMS rule_gate.py 三处写死改一处必须三处同改09-02 起桥内归一到 card.pypool.py 从它引用)。
- PMS 运行参数实读09-02参数表 pms_runtime_paramPMS_PLAN_TOP_N 运行值为 **100**08-17 由用户改,代码默认 30 已被覆盖PMS_AUTONOMY 为 fullPMS_OPEN_AUTONOMY 不在表里、走代码默认 full新建仓全自动已拍板改为 propose_only。桥生产旋钮 POOL_TOP=50、POOL_MAX=100、赛道闸开启。**池深不变式"POOL_TOP 不低于 PMS_PLAN_TOP_N"现在不成立**50 对 100主榜第 51 到 100 名的强传导票 PMS 能买、却不在夜间分析池,这正是对接说明第 7 节讲过的缺口,参数被改大后又出现了。处置列入第五项入池联动:要么 POOL_TOP 提到 100夜扫时长翻倍要么 PMS 候选深度回到 50由用户拍板。
### 1.12 平台评价接口的可行性09-02 核实)
平台 POST /api/v1/evaluation/tasks 一次调用即可建评价任务:参数 task_name、factor_codes列表、start_date 与 end_date或给 market_statuses 自动取近一年、exclude_st、可选指数与行业范围auto_run 默认真,自动走 B 到 D 环节,结果含 factor_code、forward_period、ic_mean 与 IC 序列backend/app/api/v1/endpoints/evaluation.py:70-100schemas/evaluation.py:18-54。限制六因子的因子表历史只有 07-29 起约五周传导不可回填评价样本极短heat 与 event 可用 build history 回填更长历史upside 需先做 asof 重建。
## 二、现有选股的改进方案(以主观选股为目标)
### 2.0 一句话结论
传导把"该看哪个环节"定位对了,"在环节里挑还没动的补涨"这一步挑错了。改法是把桥从"打分排序器"改成"候选卡装配器":每天出一份带理由的候选单,规则只有三条硬门槛、一条确认、三条硬风险;公式、档位、六张因子表一律不动,只加字段。评价只认候选单复盘,不认 IC。PMS 的候选来源要等样本外复盘过线才切换。
三条硬门槛是:所在环节当日被传导指向;成员当日已启动(数据日涨幅达到 3%,与热点扫描同口径);有券商覆盖、预期空间不低于负容忍线、非 ST 与退市族。一条确认是:决策系统的吸筹评分为"明确吸筹",且评分不超过三十个交易日。三条硬风险是:决策系统昨夜给出卖出、回避或剔除信号;传导快照日与计划日不符;吸筹评分为"高位派发"。三条门槛全过、无硬风险、确认成立,判为"候选";只差覆盖一项或缺确认,判为"关注";其余"仅展示"并标明未过项。
这条规则的依据是 1.8d:合并样本五日超额 +2.18、十日 +1.94是唯一在两个期限都超过一个百分点的规则。它的局限也要写在结论里逐日看只在顺风日为正8 月 11 日之后的每个扫描日都为负;未做市值中性;一个月样本。所以它先作确认条件上候选单并进复盘,不当长期结论。
### 2.1 诊断:按一个人盘前的六步看,哪一步错了
1. 感知环境现在没有这一步。环境是第一解释变量但可交易的定义还没找到1.8、1.8e)。
2. 看昨天什么在动七路异动源里板块路与事件路缺席1.5)。而且已启动的成员只能从投影表反推,因为传导视图只展开未动名单。
3. 沿链想下一个受益环节:这一步有信息量,但方向随环境——被指向环节的已动成员上涨周超额 +1.80、下跌周 3.401.8)。
4. 在环节里挑公司:方向挑反了。现行只取未动成员,未动在两种环境下都跑输,强传导档 2.04 是四档最差1.8、1.8b)。已启动的成员因为传导视图不给它证据行,反而落成"无传导档"。
5. 写候选卡:现在的产物是分数不是理由。"冷加便宜"的组内排序在七个交易日的样本里把好票往后排1.2不能定论吸筹评分落库无人读1.7PMS 的下单候选百分之百来自强传导前三十1.11)。
6. 复盘从未做过。计划接口无版本戳决策系统分不清桥的票PMS 不回写1.11)。
### 2.2 先止血:五项用法改动,公式不动
先说与第四节拍板一的对照。拍板说"先建对比器与归因脚本再拍口径",本方案用一个复盘脚本承接两者:对比器的"多份名单比较"和归因的"分组"都在复盘脚本里,原对比器停用,避免两套工具两种口径。拍板说"强传导档降为关注环节",分两步落地:第一步在计划文本层加"关注环节"一节、候选单单列;第二步 PMS 切换来源,等第五节的结论纪律过线另拍。
**第一项,候选单落快照并带版本戳。** 做什么:计划步骤除 Markdown 外落一份当日 JSON含主榜与观察档全部行和每行的全部证据线文件头带生成时刻与代码版本。计划接口对主榜与观察档的装配、排序、裁剪逻辑一字不动只把判决、理由、缺失、风险、卡内序按代码从当日快照联进每一行顶层加生成时刻、代码版本、环境段三个新键快照缺失时新增字段为空、其余照旧。为什么PMS 拿到的是 08:40 实时装配的结果,与 07:10 落盘的可能不同PMS 的对接文档记过同日两版榜首换人的实例);复盘要有确定的对象,桥必须自己留痕,不能指望决策系统分辨来源。改哪里:桥的计划装配、入池、接口三处;接口改动要重启桥容器才生效。拍板点:环境标签的 08:45 追加任务走统一调度平台还是宿主定时任务;代码版本若读不到(桥镜像没装 git用解析仓库文件还是宿主传环境变量。
**第二项,基座只加三张只读视图。** 做什么:已动成员视图(被指向环节的投影成员减去未动名单,只认环节类目标,连接键按投影表的原名)、环节日行情视图(按投影把个股行情聚成环节行,只给原始值)、个股日行情视图(涨幅、主力净额异常值、热度变化三列)。为什么:第一张补上"已启动成员拿不到传导证据"的结构缺口,没有它 1.8d 的组合在候选单上拼不出来;第二张是一个人盘前先看的板块榜;第三张给候选卡供数据日涨幅。改哪里:三张视图放独立的 SQL 文件,用桥的建视图命令以属主账号执行,基座零代码;避开早上六点十分的投影窗。拍板点:历史日的已动名单从当前投影反推带成员前视,桥每日冻结的投影快照若不齐全,缺的日子用当前投影反推并标注,是否接受。
**第三项,候选卡与判决。** 做什么:桥新增一个纯函数模块,输入各证据线,输出判决与四个列表(理由、缺失、风险、卡内序),规则就是 2.0 的三门槛一确认三风险候选行的主题与源数从已动成员视图填目标环节卡内按判决再按数据日涨幅排不算总分Markdown 加"候选单"与"关注环节"两节候选单不受裁剪参数影响。吸筹的评分、状态、评分日三项从决策系统夜间结论表直接读桥已有只读连接因为基座落库的版本没有评分日。为什么1.8d 的组合之外再加新鲜度、覆盖、坏信号、快照日四道过滤;覆盖暂留为门槛,因为 1.8d 里有覆盖的 +2.40、无覆盖的只有 +0.23;确认线只认明确吸筹,因为潜在吸筹市值中性后转负、十日期限明显弱。改哪里:桥新增模块与离线单测、计划装配、两个旋钮(启动阈值默认 3%、评分日龄默认三十日)。拍板点:两个旋钮保持默认,等样本外读数再拍,不在历史样本上挑参数;赛道闸目前是一道隐性门槛,是否放开、放开后候选总体怎么定。
**第四项,环境标签:桥出标签,只展示与分组。** 做什么:计划接口加环境段,含状态、数据日、八个指数里弱势的个数、来源、降级标记、写入时刻;每张卡加板块环境。来源默认请决策系统加一个只读的日频区制接口,桥经 HTTP 读当日快照接口未就绪前若要临时直连决策系统的信号库只读一个键、不复用连接且这是重建镜像级别的改动。07:10 构建时快照必为空08:45 追加一次。取不到即空不拦任何票。为什么过去五日收益无预测力1.8e决策系统已有带迟滞的区制判断复用它避免桥再造一套、且与下游口径一致标签有没有预测力由第五节的过线条件验证。拍板点接口还是临时直连弱势日的定义八指数弱势个数达到几个或逐票按主参考指数判必须在首份周报前锁定写进台账板块映射怎么取PMS 拉计划要不要挪到预热之后;拍板二里"弱环境不加新票"是否正式退役为"只展示"。
**第五项,入池与 PMS 联动分三步。** 第一步本期只加字段:股票池上下文每票加来源标记与卡片摘要;另加一个低优先级切片,让"门槛全过但缺评分"的关注票入池,当晚获得评分,否则复盘缺评分是环状依赖。第二步复盘读数齐后,入池改为"候选优先、再按强传导档补足到池深"。第三步 PMS 解析判决与理由按桥给的卡内序排切换参数集与回退方式写在附录。为什么已启动成员现在不经桥入池只有经其他分组进了决策系统池才有评分覆盖不稳定桥先切入池评分才能覆盖候选PMS 后切。拍板点切片本期上线还是请决策系统对缺评分的关注票现算PMS 新建仓自主档若现值为全自动,是否先改为"只提议"作止血(零代码、一键回退);切换日。
### 2.3 候选卡的证据线(来源与角色)
| 证据线 | 来源 | 角色 | 缺失时的文案 |
|---|---|---|---|
| 环节被指向:目标环节、源数、链符、路径 | 传导视图加已动成员视图 | 门槛 | 无传导,仅展示 |
| 已启动:数据日涨幅 | 个股日行情视图 | 门槛 | 无行情 |
| 环节启动情况:已动比例、涨幅中位、领涨者 | 环节日行情视图(派生判断在桥算) | 展示;比例过高标"已普涨" | 省略 |
| 吸筹:状态、评分、评分日 | 决策系统夜间结论表,桥直读 | 确认,只认明确吸筹;高位派发为硬风险 | 无评分(未入池)、陈旧 N 日 |
| 券商覆盖与预期空间 | 一致预期视图 | 门槛;超过 +100% 标噪音 | 无券商覆盖 |
| 主力净额异常值、热度五日变化 | 个股日行情视图 | 展示 | 基线不足 |
| 事件与公告 | 事件视图 | 展示 | 披露线停粮至 07-20 |
| 决策系统昨夜结论:信号、支撑压力位 | 决策系统夜间结论表 | 展示;坏信号为硬风险 | 无夜间结论 |
| 环境:全市场与板块 | 决策系统区制快照08:45 落快照 | 展示与复盘分组 | 空 |
| 判决、理由、缺失、风险、卡内序 | 桥候选卡模块 | 输出 | 理由为空即告警 |
| 版本:生成时刻、代码版本 | 计划装配 | 复盘对账键 | 不允许缺 |
### 2.4 复盘闭环:这个系统唯一的评价方式
评价单位是候选单,不是因子。全部只读。复盘脚本不提供权重参数,只提供分组与期限,防止复盘变成调参或模拟交易。名单级观察收益,不建仓、不计成本、不定仓位。
六份名单并排:生产名单(以 PMS 的计划快照名册为准,即 PMS 实际拿到的候选)、候选单、关注单、环节名单(被指向环节全体成员等权,用来把"定位对"与"选票对"分开)、主榜等权、全池等权。起点价一律取数据日次日收盘。期限五、十、二十日。指标是命中率、相对全池与主榜的超额、跑赢比例。分组包括:环境(事前线上标签一栏、事后五日全池涨跌一栏,事后只做解释)、判决与各证据线、吸筹三态与评分日龄、高位派发、标签是否降级、源数、锚类型、是否在赛道内、市值三分位、"在另一环节仍是未动"的已启动票。
漏斗五段候选、夜间定性、PMS 三闸(规则闸、研判闸、人工裁决)、成交、结果。被 PMS 拒绝的票不算反事实交易,只作一份"被拒绝名单"与其他名单同口径算名单级超额。案例级每周九只生产名单里最好三只、最差三只、被拒后涨最多三只每只一段写清为什么进候选、决策系统怎么判、PMS 有没有动、五日与二十日结果、哪条理由兑现,兑现先机判再人批注。
数据落点:桥的每日计划快照、每周五的复盘报告与明细文件、一份"复盘决定台账"记每条规则改动的日期、内容、依据、预期、复核日期。周报六节:候选单读数、漏斗、分组、案例、台账对表、拍板建议(只列读数与选项,不改任何东西),随周五的四维读数同批发出。与决策系统自己的反思闭环并排不混算:它评自己的判断、基准上证指数;我们评候选单与漏斗、基准覆盖池等权。
样本纪律:分组样本少于一百只或覆盖扫描日少于二十个,只看方向;口径切换的总样本少于六十个计划日只写方向;一个月样本不写成长期结论。
### 2.5 明确不做的
不做历史模拟交易(不建仓、不计成本、不定仓位、不算净值)。不做因子合成、不做 IC 与单调性评价、不提交平台评价任务、不把选股结果列入平台组合成员;六个已注册因子请平台侧在底账跑批与组合成员候选里排除 akg 前缀项,若接口支持则由桥把注册状态改为停用。不改传导公式、档位切分与分数编码。不用过去五日收益做环境闸。桥不在生产路径上自算区制。不把吸筹与传导合成一个分数,候选是逻辑判断不是分值。不做自动调参。不改决策系统以标记桥来源的票,不让 PMS 回写上游,不改 PMS 的研判键。事件否决闸、供应关系公司级传导、神经网络合成因子复活(作废)、任何盘中逻辑与分钟级数据,全部不做。
### 2.6 两周执行顺序
本周09-02 至 09-06回炉重建占用队列不动生产、不动桥仓库。只做四件只读核实桥冻结清单里代码版本是否可读、冻结的投影快照从哪天起齐全、入池两个旋钮的生产现值、PMS 对外端口),核对 09-02 三组实证的原脚本并把起算价与前视注记补进第一节,开发机写候选卡模块、单测、三张视图 SQL、复盘脚本。周五只发四维读数。
09-06 周日重建图谱、09-07 周一判读接投影照旧。
09-08 周二盘后桥机建三张视图需同意避开六点十分155 拉代码后重启桥容器(需同意,避开七点十分);上线快照、版本戳、候选卡、环境标签、访问日志,入池旋钮保持现状。向平台侧发出 akg 前缀因子不参评的说明。PMS 行为不变。
09-09 至 09-10复盘脚本跑全史对账只为复现第一节数字证明口径一致不产出新参数下的读数核对候选数与 PMS 拉取。
09-11 周五:第一份正式周报,只给方向读数与拍板选项。
09-14 起:不动入池顺序、不动 PMS 参数、不动两个旋钮,都按第五节的样本门槛另定日期。可做的:环境标签接口就绪后接入、平台侧排除确认、公告进粮立项。
**进度台账09-02 当日)**已完成并推送——候选卡模块与单测card.py、test_card.py、三张只读视图 SQL 并已在基座建成(用户同意提前,九张 v_factor 视图齐全、版本号解析version.py、取数层sources.py、环境标签regime.py、test_regime.py、计划装配联入候选卡与当日 JSON 快照、接口顶层新键与访问日志、调度 regime-append 步骤、入池来源标记与切片旋钮默认关、复盘脚本第一版plan_review.py决策系统只读区制端点已提交并在 188 热加载生效(返回 08-31 数据日、八指数弱势四个PMS 新建仓自主档已改为只提议。实机验证155 一次性容器生产容器与目录未动09-01 数据日候选 0、关注 3、仅展示 1191档位表里"被指向且已启动"只有三只且全缺明确吸筹,与 1.8d 的规模一致。待办09-08 生产上线155 拉代码、.env 加 REGIME_API_URL=http://192.168.16.188:38000/api/v1/market/regime、重启桥容器需同意、平台 XXL 新建 08:45 任务 steps=regime-append复盘脚本对账与首份周报PMS 计划深度 100 对入池 50 的不变式失衡待拍板。
### 2.7 向下兼容承诺与核对清单PMS 在生产运行)
前提09-02 用户补充PMS 目前只做模拟盘,且只部署在 155 服务器。涉及 PMS 的部署、参数改动、验证一律只在 155 做。09-02 已按拍板把新建仓自主档从全自动改为"只提议"(参数表写入,回退即设回全自动)。
承诺桥的所有改动默认向下兼容PMS 不改一行代码也照常运行。确需改 PMS 的部分,在 tradingSystem 仓库协同修改,动之前先重建哨兵断言登记清单,切换前后各留一份计划快照,参数可一键回退。
已核实tradingSystem/app/services/plan_feed.pyPMS 解析计划应答按字段名逐项取值,只读顶层的 date、counts、heat_date、market_snapshot_days、theme_cap、encoding与每行的 rank、code、name、score、heat、upside、tier 及 evidence 里的 theme、n_sources、moved_ratio顶层与行内的未知键一律忽略。新鲜度只看 date。候选筛选只留档位为"强传导"的主榜行观察档没有档位、由单独开关控制。PMS 的计划快照表pms_plan_snapshottradingSystem/app/repo/pms_repo.py 第 747 行起)存的是它自己按已知字段重新序列化的名册(代码、名称、名次、分数、档位、热度、桶)与一份元数据,不是原样存整包,桥新增的字段不会进入它的快照,写入无影响。
改动分三类。
纯增量、PMS 零感知行内新增判决、理由、缺失、风险、卡内序顶层新增生成时刻、代码版本、环境段Markdown 新增"候选单"与"关注环节"两节PMS 只读 JSON桥落快照与访问日志基座三张只读视图复盘脚本股票池上下文加字段PMS 不读 Mongo 池)。
PMS 可见但不触发行为变化:给"已启动但无传导证据行"的票填目标环节与源数——只填空值、不覆盖已有值;这些票的档位仍是"无传导"PMS 的档位白名单把它们挡在候选之外,本地主题限额与最低源数过滤不受影响。档位、分数、排序一律不动。
三,需要 PMS 协同修改(拍板后才做,在 tradingSystem 仓库改):第五项第三步的候选来源切换(按判决取候选、按卡内序排,参数集见附录 B可选的新建仓自主档改"只提议"(运行时参数,零代码)。
上线当天的核对清单(桥机 155PMS 与桥同机PMS 自带的计划探针脚本拉一次计划合格候选数与改前一致PMS 计划快照当日写入正常PMS 日志无解析告警;桥访问日志里 08:40 那次请求的应答含新增顶层键。
## 三、现有数据与信号的新应用方向(主观选股的工具箱)
### 3.1 推荐顺序
相对拍板三的顺序,新增"环节启动全景"与"环境标签验证"两项排在公告进粮之前,理由是它们不依赖文本进粮、量级小,请确认。
**第一,候选单复盘闭环。** 回答上周的名单值不值得看PMS 拒掉的后来怎样哪条理由兑现。用二十一期计划、因子表、行情表、PMS 快照与账本、决策系统结论表、冻结的投影快照。落桥只读脚本,三到四人日。判收:复现 1.8b 与 1.8d 的数字作对账,周五出六节周报。第一步:桥容器只读探针五张账本表是否可达。
**第二,吸筹确认线。** 回答:候选里主力已在吸的是哪些、评分新不新鲜。用决策系统夜间结论表里的吸筹块,桥已有只读连接。落桥卡片,作证据线不作因子,一人日。判收:卡上有状态、评分、评分日,复盘按状态分组复现 1.8c 的方向。第一步:只读探查该表最新两行的吸筹块。
**第三,环节启动全景。** 回答:今天哪些环节被指向、动到什么程度、谁领涨。用传导台账、投影表、个股与行业行情。落基座两张只读视图加桥"关注环节"一节,一到两人日。判收:视图成员数与传导台账成员数对账,只对真差异要求为零。第一步:基座机只读跑一条对账 SQL。
**第四,环境标签验证。** 回答:按事前线上标签分组后,候选单读数是否不同。用决策系统区制规则与快照、指数日线。落桥只读脚本,两人日。判收:第五节的过线条件。第一步:近似重建 07-10 起的标签,只用于与线上标签的一致率核对与复盘分组。
**第五,公告实时进粮。** 回答:今天有什么新披露。一个人每天要读披露,现在三路语料全停。落基座采集任务,三到五人日。判收:公告最新披露日回到前一交易日、近七日入库大于零、卡片事件线不再显示停粮。第一步:来源与频控拍板,回炉后立项。
**第六,行情侧两条展示线。** 一致预期变动(目标价先按机构去重取中位,压掉 +181% 极值,再看五日与二十日变化;逐机构目标价不在基座库,去重要么基座同步任务加一列、要么桥直读原表,二选一);主力净额异常值(已落库无人读)。各一人日以内,只展示。
**第七,次日盘前预案。** 回答:明早每张卡盯什么价位。用决策系统夜间支撑压力位与基座盘前已落库的昨日异动源产物,桥不直连任何盘中流。两到三人日。前置:先问 PMS 与决策系统会不会读,不读不立项。
### 3.2 候选全表
| 应用 | 回答什么 | 落层 | 量级 | 前置 |
|---|---|---|---|---|
| 候选单复盘闭环 | 名单值不值得看 | 桥只读脚本 | 3~4 人日 | 快照先落 |
| 吸筹确认线 | 谁在吸、评分多新 | 桥卡片 | 1 人日 | 评分只覆盖池内票,切片先拍 |
| 环节启动全景 | 哪个环节在动、谁领涨 | 基座视图加桥 | 1~2 人日 | 避开 06:10 |
| 环境标签验证 | 按事前标签分组读数是否不同 | 桥脚本 | 2 人日 | 来源拍板、弱势日定义先锁定 |
| 公告实时进粮 | 今天有什么新披露 | 基座采集任务 | 3~5 人日 | 回炉后、来源合规 |
| 一致预期变动 | 目标价在升还是降 | 基座同步任务或桥视图 | 1~2 人日 | 去重来源二选一 |
| 主力净额异常 | 净额对自己是否异常 | 卡片展示 | 半人日 | 单日噪音大 |
| 次日盘前预案 | 明早盯什么 | 桥计划段 | 2~3 人日 | 下游确认会读 |
### 3.3 不建议现在做或先解决前置
平台评价闭环整条作废;吸筹因子化改为确认线;事件否决闸等进粮;供应关系公司级传导等传导新用法复盘出方向再评估;热点台账作证据线等板块级异动源空表补上再评估;神经网络合成因子复活作废;盘中热度表、实时分布接口、分钟级数据、决策系统盘中告警流不碰。
## 四、拍板点与拍板记录
**拍板记录2026-09-02 对话拍板,三项均选推荐):**
1. 方向:接受传导用法从"补涨轮动"改为"环节定位、启动确认、资金确认";先改用法不改公式——强传导档从"买入候选"降为"关注环节",先建复盘闭环,读数齐了再逐项拍口径改动。
2. 环境闸桥出环境标签PMS 读字段定仓位。**拍板后实证修正1.8e**:用过去涨跌定义的闸没有预测力,标签当前只作展示与复盘分组,不作交易前置;"弱环境不加新票"挂起,是否正式退役见本节新增拍板点。
3. 新应用顺序:平台评价闭环作废;候选单复盘闭环、吸筹确认线排最前,公告进粮在回炉之后立项,行情侧两条展示线同批。
**新增拍板点的拍板记录2026-09-02 方案批准后对话拍板,均选推荐):** 08:45 环境追加任务走统一调度平台新建任务;代码版本解析挂载进容器的 .git 文件冻结快照缺失的四个计划日07-29、08-07、08-10、08-20用当前投影反推并标注近似两个旋钮保持默认、赛道闸保持开启环境标签来源为请决策系统加只读日频接口就绪前标签为空弱势日定义为八个指数里弱势个数达到三个环境闸只展示与分组、不动 PMS 定时、"弱环境不加新票"退役缺评分的关注票走低优先入池切片。板块映射代定主板只出全市场标签科创板与创业板出板块标签依据是桥没有市值列、逐票主参考指数要等接口返回。补两条PMS 新建仓自主档现在就改为"只提议"作止血(运行时参数,零代码,一键回退,由用户在 PMS 侧操作);新应用顺序同意把"环节启动全景""环境标签验证"插在公告进粮之前。
**本轮新增拍板点(原清单存档):**
1. 快照与版本08:45 环境追加任务走统一调度平台还是宿主定时任务;代码版本读不到时用解析仓库文件还是宿主传环境变量。
2. 视图与历史重建:冻结投影快照缺失的日子用当前投影反推并标注,是否接受。
3. 候选卡两个旋钮(启动阈值 3%、评分日龄三十日)保持默认等样本外读数;赛道闸是否放开。
4. 环境标签来源选决策系统加只读接口还是临时直连一个键弱势日的定义指数弱势个数达几个或逐票判在首份周报前锁定板块映射怎么取PMS 拉计划是否挪到预热之后;"弱环境不加新票"是否正式退役为只展示。
5. 入池与 PMS缺评分的关注票走入池切片还是请决策系统现算PMS 新建仓自主档若为全自动是否先改"只提议"作止血PMS 切换日与切换参数集(附录 B。PMS 侧任何改动一律在 tradingSystem 仓库协同修改动之前先重建哨兵断言登记清单2.7)。
6. 新应用顺序里把"环节启动全景""环境标签验证"排在公告进粮之前,是否同意。
## 五、验证(每项改动的输出级判收,命令标明机器)
- 快照与版本戳(桥机 155用户 factor`docker compose exec -T akg-factor-bridge python run.py plan` 后当日 JSON 存在,主榜与观察档条目数等于计数字段;`curl -s 'localhost:8300/plan?top=1'` 含生成时刻与代码版本且版本不为 unknownJSON、接口应答、PMS 计划快照三处"主榜与观察档代码集合"一致;构建失败日接口仍可用且应答标明实时装配。
- 三张视图(基座机 178用户 tlai容器内 psql 只读):视图上线日起每个扫描日,已动成员视图的成员总数与传导台账的成员总数对账,差异分"截断"与"真差异",只对真差异要求为零;环节日行情视图最新日环节数等于投影表;个股日行情视图最新日行数等于行情快照当日个股数。
- 候选卡(桥机 155`curl -s 'localhost:8300/plan?top=300&obs_top=100&theme_cap=999'` 每行含判决、理由、缺失、风险、卡内序;候选行全部已启动且明确吸筹、硬风险为空;候选数等于 Markdown 候选单条数;开发机 `python3 test_card.py` 打印 ALL OKPMS 拉取后候选池数量与改前一致(用 PMS 自带的计划探针脚本核对)。
- 环境标签(桥机 15508:45 后接口的环境段状态为正常且数据日为上一交易日PMS 08:40 那次拉取看到的状态从桥的访问日志读;来源不可达时为空且候选单不变;线上标签可用率(最近十个交易日非空不少于八天)上线满十个交易日后读。过线条件:按事前线上标签分组,弱势日的候选单与生产名单五日超额和命中率都低于非弱势日、方向稳定、弱势日不少于二十个,三条同时满足才标"已验证"并建议 PMS 启用,否则只展示。
- 复盘脚本对账实测09-02155 一次性容器,桥版本 ff2a201信号日收盘起算、五日、07-29 至 08-26 共 16 个有数据的计划日,全程四分钟):**对账通过**。按样本加权列(与手工同口径)四档读数与 1.8b 逐位一致——强传导 785 样本 2.04、跑赢 33.4%;弱传导 564 样本 0.39、39.2%;无传导 6,364 样本 0.00、42.1%;观察档 10,824 样本 +0.52、46.0%。全池按吸筹三态与 1.8c 对上:明确吸筹 +1.64、跑赢 50.7%(手工 +1.58、50.6%,样本期差三个快照日),潜在 +0.63,其他 0.15。生产名单PMS 快照名册628 样本按日等权 2.02、跑赢 33.9%。
**一条必须写进首份周报的读数**候选单历史重建46 样本、11 个计划日)按样本加权 +4.56、跑赢 69.6%,按计划日等权只有 +0.35、跑赢 43.1%——正收益几乎全部来自候选多的那几天08-04 一天 17 只),候选只有一两只的日子普遍不好;关注单按日等权 1.94、按样本加权 +0.75,同样高度集中。复盘主口径定为按计划日等权(一天一票,更保守),样本加权只作对账。这与 1.8d 的分散度检查互相印证:候选卡是顺风策略,不免疫环境。
- 复盘脚本(桥机 155`docker compose exec -T akg-factor-bridge python plan_review.py --since 2026-07-29 --horizons 5,10,20` 分两步。第一步对账:按第一节补记的口径,强传导档 2.04、观察档 +0.52 与 1.8b 对上,偏差不超过 0.05 个百分点;已启动且明确吸筹 +2.18 用冻结投影或 09-06 前导出的投影复现,做不到就放宽为同符号、量级差不超过 0.5 并打印成员差异数。第二步常规口径(次日收盘起算),两组并列写进首份周报。之后每周五产出复盘报告六节齐全,漏斗条数对得上 PMS 账本当周新建仓动作;跨系统联表的代码格式与交易日历匹配率低于九成五就停。
- 入池切换(拍板后,桥机 155`docker compose exec -T akg-factor-bridge python run.py push-pool --dry-run` 打印候选数、补足数、两边前三十的交集数;池内含 PMS 当日候选全部代码;池总数不超过池上限;入池的候选次日全部有评分。
- PMS 切换(拍板后,桥机 155PMS 计划探针脚本输出等于桥候选单减持仓、黑名单、ST主题按环节落桶切换前读自主档现值切换后 PMS 计划快照名册含判决。
- 平台侧:平台因子列表里六个 akg 项标记为不参评或停用,底账跑批与组合成员候选清单里无 akg 前缀因子。
- 结论纪律口径切换按两栏判断——全样本合并纯可交易口径加事前标签分组事前栏不可用时只看合并样本。两栏各要求候选单五日超额为正且跑赢过半、且不劣于生产名单。事后五日全池涨跌分组只用于解释。切换判据只在候选卡上线日之后的计划日上算样本外1.8d 只作先验引用。样本纪律同 2.4。
## 附录 B · 实现细节(可不读,执行时照抄)
**快照与接口。** 计划步骤写 data/plan/plan_<数据日>.json含主榜与观察档全部行与全部证据线文件头带 generated_at、plan_version、各数据日落 JSON 时不裁剪、不设主题限额Markdown 仍按默认参数。plan_version 先在 155 只读看 data/frozen/2026-09-01/manifest.json 的 git_rev 是否为 unknown桥镜像 python:3.11-slim 未装 git若是则改为解析挂载进来的 .git/HEAD 与 refs 取短哈希,或由宿主任务写环境变量传入。每交易日 08:45 追加一次区制快照进 JSON 的 regime 段(触发走 XXL-JOB 新任务或宿主 crontab `docker compose exec -T akg-factor-bridge python run.py regime-append`)。入池跑完把新进、留池、持仓保留、回收明细追加进同一文件。/plan 的 main 与 observe 仍由现有实时装配产出并按 top、obs_top、theme_cap 裁剪(不改),判决类字段按代码从当日 JSON 联入每行regime 段只读 08:45 落盘那份JSON 缺失时新增字段为空并在应答里标 snapshot=missing顶层加 generated_at 与 plan_versionapi.py 对每次请求记一行访问日志时刻、来源地址、regime 状态、generated_at。api.py 改动需重启桥容器(常驻 uvicorn 无热加载)。
**三张视图。** 放独立文件 sql/astock_kg_card_views.sql不追加进 slot_views那份文件用 DROP 再 CREATE 且含 ALTER整文件重跑会重建生产在用的四张视图。已动成员视图被指向环节只限 target_type 为 Segment的投影成员减去 quiet 名单,连接键 COALESCE(orig_segment_name, segment_name) 等于 target同样剔除复核账本判定不属于本环节的成员带扫描日、目标环节、源数、链符、快照日。环节日行情视图按投影聚成环节行只给成员数、已动数与名单、涨幅中位、每成员涨幅与主力净额列表、热度变化中位"主力净额前两名"与"涨停近似(涨幅超 9.8%"在桥算。个股日行情视图trade_date、ts_code、pct_change、net_z、heat_chg。建视图先干跑 `python run.py apply-views --file sql/astock_kg_card_views.sql --dry-run`,再以属主账号 `-e AKG_PG_USER=<owner> -e AKG_PG_PASSWORD=<pw>` 执行。对账:视图成员总数与 transmission_candidates.members_total 比对,不等的环节按 members_total 口径比(传导扫描的成员集有 cap=200 上限,投影表没有),差异分截断与真差异。
**候选卡模块。** card.py 纯函数加离线单测config 旋钮 CARD_START_PCT 默认 3、CARD_ACCUM_MAX_AGE 默认 30。吸筹三项从 strategy_daily_results 的 raw_logic_json 里 fund_flow 键抽取 score、state、structure、pos_tag评分日取该行 trade_date整数 YYYYMMDD日龄要换算日期后按 gp_day_data 交易日序列计数);该表会被盘中补扫就地改写且无落库时刻列,写成已知局限并在复盘分组标注。候选行的 evidence.theme 与 n_sources 从已动成员视图填,否则到 PMS 会全落进"无主题"桶。硬风险里的坏信号集合 {SELL, AVOID, DROPPED} 三处同源不改。赛道闸现状:候选卡只在主榜与观察档行上算,复盘从已动成员视图单列"被指向且已启动但不在主榜与观察档"的一组量差异。
**环境标签。** regime.py。默认路线决策系统加只读日频接口例如 /api/v1/market/regime返回状态与八个指数明细若拍板则含每票主参考指数桥零依赖。临时路线直连决策系统信号 Redis 只读键 bionic:market_regime:snap:<当日>,需 requirements 加 redis、.env 加四项连接配置、重建镜像(属容器重建,需单独同意并避开 07:10。快照 08:40 预热、三天有效、T-1 口径;预热若早于上游 QRS 产出会带降级标记并每三十分钟自动重算JSON 记 qrs_stale 与写入时刻,盘后再读一次记是否自愈;复盘固定用 08:45 版。历史近似重建只含"跌破二十日线加缩量或连续破位"并复现迟滞,不含决策系统 7 月 20 日起对三个指数并联的动量条件,只用于与线上标签的日度一致率核对(差异超一成不用)与复盘分组列;指数日线表 zs_day_data 先核是否在 153 代理库,不在则脚本放 188 只读跑。决策系统建仓仲裁已有弱市闸三豁免PMS 再按标签缩仓位是否罚两次列拍板。
**入池与 PMS 切换参数集。** pool.py 加 POOL_SOURCE 旋钮(默认现状)与切片旋钮(默认 0POOL_TOP 与 POOL_MAX 的 155 现值先核(仓库默认 20/60对接说明记 50/100池深不变式在对接说明与 config 注释两处相反核实后再写。PMS 切换(拍板后):新增 PMS_PLAN_REQUIRE_VERDICT=候选PMS_PLAN_TIERS 置空PMS_PLAN_MIN_SOURCES 保持 0PMS_PLAN_TOP_N 30THEME_CAP_LOCAL 5候选行主题已填目标环节INCLUDE_OBSERVE False回退为 REQUIRE_VERDICT 置空、TIERS=强传导。切换前干跑核对候选行主题落桶是否按环节、两边前三十交集数;动 PMS 仓库前先重建它的登记清单切换前后各留一份计划快照。PMS 两道不追高闸口径不同(距五日线 6% 会优先挡掉涨幅大的一组;当日涨幅 5% 是执行日盘中口径),候选单读数与成交读数预期背离,漏斗按账本 failed_checks 分开计,是否调闸由 PMS 决定。
**复盘脚本。** plan_review.py 只读;名单六份(生产名单以 pms_plan_snapshot 名册按当日参数重算不可还原项列出并注明pms_action_ledger 的 OPEN 行只作漏斗"进评审"事实源);起点价次日收盘;期限 5、10、20分组列见 2.4;候选卡上线日之后吸筹三项一律取当天 07:10 JSON上线前读结果表并标"可能含盘中改写";被拒绝名单单列且按 NO_CHASE_MA5 与 NO_CHASE_DAYUP 分开计PMS 账本目前无人判分outcome_scored 恒为 0桥不填它的位图。案例九只的兑现机判规则传导兑现指目标环节其他成员后五日等权跑赢全池且本票跑赢环节涨本票不涨记"定位对选票错";已启动兑现指后五日继续跑赢,次日回落吞掉启动日涨幅记"追高失败";吸筹兑现指后五日主力净额累计为正或评分不降档,转派发记"证伪";标签弱势且候选下跌记"标签对",弱势但上涨记"标签误伤"。输出 data/review/复盘_<周五>.md 与 CSVdocs/复盘决定台账.md 记规则改动。