做什么(One-liner)
US 三因子宏观领先指数:INDPRO / UNRATE / FEDFUNDS 分别 z-score 标准化后加权(0.4 / -0.3 / -0.3,负权重 sign-flip),3 月滚动平滑,取最后两期差判断方向(rising / falling / turning),输出方向 + 平滑值 + ad-hoc 置信度。
怎么用
Canvas 拖 macro_cli_v1,无参或填 limit=36(月数)。直接调 GET /mfle/leading-indicators/cli。典型:
→ { direction: "rising", value: 1.82, confidence: 0.95,
as_of_date: "2025-12-01", logic_lineage: [...] }搭配 macro_snapshot_v1(当前体制)+ macro_cycle_v1(周期相位)三件套,形成完整 macro overlay。
核心公式
z_INDPRO = (INDPRO - mean) / std # positive contribution
z_UNRATE = -(UNRATE - mean) / std # sign-flipped (negative weight)
z_FEDFUNDS = -(FEDFUNDS - mean) / std # sign-flipped
cli_raw = z_INDPRO * 0.4 + z_UNRATE * 0.3 + z_FEDFUNDS * 0.3
cli_smooth = cli_raw.rolling(3).mean()
diff = cli_smooth[-1] - cli_smooth[-2]
|diff| < 0.05 → 'turning' (confidence=0.5)
diff > 0 → 'rising' (confidence=min(0.95, 0.5 + |diff|*2))
diff < 0 → 'falling' (confidence=min(0.95, 0.5 + |diff|*2))Rounding 契约:value→4,confidence→2。
假设与适用场景
假设:US FRED monthly only;3 成分固定权重;z-score 标准化;3 月 rolling 平滑;≥5 观察点。
适用:宏观 narrative 方向输入、Canvas 跨资产策略 overlay、教学 demo。
不适用:严格 OECD CLI 复现;非美国经济体;日内信号;需要置信区间的量化决策。
输入 / 输出契约
{limit?=36} → {available, direction, value, confidence, as_of_date, logic_lineage}(available=False 时附 reason)。
已知局限
- 仅美国 3 成分:INDPRO / UNRATE / FEDFUNDS 硬编码,无地理 override
- 简化 z-score vs OECD HP-filter-based:无趋势抽取、无 phase-average-trend、无 component-group 归一化
- 实际是 coincident-ish:INDPRO 与 GDP 同期;真正 leading 需要订单簿 / 期限利差 / 消费信心
- Threshold (0.05) 经验值:无实证校准
- Confidence 公式 ad-hoc:(0.5 + |diff|*2, cap 0.95),非统计置信区间
- Monthly 对齐 ffill+bfill:组件缺数据时向后填充,可能产生伪信号
- 不支持 regime-dependent weight shift
参考文献
OECD (2012) System of CLI + Stock-Watson (1989) New Indexes of Coincident/Leading Economic Indicators + Hodrick-Prescott (1997) business cycles。详见 frontmatter。
Golden Test
tests/golden/fixtures/tier2/macro_cli/,monkey-patched FRED deterministic snapshot。1e-10 tolerance。9 tests:
matches_snapshot— 全输出 byte-equal(rising 情景)determinism— 5 reruns 字节一致rising_direction— 加速扩张 → 'rising' + confidence 0.95falling_direction— 反向(失业升 / 产出降)→ 'falling'turning_direction— plateau 尾段 → 'turning' + confidence 0.5result_structure— 6 固定 top-level keyslogic_lineage_locked— 固定字符串列表unavailable_no_fred— FRED_API_KEY 缺失 → available=False, direction=Noneconfidence_cap— 极端 diff → confidence 精确 0.95
Changelog
- 1.0.0 (2026-04-20) — 首次 Active(Tier 2 batch 7)

