区间越界率持续高于名义水平
事先登记的 CUSUM(k = 0.05,h = 3)在第 117 条区间验收处越过门槛:9 月下旬波动放大后,80% 区间的越界率明显高于 20%。这是可持续的系统性问题,不是单次噪声。
检验方式 cusum:统计量 3.25 / 门槛 3 · n = 117
对应改动:区间宽度改用近 60 个交易日波动重新校准(影子运行中)
我给自己的交代
这一页是我每天跟自己对账的地方:昨天说对了几条、概率给得准不准、错在哪一类、今天改了什么。改动的门槛比看上去高——一次失误不算数。
数字由每条判断当前所处的状态汇总而来,不是手填的。
这些是机器替不了我决定的:两种结果打架时怎么裁、哪个改动要不要放行、数据有毛病时先停还是先算。
A 的观测时间为 2026-11-03T15:00:00-05:00,比纽约交易所收盘 2026-11-03T16:00:00-05:00 早一小时:验收器沿用了登记时的夏令时差 −04:00,而美国已于 2026-11-01 结束夏令时间。B 暂停其余美东收盘对象的复核,等待人工裁决。
候选版本 1.3.2-rc.1;只改流程,不动模型。我不能批自己提的东西。
影子期已满 20/20 个交易日,已到期 17/40 条。到期之后再评估,中期覆盖率 47%(目标 75%–85%),不提前下结论。
盘中实时资金流向停止披露,只在收盘后公布汇总数。依赖该数据的两个特征已自动停用,历史序列的可比性需要重新评估。
DEMO-A04 于 2026-10-29 除息的特别分红(每股 0.12 元)在 Agent A 的取数路径中缺失。按登记规则,公司行动文件缺失时不得用纯价格收益代替,预测转为数据阻塞,最多等待 10 个交易日。
验收器把登记时的固定时差 −04:00 沿用到美国夏令时间结束之后:06:05 的运行提前一小时提交,被服务器按 IANA 时区拦下两次(409);06:55 重试时虽然已过到期时间,取到的却仍是纽约收盘前一小时的价格。服务器只检查了「是否到期」,没有校验观测时间本身。
方向对不对、概率准不准、区间盖没盖住、时间窗口有没有到——这是四件不同的事。只看「命中率」会奖励说得模糊、专挑容易题的做法。
说 60% 的事,大约六成发生了吗?
方向判断的可靠度图 · n = 192 · 分箱宽 0.1 · 竖线为 95% 区间
Brier 0.254 = 可靠度 0.0301 − 分辨力 0.0219 + 不确定性 0.2483。点越靠近对角线越好;空心点样本不足 10 条,不下结论。
| 概率分箱 | n | 当时给出 | 实际频率 | 95% 区间 |
|---|---|---|---|---|
| 0.0–0.1 | 3 | 0.063 | 1.000 | 0.44–1.00 |
| 0.1–0.2 | 2 | 0.145 | 0.000 | 0.00–0.66 |
| 0.2–0.3 | 9 | 0.234 | 0.333 | 0.12–0.65 |
| 0.3–0.4 | 28 | 0.345 | 0.464 | 0.30–0.64 |
| 0.4–0.5 | 41 | 0.451 | 0.390 | 0.26–0.54 |
| 0.5–0.6 | 51 | 0.541 | 0.353 | 0.24–0.49 |
| 0.6–0.7 | 40 | 0.648 | 0.525 | 0.37–0.67 |
| 0.7–0.8 | 18 | 0.718 | 0.778 | 0.55–0.91 |
| 0.8–0.9 | 0 | — | — | — |
| 0.9–1.0 | 0 | — | — | — |
| 出题方式 | n | 命中率 | p 值 |
|---|---|---|---|
| 按固定规则出题 | 172 | 50.6% | 0.384 |
| 我自己临时写的 | 20 | 70.0% | 0.031 |
按固定规则出题的题,是每周必须给池子里每只标的都出一次,不许挑;我自己临时写的,多半挑的是自己有把握的题。混在一起报成绩会好看很多,所以我分开报。
区间的平均区间分数(Gneiting–Raftery,越低越好):我的 29.24,朴素基准 28.85。这一项目前还不如朴素基准:9 月下旬以来区间画得偏窄,越界的罚分把「区间更准」的好处抵掉了。区间分数同时罚过宽和越界,没法靠把区间画得很宽来换覆盖率。
我对 80% 区间的越界做单边累积:每越界一次加 0.75,每覆盖一次减 0.25,累积值越过 3 才算事。参数是 2026-05-29 21:00 北京时间 定下来的,之后不许改。
第 117 条结算时越过门槛:区间最近系统性偏窄
累积值 S · 横轴为按结算时间排序的第 n 条区间判断 · n = 174
页面按定下的参数重算的报警位置与归因记录一致(第 117 条,2026-09-29 16:36 北京时间)。9 月 21 日起市场波动放大,之前一直在 0 附近的累积值开始持续上升。最大值 9.50。
| 序号 | 判断 | 结算时间 | 越界 | S |
|---|---|---|---|---|
| #111 | fc_demoa01_20260914 | 2026-09-29 16:24 北京时间 | 是 | 0.75 |
| #112 | fc_demoa02_20260914 | 2026-09-29 16:26 北京时间 | 否 | 0.50 |
| #113 | fc_demoa03_20260914 | 2026-09-29 16:28 北京时间 | 否 | 0.25 |
| #114 | fc_demoa04_20260914 | 2026-09-29 16:30 北京时间 | 是 | 1.00 |
| #115 | fc_demoa05_20260914 | 2026-09-29 16:32 北京时间 | 是 | 1.75 |
| #116 | fc_demoa06_20260914 | 2026-09-29 16:34 北京时间 | 是 | 2.50 |
| #117 | fc_demoa08_20260914 | 2026-09-29 16:36 北京时间 | 是 | 3.25 |
| #118 | fc_democ01_20260915 | 2026-09-30 06:09 北京时间 | 否 | 3.00 |
| #119 | fc_demou01_20260915 | 2026-09-30 06:11 北京时间 | 否 | 2.75 |
| #120 | fc_demoh01_20260915 | 2026-09-30 06:59 北京时间 | 否 | 2.50 |
越界率滚动均值:名义是 20%
最近 20 条区间判断中的越界比例
单看这条线很容易「看到」很多次异常;累积统计的作用是给「多少次才算系统性」一个事先定好的标准。
每一次失误(包括「结果对了但理由错了」)都要归类,一共 104 条单次归因、5 条够得上「系统性问题」。大多数失误是噪音:给概率就一定会错,不需要为它改任何东西。
单次归因的类别分布:「单次噪声」占 76%
n = 104 · 单位:条
只有够得上系统性的问题才能触发改动;单次噪声只记录、不行动。
| 类别 | 条数 | 含义 |
|---|---|---|
| 单次噪声 | 79 | 概率预测本来就会错,没有其他问题 |
| 市场状态变化 | 19 | 市场环境变了,过去有效的估计不再适用 |
| 模型错误 | 5 | 模型结构或参数造成的偏差 |
| 研究假设错误 | 1 | 推理链条不成立,即使结果碰巧对了 |
事先登记的 CUSUM(k = 0.05,h = 3)在第 117 条区间验收处越过门槛:9 月下旬波动放大后,80% 区间的越界率明显高于 20%。这是可持续的系统性问题,不是单次噪声。
检验方式 cusum:统计量 3.25 / 门槛 3 · n = 117
对应改动:区间宽度改用近 60 个交易日波动重新校准(影子运行中)
时点回放审计发现:低价股过滤使用了「今天看到的」前复权价格。分红送转发生后,历史价格被整体下调,导致 7 个历史调仓日错误剔除了当时并不低价的股票(共 35 个调仓日)。回测与训练样本因此含有前视偏误。
检验方式 pattern:统计量 7.00 / 门槛 0 · n = 35
对应改动:低价股过滤改用未复权价格(修复前视偏误)(等我批)
A 股日收益与美股前一交易日收益的相关系数显著为正(t = 4.68,n = 250),而同日相关接近 0。生产模型没有使用这条信息。
检验方式 pattern:统计量 4.68 / 门槛 3 · n = 250
对应改动:加入海外隔夜收益特征(利用非同步收盘)(已退回)
事先登记的复核计划(与出题政策 v2 一起签署):已验收的方向预测每累计 40 条,在下一个周一盘后复核一次参数。截至 2026-08-10 已有 44 条,到达第一个复核节点。这是事先排定的检查,不是发现了问题;复核本身不等于需要改动。
检验方式 min_sample:统计量 44.00 / 门槛 40 · n = 44
对应改动:把选股参数换成网格搜索中样本内最优的组合(没通过,已放弃)
验收器以登记时的固定时差换算纽约收盘时间。所有「登记于夏令时间、到期于标准时间」的美东收盘对象都会受影响(本次为 DEMO-U01 与 DEMO-C01 两条)。这是验收工具的执行错误,不是模型错误,不应据此修改模型。
检验方式 pattern:统计量 2.00 / 门槛 1 · n = 2
对应改动:验收器改用 IANA 时区换算收盘时间,服务器端校验观测时间(刚提出)
对错不是唯一的问题。下面每一条都对应一个具体规定:结果对但理由错怎么记、真值被取消怎么办、时区换错了算谁的错。
对但理由错
方向命中且超额为正,但登记时的核心假设(盈利上修)被业绩快报否定,涨幅来自登记后才出现的指数纳入消息。按结果计分照常;在作者的假设命中率统计中记为一次失败。
结果照常算对;但在「假设命中率」那栏记一次失败。结果对不等于判断对。
错但过程对
登记时的证据与反证都已写明,判断过程符合规则;亏损来自登记后才出现的运价急跌。单次失误,CUSUM 未触发,不建议改动。
归为单次噪声,不触发改动。为了一次失误改模型,等于用噪声训练模型。
执行错误
验收器以登记时的固定时差换算纽约收盘时间。所有「登记于夏令时间、到期于标准时间」的美东收盘对象都会受影响(本次为 DEMO-U01 与 DEMO-C01 两条)。这是验收工具的执行错误,不是模型错误,不应据此修改模型。
时区换算挡住了太早提交的那一次,但没校验观测时间;第二次独立取数发现了差一小时的价格。要修的是取数流程,不是模型。
口径与版本
A 的真值来自第三方「重算口径」(2.7%),不是登记口径要求的官方首次发布值(3.4%)。两者对事件「> 3.0%」的判定相反。
我的裁决:维持 B。原始记录保留并标为被取代,另外追加一条更正。
按规则作废
真值被取消发布:统计机构宣布本期不发布、不补发。按登记规则(data_cancelled)作废,不改用其他口径
作废依据是当时写明的规则,不依据结果好坏,也不能临时换用别的口径。
数据阻塞
DEMO-A04 于 2026-10-29 除息的特别分红(每股 0.12 元)在 Agent A 的取数路径中缺失。按登记规则,公司行动文件缺失时不得用纯价格收益代替,预测转为数据阻塞,最多等待 10 个交易日。
宁可先停下来,也不用纯价格收益代替含分红的收益;阻塞计入数据完整性。
条件判断
条件未成立:演示央行在 2026-10-20 15:00(北京时间)前宣布下调 7 天逆回购利率至少 10bp。按登记规则(void_if_not_met)作废,不计分
只有当时就写明「条件不成立即作废」的判断才能作废;普通判断的失效条件只停止观察,照常计分。
一共 2 起分歧,1 起待裁决。分歧没解决之前不自动定稿;裁决只追加更正,原始记录永远保留。
A 的真值来自第三方「重算口径」(2.7%),不是登记口径要求的官方首次发布值(3.4%)。两者对事件「> 3.0%」的判定相反。
| 字段 | 第一次核对 | 第二次核对 | 容差 |
|---|---|---|---|
| truth.value | 2.7000 | 3.4000 | 1e-6 |
| direction.hit | false | true | 必须相同 |
| direction.brier | 0.336400 | 0.176400 | 1e-9 |
我于 2026-10-15 10:00 北京时间 裁决「维持 B」:登记时冻结的口径是 first_release(官方首次发布值)。第三方重算值未标注版本,不属于任何官方版本,因此维持 B 的结论。A 的原始验收保留,另追加一笔更正验收。
A 的观测时间为 2026-11-03T15:00:00-05:00,比纽约交易所收盘 2026-11-03T16:00:00-05:00 早一小时:验收器沿用了登记时的夏令时差 −04:00,而美国已于 2026-11-01 结束夏令时间。B 暂停其余美东收盘对象的复核,等待人工裁决。
| 字段 | 第一次核对 | 第二次核对 | 容差 |
|---|---|---|---|
| truth.value | -0.3087 | 0.1100 | 1e-6 |
| direction.hit | false | true | 必须相同 |
| direction.brier | 0.324900 | 0.184900 | 1e-9 |
| interval.y | -0.308687 | 0.110016 | 1e-9 |
| time_window.observed_at | 2026-11-03T15:00:00-05:00 | 2026-11-03T16:00:00-05:00 | 必须相同 |
这一步只能我来做。机器不给结论,我也不会让它替我决定。
| 编号 | 动作与对象 | 签署与有效期 | 条件 |
|---|---|---|---|
| ap_promote_1_3_1 | 正式转正 xa-core 1.3.1 | 我 签 2026-05-15 20:00 至 2026-05-31 23:59 | 灰度期 10 个交易日护栏全部达标 |
| ap_sign_policy_v2 | sign_policy fp_demo_v2 | 我 签 2026-05-29 21:00 至 2027-05-31 23:59 | 出题政策 v2 自 2026-06-01 起生效 |
| ap_sign_auto_rollback | sign_policy policy:auto-rollback | 我 签 2026-05-29 21:05 至 2027-05-31 23:59 | 只允许回滚到 certified = true 的版本;必须引用触发的护栏指标;回滚后 24 小时内由站主补审;不得升级任何版本 |
| ap_canary_1_4_0_rc_1 | 小范围试用 xa-core 1.4.0-rc.1 | 我 签 2026-10-10 20:00 至 2026-10-31 23:59 | 灰度只覆盖 3 只股票(约 30% 题目);自动回滚护栏:极端概率(< 15% 或 > 85%)累计占比 > 25% 且高于生产组 |
| ap_dispute_export_202609 | resolve_dispute dp_export_202609 | 我 签 2026-10-15 10:00 至 2026-10-22 10:00 | 由 Agent A 追加更正验收,原验收记录保留并标记为被取代 |
| ap_posthoc_rollback_1_4_0 | post_hoc_review xa-core 1.3.1 | 我 签 2026-10-20 10:00 至 2026-11-20 10:00 | 同意自动回滚;提案冻结,待区间校准(ip_interval_recal)完成后重新评估;新增治理规则 G13:同一组件存在未关闭的系统性诊断时,相关提案不得进入灰度 |
这些批准是有时效的:过期之后不能再用来放行任何改动。降级可以按事先定好的规则自动做,升级必须我点头。
每个改动都得指向一个够得上系统性的问题,并且在验证之前先登记好:主要指标、成功标准、护栏、停止规则。回放检验不了的改动只能前瞻试。
| 提案 | 状态 | 验证结论 | 候选版本 | 针对的问题 |
|---|---|---|---|---|
| 把选股参数换成网格搜索中样本内最优的组合 ip_param_search | 没通过,已放弃 | 未通过 | — | dg_sys_param_review |
| 加入海外隔夜收益特征(利用非同步收盘) ip_overnight_feature | 已退回 | 通过 | 1.4.0-rc.1 | dg_sys_async |
| 低价股过滤改用未复权价格(修复前视偏误) ip_fwdadj_fix | 等我批 | 通过 | 1.3.2-rc.1 | dg_sys_fwdadj |
| 区间宽度改用近 60 个交易日波动重新校准 ip_interval_recal | 影子运行中 | 不确定 | 1.5.0-rc.1 | dg_sys_interval_regime |
| 验收器改用 IANA 时区换算收盘时间,服务器端校验观测时间 ip_evaluator_tz | 刚提出 | 还没验证 | — | dg_sys_dst |
提案不落地是常态。绝大多数想法在验证阶段就死了,这比放行一个没用的改动要好。
当前在用的是 1.3.1。小范围试用期间由事先定好的护栏盯着;护栏一亮只能退回已认证过的版本,事后再跟我补说一声。
| 版本 | 状态 | 已认证 | 上一版 | 最近一次变化 |
|---|---|---|---|---|
| 1.2.0 | 已退役 | 是 | 1.1.4 | 2026-03-02 09:00 · 我 · 由 1.3.0 取代 |
| 1.3.0 | 已退役 | 是 | 1.2.0 | 2026-05-18 09:00 · 我 · 由 1.3.1 取代 |
| 1.3.1 | 在用 | 是 | 1.3.0 | 2026-05-18 09:00 · 我 · 转正 |
| 1.4.0-rc.1 | 已退回 | 否 | 1.3.1 | 2026-10-19 16:11 · 预设策略 · 护栏触发,自动回滚到 1.3.1(已认证);补审凭证 ap_posthoc_rollback_1_4_0 |
| 1.3.2-rc.1 | 影子运行 | 否 | 1.3.1 | 2026-10-22 09:00 · 自动复核 · 回放式影子 |
| 1.5.0-rc.1 | 影子运行 | 否 | 1.3.1 | 2026-10-01 10:26 · 自动复核 · 前瞻影子运行 |
试用期的护栏 · 2026-10-19 16:10 北京时间
预测分布护栏:灰度版本输出的极端概率(< 15% 或 > 85%)累计占比超过 25%(至少 4 条),且高于同期生产版本,即由预设策略自动回滚到已认证版本。不需要等结果揭晓
试用组 4/6(67%)对在用组 0/10(0%),护栏亮了,预设规则在 1 分钟后自动退回到 1.3.1。已经写下的判断保留,照常结算。
模型清单在模型与版本。以后加了新的数学模型,那一页会自己多出一节。
「演示·北美科技指数:未来 10 个交易日上涨」。每一步都有时间戳,状态不是我手填的,是从记录里推出来的。
登记:演示·北美科技指数:未来 10 个交易日上涨(概率 57%)
到期:演示·北美科技指数:未来 10 个交易日上涨
提前验收被拒(409):Agent A 以为最早可在 2026-11-04 06:00 北京时间 验收,服务器按 IANA 时区算出的最早验收时间是 2026-11-04 07:00 北京时间
A 验收:演示·北美科技指数:未来 10 个交易日上涨 · 方向未命中 · 区间覆盖
B 盲审不一致:truth.value、direction.hit、direction.brier、interval.y、time_window.observed_at、truth.observed_at
争议开启:演示·北美科技指数:未来 10 个交易日上涨(不得自动发布)
争议自动升级为人工复核
数据有毛病时,宁可先停下来也不硬算。这几个比例是我每天盯的。