日期:2026-08-31
定位:五票规格变更(动五票级)· 用户决策「MV2转正」
状态:✅ 已转正 · 生产生效(v2.2b+Shiller MV2)
同月口径 23.05% / Sh 1.698(MDD 持平 −21.7%)
phi(V2,V3) 0.803 → +0.106 · 有效票 3.39 → 4.13
LOO 六泡沫样本外 mean +1.73(三票同期 −6.03 被否决)
已知代价:换手 187→211 · COVID 型快熊多亏(E4 d_score −13.97)
数据:FRED GS10/GS2/BAA/AAA + Shiller · 窗口 1996-01~2026-06(n=366)
01 优化概要与转正判定
变更项:宏观五票之 V3 由「实际利率 < −1.0」换源为「金融条件票」——解决 V2(CPI>5)与 V3 同为通胀族投影导致的票间冗余(phi=0.803,名义五票有效自由度仅 3.39)。
V3_金融条件票 = 1 if (BAA − AAA > 1.25pp) OR (GS10 − GS2 < 0pp) else 0
其余四票不动:V1 CAPE分位≥90 / V2 CPI>5 / V4 加息12m>1.5 / V5 24m实价>50
证据① 同月口径 Sharpe
1.698 vs 1.650
ann 23.05% vs 22.68% · MDD −21.7% 持平
证据② Lag-1 口径 Sharpe
0.825 vs 0.652
ann 11.23% vs 9.42% · MDD −42.6% vs −52.6%
证据③ LOO 六泡沫 d_score
+1.73 mean
正案例 3/6 · 增益集中 E1/E2 信用危机
证据④ 独立性 phi(V2,V3)
+0.106 vs 0.803
有效票 3.39 → 4.13(参与率口径)
干净过渡声明:转正首月(读数月 2026-07)新旧 V3 均 0 票——信用利差 0.43pp(阈 1.25pp)、期限利差 +0.38pp(未倒挂)、旧 V3 实际利率 +1.30(未触发)。五票 [1,0,0,0,0],票和 1 维持 wait 段。切换即无信号翻转、无仓位变化——选在风险最低的窗口转正。
02 数据层 · 环1 管道(前序已落盘)
_calc_spread_channel.py → _monthly/spread/spread_channel.json:FRED 月度 GS10/GS2/BAA/AAA(fredgraph.csv,无 key 公开端点)派生 credit_spread(1919-01 起)/ term_spread(1976-06 起)/ vote_series / current 读数。
- No-look-ahead:FRED 月度值当月末可得,与 Shiller long_rate 同口径;管道无数据月 V3 按 0 处理(与回测口径一致)。
- 坑位(已记 skill):双腿单腿缺失时必须
(ts is not None and ts < θ) 防 None TypeError。
- 阈值依据:信用腿 1.0/1.25/1.5 全区间优于基线(T1-A 网格);1.25pp ≈ BAA−AAA 战后中枢 1σ 上方。
03 模型层 · 环2 生产引擎改造(四端同步)
| 端口 | 文件 | 改动 |
| 模拟盘主页 | sim-us-macro.html | 7 处:header tag(v2.2b+Shiller MV2)· 投票明细表(新 V3 行 0.43/+0.38pp 差 0.82pp 未触发)· MODEL CONSTANTS 换源注释(含四件证据)· STRATEGY.label/note · fuseVote 文案 · 决策链 note · 页脚日期 |
| Hub 卡 | simulation.html | 4 处:Hub 卡注释 · cc-note(v2.2b + V3 描述)· 策略③票源 span · 决策链 note(锚 measure_v2_bt.json) |
| 月度双轨 | _run_dual_track_votes.py | 新增 MV2 轨 mv2_votes()(sh_votes 但 V3 换利差 OR);record 新增 shiller_proxy_votes_src4_mv2 字段(含 diff_v3 分歧标记);旧 src4 轨保留作前向对照 |
| 过渡记录 | outputs/dual_track_votes.json | record #2 mv2_promotion:新旧轨并排(均 [1,0,0,0,0])· evidence 四件套 · readings · gap_notes(无信号翻转) |
每日管线保护区确认:_daily_update.py 只读页面 COUNTRY_MODEL.vote 不算票,票值快照在 sim-us-macro.html 静态块——本改造未触碰管线逻辑。
04 环3 · 场景回检 — 六泡沫 LOO 样本外
轮流留出六案例、参数由其余 5 案例校准(网格档位事先固定:mom_thr 40/50/60 × cthr 1.0/1.25/1.5),MV2 vs 换源前基线(threevote_vs_mv2_bt.json loo 节)。
| 案例 | MV2 ann | MV2 mdd | d_ann | d_mdd | d_score | 判定 |
| E1 dotcom 1998-2002 | −1.35% | −42.6% | +5.00 | +10.0 | +14.93 | 增益 |
| E2 GFC 2007-2009 | −1.53% | −25.9% | +3.27 | +4.7 | +8.02 | 增益 |
| E3 2018Q4 | +3.70% | −5.2% | −3.76 | 0.0 | −3.76 | 小损 |
| E4 COVID 2020 | +19.79% | −12.2% | −13.97 | 0.0 | −13.97 | 已知代价 |
| E5 2022 加息冲击 | −6.63% | −16.8% | 0.0 | 0.0 | 0.00 | 同轨 |
| E6 AI 段 2023-2026 | +28.17% | −5.5% | +1.68 | +3.5 | +5.15 | 增益 |
| mean | | | | | +1.73 | 存活 |
机制自洽:增益集中在信用危机型案例(E1/E2)——金融条件票正是为这类场景设计;亏损集中在快熊 V 型反弹(E4:利差尖峰触发 wait、错过反弹)——金融条件票是信用周期探测器,不是流动性危机探测器,此为换源的显式代价,勿在事后单案例上回滚。
同期对照 · 三票缩减路线(T3)被否决:LOO mean −6.03(E3 −27.85 / E4 −16.67 / E6 −5.02),样本外翻车——「去相关靠换源、不靠砍票」由本轮双路线对照定版。
05 环4 · 回测对账 — 双口径
⚠ 口径说明备注(先读再对表)——两套引擎只差一件事:
信号生效时点差 1 个月。
| 维度 | 同月决策口径 | Lag-1 口径 |
| 生效时点 | 信号当月生效(当月判断、当月调仓) | 信号已出、次月生效(当月信号、次月调仓) |
| 代码实现 | 生产 combo_stages_v22 同构:smap[m] ← 当月 votes(m) | _run_vote_family_bt.py:smap[m] ← 上月 votes(m−1) |
| 性质 | 「理想化上限」乐观口径(生产在用) | 「严格无前视」真实可得下限 |
| 基线 | 22.68% / −21.7% / Sh 1.650 | 9.42% / −52.6% / Sh 0.652 |
| 落盘文件 | measure_v2_bt.json | threevote_vs_mv2_bt.json / vote_family_bt.json |
晚 1 个月生效 = 多吃一个危机首月暴跌(如 2008-09 满仓吃下 −11.58%)、晚 1 个月退出 = 少吃一个月反弹——
年化差 13.3pp、MDD 差 31pp 全是这 1 个月造成的,不是策略差异。
对比纪律:任何变体只能与同口径基线比(MV2 同月 23.05% vs 22.68% ✓;MV2 Lag-1 11.23% vs 9.42% ✓);跨口径对比 = 拿尺子比温度计,必出虚假结论。
5.1 同月决策口径(生产 combo_stages_v22 同构,measure_v2_bt.json)
| 臂 | ann | vol | MDD | Sharpe | 换手 | any1 触发 | 判定 |
| BASE_any1_rr(基线复现) | 22.68% | 13.63% | −21.7% | 1.650 | 187.1 | 31 | 基线锚 =官方 V22_MACRO_any1 ✓ |
| MV2_SPREAD_any1 ★核心 | 23.05% | 13.46% | −21.7% | 1.698 | 211.5 | 42 | 🟢 改善 |
| MV2_CREDIT_only(单信用腿) | 22.50% | 13.52% | −21.7% | 1.650 | 194.2 | 34 | 🟡 持平 |
| MV2_TERM_only(单期限腿) | 23.02% | 13.58% | −21.7% | 1.682 | 197.6 | 37 | 🟢 改善 |
| MV2_NONE(拆掉 V3) | 22.46% | 13.63% | −21.7% | 1.635 | 180.3 | 29 | 🔴 退化对照 |
| BASE_any2_rr | 23.27% | 14.54% | −21.7% | 1.587 | 112.5 | 4 | 基线 any2 |
| MV2_SPREAD_any2 | 22.69% | 14.22% | −21.7% | 1.582 | 113.1 | 6 | 🟡 持平 |
5.2 Lag-1 口径(月末信号→次月配置)
| 臂 | ann | MDD | Sharpe | wait 月 | exit 月 | 判定 |
| BENCH_HOLD | 12.01% | −67.3% | 0.623 | 0 | 0 | 参照 |
| V22_BASE_LAG1(旧 V3) | 9.42% | −52.6% | 0.652 | 92 | 49 | 基线锚 |
| MV2_c1.25 ★转正阈值 | 11.23% | −42.6% | 0.825 | 148 | 46 | 🟢 三指标全改善 |
| MV2_c1.00 | 9.82% | −42.6% | 0.740 | 167 | 46 | 🟢 |
| MV2_c1.50 | 10.69% | −50.5% | 0.758 | 123 | 46 | 🟢 |
5.3 独立性审计(vote_independence_audit_mv2.json · 生产窗口 1996-01~2026-06 n=366)
| 口径 | phi(V2,V3) | 有效票(参与率) | 有效票(熵) | V3 触发率 |
| OLD(实际利率) | 0.803 | 3.39 | 3.94 | 9.02% |
| MV2(金融条件) | +0.106 | 4.13 | 4.50 | 27.87% |
口径披露:前序会话临时速算值为 phi −0.01 / 有效票 3.46→4.45,与正式落盘值(+0.106 / 3.39→4.13)略有出入(数据 vintage 差异);phi 旧值 0.803 精确复现、结论方向不变。按「禁止编造数字」纪律,归档一律以 vote_independence_audit_mv2.json 可复现值为准(sim-us-macro.html / _calc_spread_channel.py / dual_track_votes.json 中的引用已同步修正)。
5.4 对账结论(启用范围声明)
- 启用范围:仅 US sim-us-macro 盘(票源④ Shiller proxy 轨),V3=SPREAD_OR(1.25),同月决策口径与生产引擎一致;Lag-1 数字仅作稳健性证据。
- 为何 any2 不启用:any2 门槛下换源无增益(1.587→1.582 噪声级)——金融条件票的增益走 any1 快速降杠杆通道,与「≥2 票才降仓」的慢通道正交。
- MDD 是否劣化:全臂 MDD 均 −21.7%(2008-11)持平,无劣化。
- 代价:换手 187→211(+13%,0.15% 单边成本已含);any1 触发 31→42 次,wait 段 87→129 月——防御更频繁但每次更便宜。
- 双口径勿混:Lag-1 基线 9.42%/−52.6%(vote_family 口径),同月基线 22.68%/−21.7%(生产 combo_stages_v22)——变体对比必须同口径。
06 推广检验 — 七国不适用声明
金融条件票数据源为 FRED 美国序列(BAA/AAA/GS10/GS2),七国无同口径长历史利差序列;本换源不推广至七国,七国继续 v2.2 五票(旧 V3 口径)+ 各自本地票源。三票路线的七国教训(A2 v1.1:各国最优阈值分散不可统一)同样提示勿强行统一换源。
07 当前读数与干净过渡验证
| 票 | 2026-07 读数 | 阈值 | 状态 |
| ① CAPE 分位 | 100 分位 | ≥90 | 1 票 |
| ② CPI 同比 | 3.3% | >5 | 0 |
| ③ 金融条件票 MV2(credit 0.43pp / term +0.38pp) | 差 0.82pp | credit>1.25 OR term<0 | 0 |
| ④ 加息 12m | 0.2pp | >1.5 | 0 |
| ⑤ 24m 实价涨幅 | 27% | >50 | 0 |
票和 1/5 → any1 命中 → wait 段(SPY 清算等待)· 与换源前完全一致 · 旧 V3(实际利率 +1.30)当月亦为 0 → 无信号翻转。
08 产物清单 · 边界与后续
| 产物 | 路径 |
| 数据管道 | _calc_spread_channel.py → _monthly/spread/spread_channel.json |
| 独立性审计(正式落盘) | _run_vote_independence_audit_mv2.py → outputs/vote_independence_audit_mv2.json |
| 同月口径终验 | _exp_measure_v2_bt.py → outputs/measure_v2_bt.json |
| Lag-1 + LOO + 三票对照 | outputs/threevote_vs_mv2_bt.json(族谱 vote_family_bt.json) |
| 双轨月记 | _run_dual_track_votes.py → outputs/dual_track_votes.json(record #2 mv2_promotion) |
| 生产页面 | sim-us-macro.html(v2.2b+Shiller MV2)· simulation.html(Hub 卡同步) |
| 归档 | academic/30-measure-v2-promotion.md + 本页(academic/ + 桌面一式两份,md5 一致) |
- 边界:SH_MONTHS 窗口限制 → V1 票 2006-01 前盲区(引擎隐性特征,两口径共享,22 号页已定版口径);管道无数据月 V3 按 0。
- 后续 · T1-D 双轨续记:每月 append(src4 旧轨 + src4_mv2 生产轨),分歧月看
diff_v3——旧轨保留作前向对照,累计 12 个月后可做前向复盘。
- 后续 · 已知亏损窗口:未来流动性危机型下跌(COVID 类)预期 MV2 比 V3 基线多亏——显式代价,勿单案例回滚。
- 解耦声明:κ(t) 挂载、T2-B E/P 轴票化按 04 路线图独立推进,与本换源解耦。