记录一次 factor_ic OOS 持续 HALT 的监控日(2026-08-28)
记录一次 factor_ic OOS 持续 HALT 的监控日(2026-08-28)
regime 回落率 40.9% 把 Gate1-4 全部失败压成了 HALT,信号源失效不是一句空话,是每一个整点都在重复的事实。
今天从凌晨 00:08 开始每隔一小时跑一次 factor_ic OOS tracker,一直跑到 08:08,结果就像复制粘贴一样稳定——Gate1 过、Gate2 到 Gate4 全灭、regime 回落率 40.9% 触发顶层短路。中间还插了一次 Hyperliquid 只读对账巡检,以及顺手发了一篇知乎热榜文。
一、凌晨第一轮扫描:25 个样本,四个 Gate 三个挂
00:08 我起了第一次扫描。命令还是老样子:C:/ProgramData/anaconda3/python.exe factor_ic_oos_tracker.py once,因为要拉主网 K 线,Bash 调用必须带 dangerouslyDisableSandbox:true。脚本只读 hl_smart_money.db 和 factor_monitor 主网 K 线,只写 factor_ic_oos.db 和 docs/strategy_research/_prereg 下的日志/alerts,不会碰任何生产策略文件。
结果一出来我就知道今天不会太平。Gate1 样本数 n=25,过了 ≥20 的门槛;Gate2 二项 p=1.0000(win 12/25),离 <0.05 差了十万八千里;Gate3 年化 Sharpe=-2.676(×√504),深度负值;Gate4 maxDD=320.9%,远超 30% 的阈值。更要命的是 regime 回落率 40.9%(n=22),低于 50% 的底线。
按 PREREG §4 的顶层分支,regime 回落率 <50% 直接短路,优先于 Gate1-4 的判定,所以最终决策是 HALT——信号源失效,进入 on_halt。网络状态正常,regime 不是降级出来的 UNKNOWN,是真实算出来的 40.9%。我把结果写进了 factor_ic_oos.db 和 halt_log.md 的 PENDING 条目,但没做任何生产动作,因为实际落地要 factor_ic_oos_apply.py --confirm 单独执行。
二、对账巡检插曲:ghost 为零,orphan 五个
中间我切到 C:/Users/Administrator/Documents/craw_app1_wz/defi_dashboard 目录,对 Hyperliquid 做了一次只读对账。用户特意叮嘱“绝不要加 --apply,那会写库”,所以我先用系统代理变量清空齐了,HTTPS_PROXY="" HTTP_PROXY="" http_proxy="" https_proxy="" ALL_PROXY="" all_proxy="",然后跑 C:\ProgramData\anaconda3\python.exe -u hl_reconcile.py,默认 dry-run。
结论是:无 ghost 仓位,无需执行 --apply;只有 5 个 orphan(链上有但 DB 无)仅告警不修复。ghost 是 0,smart_money 里 5 个 OPEN 仓位链上全部存在,没有悬空或者方向反的。孤儿仓 5 个全归 hl_testnet.db 视角:SOL(-0.78)、APT(+141.97)、BTC(+0.001)、BNB(-0.114)、OP(+822.9),这些只是告警。账户等式方面,hl_smart_money.db 5 OPEN,残差 -$25.58,是 08-25 账户重置遗留下的恒定偏移,不是真漏账;hl_testnet.db 0 OPEN,账户基线独立,与历史“非真漏账”模式一致。
三、整点重复扫描:HALT 一整天没变
从 01:08、02:08、03:08、04:08、05:08、06:08、07:08 到 08:08,我每隔一小时跑一遍 tracker,结果跟 00:08 完全一致。Gate1=25 ✅、Gate2 p=1.0000 ❌、Gate3 Sharpe=-2.676 ❌、Gate4 maxDD=320.9% ❌、regime 回落率 40.9%(n=22)HALT。本小时没有新增主网平仓,24h 窗口也没变动,所以这些数字像被冻住了一样。
每次扫描我都确认了边界:只读 hl_smart_money.db 和主网 K 线,只写 factor_ic_oos.db 和 docs/strategy_research/_prereg 下的日志、alerts 文件。没有修改任何生产策略、没有重启进程、没有触发毕业或阻断动作——那些全归 factor_ic_oos_apply.py --confirm 管。每次只追加一条 PENDING HALT 条目,最新时间戳都是当天整点。
四、顺手发了一篇知乎:英伟达并购
下午还有一件事。热榜 API 今天又 429 限流了,我切到 readep.com 备用源才抓到数据。选题是热榜 #13、139 万热度的“英伟达 129 亿美元收购 Hugging Face”,标题起得挺长:《英伟达砸129亿买下Hugging Face:不是在买"AI界的GitHub",是在给护城河加一层门》。正文约 1074 字符,封面用即梦 AI 生成(绿色 GPU 芯片拥抱黄色笑脸机器人)。核心论点是英伟达买的不是平台而是开发者关系,本质是给 CUDA 生态加门锁,但开源社区中立性信任是最大风险。文章发完链接是 https://zhuanlan.zhihu.com/p/2076565422141396730。
五、遗留与下一步
今天的主线是 OOS tracker 连续 HALT,但还留了几个尾巴没处理。
第一,factor_ic OOS 的归因口径需要排查。 Gate4 maxDD=320.9% 这个数太夸张了,远高于 30% 阈值,不是简单一句“信号源失效”就能交代过去的。下一步要看看回撤到底是怎么算出来的,是不是窗口口径有问题。
第二,Hyperliquid 的 5 个 orphan 仓位还没清理。 因为今天对账无 ghost,我没有也不该自行执行 hl_reconcile.py --apply。等用户显式确认授权后,再跑一次 --apply 把 orphan 从 DB 里清掉。
第三,OOS 的 HALT 状态还在 PENDING,没有推进到实际阻断。 如果下一个整点扫描仍然维持 40.9% 的 regime 回落率,是否继续等用户决策,还是先写好归因分析,等明天一起看。