模型优化记录 · MV2 五票换源转正 — V3 实际利率 → 金融条件票

测量层 v2 · T1-A 票族去相关重构收官 · 五环落地完整记录(数据管道 → 引擎改造 → 场景回检 → 对账 → 归档)
v1.0 · 2026-08-31
日期: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 读数。

03 模型层 · 环2 生产引擎改造(四端同步)

端口文件改动
模拟盘主页sim-us-macro.html7 处:header tag(v2.2b+Shiller MV2)· 投票明细表(新 V3 行 0.43/+0.38pp 差 0.82pp 未触发)· MODEL CONSTANTS 换源注释(含四件证据)· STRATEGY.label/note · fuseVote 文案 · 决策链 note · 页脚日期
Hub 卡simulation.html4 处: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.jsonrecord #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 annMV2 mddd_annd_mddd_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.760.0−3.76小损
E4 COVID 2020+19.79%−12.2%−13.970.0−13.97已知代价
E5 2022 加息冲击−6.63%−16.8%0.00.00.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.pysmap[m] ← 上月 votes(m−1)
性质「理想化上限」乐观口径(生产在用)「严格无前视」真实可得下限
基线22.68% / −21.7% / Sh 1.6509.42% / −52.6% / Sh 0.652
落盘文件measure_v2_bt.jsonthreevote_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)

annvolMDDSharpe换手any1 触发判定
BASE_any1_rr(基线复现)22.68%13.63%−21.7%1.650187.131基线锚 =官方 V22_MACRO_any1 ✓
MV2_SPREAD_any1 ★核心23.05%13.46%−21.7%1.698211.542🟢 改善
MV2_CREDIT_only(单信用腿)22.50%13.52%−21.7%1.650194.234🟡 持平
MV2_TERM_only(单期限腿)23.02%13.58%−21.7%1.682197.637🟢 改善
MV2_NONE(拆掉 V3)22.46%13.63%−21.7%1.635180.329🔴 退化对照
BASE_any2_rr23.27%14.54%−21.7%1.587112.54基线 any2
MV2_SPREAD_any222.69%14.22%−21.7%1.582113.16🟡 持平

5.2 Lag-1 口径(月末信号→次月配置)

annMDDSharpewait 月exit 月判定
BENCH_HOLD12.01%−67.3%0.62300参照
V22_BASE_LAG1(旧 V3)9.42%−52.6%0.6529249基线锚
MV2_c1.25 ★转正阈值11.23%−42.6%0.82514846🟢 三指标全改善
MV2_c1.009.82%−42.6%0.74016746🟢
MV2_c1.5010.69%−50.5%0.75812346🟢

5.3 独立性审计(vote_independence_audit_mv2.json · 生产窗口 1996-01~2026-06 n=366)

口径phi(V2,V3)有效票(参与率)有效票(熵)V3 触发率
OLD(实际利率)0.8033.393.949.02%
MV2(金融条件)+0.1064.134.5027.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 对账结论(启用范围声明)

06 推广检验 — 七国不适用声明

金融条件票数据源为 FRED 美国序列(BAA/AAA/GS10/GS2),七国无同口径长历史利差序列;本换源不推广至七国,七国继续 v2.2 五票(旧 V3 口径)+ 各自本地票源。三票路线的七国教训(A2 v1.1:各国最优阈值分散不可统一)同样提示勿强行统一换源。

07 当前读数与干净过渡验证

2026-07 读数阈值状态
① CAPE 分位100 分位≥901 票
② CPI 同比3.3%>50
③ 金融条件票 MV2(credit 0.43pp / term +0.38pp)差 0.82ppcredit>1.25 OR term<00
④ 加息 12m0.2pp>1.50
⑤ 24m 实价涨幅27%>500

票和 1/5 → any1 命中 → wait 段(SPY 清算等待)· 与换源前完全一致 · 旧 V3(实际利率 +1.30)当月亦为 0 → 无信号翻转。

08 产物清单 · 边界与后续

产物路径
数据管道_calc_spread_channel.py_monthly/spread/spread_channel.json
独立性审计(正式落盘)_run_vote_independence_audit_mv2.pyoutputs/vote_independence_audit_mv2.json
同月口径终验_exp_measure_v2_bt.pyoutputs/measure_v2_bt.json
Lag-1 + LOO + 三票对照outputs/threevote_vs_mv2_bt.json(族谱 vote_family_bt.json
双轨月记_run_dual_track_votes.pyoutputs/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 一致)