做什么(One-liner)
把地缘冲突 rung(1-99+)查表映射到 stylized 风险溢价区间 + 股票冲击范围 + 区域大宗暴露字典。Scenario-analysis 工具,非校准预测。
怎么用
Canvas 拖 b0_escalation_v1,填 rung(必填,整数)+ region(可选,5 个预设 + 'generic' fallback)。输出 ladder_stage + risk_premium bps range + equity_shock % range + region commodity weights。
典型用法:
rung=3, region=hormuz→ conventional stage, rp 80-180 bps mid 130, CL=F 35% / BZ=F 25% / NG=F 15%rung=12, region=black_sea→ nuclear_rhetoric, rp 350-600 bps, ZW=F 25% / ZC=F 15% / CL=F 10%
核心公式
_LADDER_STAGES 查表:
( 1- 5) → conventional rp 80-180 bps eq (-3, +2)%
( 6-10) → hybrid_asymmetric rp 180-350 eq (-8, +4)
(11-15) → nuclear_rhetoric rp 350-600 eq (-12, +5)
(16-99) → tactical_nuclear_extreme rp 600-1200 eq (-35, +10)
其他 → unknown rp 0-100 eq (-5, +5)
REGION_COMMODITY 查表:
hormuz → {CL=F:0.35, BZ=F:0.25, NG=F:0.15}
red_sea → {CL=F:0.12, BZ=F:0.10, shipping_cost_index:0.40}
black_sea → {ZW=F:0.25, ZC=F:0.15, CL=F:0.10}
taiwan_strait→ {SOXX:0.35, EWT:0.20, CL=F:0.10}
generic → {GLD:0.20, TLT:0.15, SPY:0.15}Region 匹配是 case-insensitive + spaces→underscores 正则化。未知 region → generic。
假设与适用场景
假设:4-bucket stylized ladder + 5-region preset + bps/pct 区间为内部 calibration + 区间 inclusive boundaries。
适用:地缘事件 what-if、跨资产 narrative feed、教学 demo。
不适用:实时 nowcast、精确点估计、不在预设 region 清单内的 fine-grained 地理。
已知局限
- 4 bucket 是 Kahn 44-级 ladder 的 coarse 简化
- 5 region 预设(其他 → generic fallback)
- bps / pct range 无外部 benchmark 验证
- rung > 99 安全栏回落 'unknown'(不是 'tactical_nuclear_extreme' 外推)—— 用户必须理解这个约定
- commodity_exposure_weights 总和 <1(剩余 generic)—— 不是 portfolio weights
- region 是 dict lookup(无 fuzzy match)
参考文献
Kahn (1965) On Escalation 原始 ladder framework + Freedman (2013) 现代综述 + Pangura 2026-03 内部 calibration notes(未 peer review)。
Golden Test
tests/golden/fixtures/tier2/b0_escalation/,1e-12 tolerance(exact lookup + integer arithmetic)。7 tests:
matches_reference— 10 scenario × (4 bucket + 5 region + 2 boundary + 2 out-of-range) byte equalitydeterminism— 10 reruns byte-identicalregion_case_insensitive—Hormuz/HORMUZ/hormuz等价space_normalized—red sea→red_sea自动unknown_region_falls_to_generic— safety railbucket_boundaries— rung 5/6, 10/11, 15/16, 99/100 边界 inclusive / exclusive 语义锁定out_of_range_is_unknown— rung=0 / <0 / >99 → 'unknown'(不是外推)
Reference verbatim duplicates both lookup tables → 任何 Pangura 常数 drift 会 fail 这个 golden,强制 reviewer 同步更新。
Changelog
- 1.0.0 (2026-04-20) — 首次 Active(Tier 2 batch 2, rule-based scenario pilot)

