美元流动性 · 研究公式与检验交互图表

美元流动性指数:公式详解与历史数据检验

对国盛证券金融工程《美联储流动性的量价解构与资产配置应用——宏观经济量化系列之五》 (2025-05-19,林志朋 / 刘富兵 / 汪宜生)所构建的「美元流动性扩散指数」的完整逆向工程、 公开数据复刻与独立实证检验。

来源更正:数据底稿文件名标注「天风金工」,但 PDF 正文与文件元数据 (docProps/core.xmldc:creator = yish wang,即研报署名研究助理汪宜生)均指向国盛证券。 下文统称「国盛指数」。底稿创建于 2025-03-27,数据截至 2026-03-20。

所有数字均由 research/usd_liquidity/ 下的脚本实测产出,可复跑。


0. 一页速览

问题 结论
平滑算子是什么 Holt 线性(二次)指数平滑,非 EWMA。周频 α=1/14、β=1/50;日频 α=1/64、β=1/250
有没有前视偏差 没有。平滑单边因果、周频数据周五才生效(周四 16:30 已发布)
指数怎么合成 5 个 ±1 分项 求和后除以 5,缺失分项按 0 计(不是「可用分项均值」)
与美股是什么关系 同步偏滞后。CCF 峰值在 k=−20 交易日,对未来收益相关性≈0
能预警吗 不能。但能削减回撤——因为回撤有持续性,不是因为它有预见性
信号干净吗 不干净。36 次清仓信号 56% 是亏的,中位数 −1.63%
收益从哪来 3~5 次极端事件。剔除最大的 3 次,其余 33 次合计 −18.9%
统计上显著吗 不显著。block bootstrap p = 0.14~0.53
免费能复刻吗 数量维度 100% 精确复刻;市场隐含可代理;预期引导不行

1. 公式详解

1.1 总体结构

美元流动性指数(t) = Σ_{i=1..5} signal_i(t) × 0.2        # 缺失分项 signal_i := 0
signal_i ∈ {−1, 0, +1}                                # +1=宽松, −1=收紧

取值集合 {−1.0, −0.8, …, +0.8, +1.0}——这就是曲线呈阶梯状的原因。

底稿 流动性指数 表的原生公式印证了这一点:

流动性指数!G2 = SUM(B2:F2)
流动性指数!B2 = VLOOKUP(A2, 净流动性!A:G, 7, TRUE)/5

SUM 对空单元格记 0,所以分母恒为 5,而不是当时可用的分项数。 实测:sum(5列, NaN→0) 与总指数一致率 1.0000mean(skipna)0.2112

1.2 Holt 线性指数平滑

研报正文只写「近一年平滑」。实测不是 EWMA、不是滚动均值、不是 HP 滤波,而是 Holt 线性(二次)指数平滑——含 level 与 trend 两个状态:

L[0] = x[0] ,  T[0] = 0
L[i] = α·x[i] + (1−α)·(L[i−1] + T[i−1])        # level ← 这一列就是底稿的「平滑」
T[i] = β·(L[i] − L[i−1]) + (1−β)·T[i−1]        # trend
平滑值 := L

参数(Nelder-Mead 数值精解)

频率 适用分项 α β 近似形式
净流动性、信用支持 0.0713735 0.0198122 α≈1/14, β≈1/50
预期引导、市场隐含 0.0156216 0.0039936 α≈1/64, β≈1/250

日/周参数之比 ≈ 4.6 与 5.0,与每周 5 个交易日自洽。

是怎么定位到 Holt 的:先假设 EWMA,用递推式反解每步隐含 α

α_t = (y_t − y_{t−1}) / (x_t − y_{t−1})

得到的 α 不是常数(首值 0.0374、中位 0.0628)→ 排除一阶 EWMA。 α 随时间漂移意味着滤波器存在第二个状态变量(趋势项)或是双边滤波。 分两路验证:双边路线(HP 滤波 λ∈[10,1e9]、居中滚动均值)拟合很差; 二阶因果路线(Holt)relRMSE 直接降到 0.0028。

同时排除的候选(最好也有 5~15% 相对误差):ewm 的 adjust=True/False × span/halflife/com 各参数、各窗口滚动均值、双重 EWMA、roll→ewm、ewm→roll。

ewm(adjust=True) 可解析排除:其首步隐含 α 应 ≈ 0.5,实测 0.037。

Holt 是严格单边因果滤波器 → 平滑环节不含前视。

1.3 五个分项

① 净流动性(数量维度)

净流动性 = 流通现金 + 存款准备金
signal   = +sign( Holt(净流动性, 1/14, 1/50).diff(13) )      # 13 周 = 1 季度

等价于「总资产 − TGA − 逆回购 − 其他负债与资本」,即基础货币。

② 联储信用支持(数量维度)

基于 Howell (2020) 的抵押品分级:D = 现金/准备金/逆回购,C1 = 中长期国债,C2 = 机构债 + MBS。

流动性供应(D)  = 流通现金 + 存款准备金 + 逆回购
期限转换(C1)   = 所有国债 − 短期国债
信用增级(C2)   = 联邦机构债 + MBS
信用支持       = (C1 + C2) / D
signal         = +sign( Holt(信用支持, 1/14, 1/50).diff(52) )  # 52 周 = 同比

③ 预期引导(价格维度)

signal = −sign( Holt(BloombergFedSentiment, 1/64, 1/250).diff(63) )   # 63 交易日

⚠️ 研报正文与底稿矛盾:正文称「方向为正则认为边际宽松」, 但底稿实际用 −sign(),即 Fed Sentiment 上升 = 鹰派 = 收紧。以底稿为准。 实测:+sign 一致率 0.0000−sign 一致率 1.0000——恰好为 0 而非 0.5, 说明是整列符号反了,不是随机错位。

④ 市场隐含(价格维度)

基于下次 FOMC 会议当月到期的联邦基金期货推算隐含加息幅度:

期货隐含利率 = 100 − 期货价格
会议当月 EFFR 均值 = (d_before·EFFR_now + d_after·EFFR_implied) / d_month
隐含加息幅度 = EFFR_implied − EFFR_now
signal = −sign( Holt(隐含加息幅度, 1/64, 1/250).diff(63) )

⑤ 公告意外(价格维度)

Kuttner (2001) / Jarociński-Karadi (2020) 高频识别:

surprise_FF4HF = 会议 3 个月后到期的 FF 期货,在会议前后 30 分钟的价格变化
signal = −sign(surprise_FF4HF)

底稿原生公式 公告意外!G2 = IF(F2<0, 1, IF(F2>0, -1, 0)),216 次会议 100% 一致、0 例外

数据瑕疵:2017-02 至 2017-09 共 6 次会议的 surprise_FF4HF 是用公式 =D143surprise_FF1(当月合约)拷来的,并非 30 分钟高频值。其中 3 次因 FF1=0 使信号变成 0, 另 2 次 FF1 与 FF4 符号相反。研报正文自己论证过 FF1 有噪声应弃用,缺数时却又用了它。

1.4 日频装配

周频信号 → 日频:以标注的【周五】为生效日,reindex(method='ffill')     一致率 1.0000
公告意外 → 日频:以【会议日(美东) + 2 个日历日】为生效日,ffill        一致率 0.9997

公告意外那个 +2 天来自底稿用 date_CHN(北京时间,带 03:15 时间戳)做 VLOOKUP(..., TRUE) 近似匹配——带时间戳的键要到次日才命中,等价于美东会议日 +2 天。属保守处理。

1.5 完整伪代码

def holt(x, a, b):
    L = np.empty(len(x)); T = np.zeros(len(x)); L[0] = x[0]
    for i in range(1, len(x)):
        prev = L[i-1] + T[i-1]
        L[i] = a*x[i] + (1-a)*prev
        T[i] = b*(L[i]-L[i-1]) + (1-b)*T[i-1]
    return L

A_W, B_W = 1/14, 1/50      # 周频
A_D, B_D = 1/64, 1/250     # 日频

s_nl = +np.sign(holt(净流动性, A_W, B_W).diff(13))
s_cs = +np.sign(holt(信用支持, A_W, B_W).diff(52))
s_eg = -np.sign(holt(FedSentiment, A_D, B_D).diff(63))
s_mi = -np.sign(holt(隐含加息幅度, A_D, B_D).diff(63))
s_as = -np.sign(surprise_FF4HF)

指数 = (s_nl + s_cs + s_eg + s_mi + s_as).fillna(0) / 5

1.6 复现精度

分项 平滑 relRMSE 差分 RMSE 端到端信号一致率
净流动性 2.38e−03 3.5e−12 99.25%
信用支持 4.72e−03 2.8e−15 99.66%
预期引导 1.98e−03 ~1e−14 99.66%
市场隐含 3.71e−03 ~1e−16 99.79%

差分环节是精确解(RMSE≈1e−12~1e−16),不是拟合。平滑残差未到机器精度, 最可能是 H.4.1 事后修订——底稿的平滑列算于更早的数据 vintage。

1.7 前视偏差检验:结论是没有

底稿标注周五,H.4.1 是周三时点——需判定是同周周三还是下周周三(后者即 5 天前视)。 用 FRED WCURCIR 做偏移检验:

Excel周五 + offset → FRED周三 水平值 corr 周度变化量 corr
−9d 0.99997 0.135
−2d(同周三) 0.99999 0.841
+5d(下周三 = 前视) 0.99999 0.767
+12d 0.99996 0.098

关键方法点:水平值在每个偏移上都是 0.9999(强趋势序列),完全无法分辨; 只有周度变化量能分开。结论:同周周三,周四 16:30 发布、周五才生效 → 无前视,且偏保守。

1.8 ⚠️ 结构性缺陷:值域随分项上线跳变

因缺失分项按 0 计而分母恒为 5:

起始日 活跃分项 理论值域
2000-02-04 1(仅公告意外 [−0.2, +0.2]
2002-12-20 3 [−0.6, +0.6]
2009-04-03 4 [−0.8, +0.8]
2015-04-04 5 [−1.0, +1.0]

后果:

  1. 研报图表 36「极度收紧 [−1,−0.6] → 标普500 年化 −14.2%」只可能取自 2015-04 之后
  2. 2000–2002 年的「美元流动性指数」实质等于 FOMC 公告意外的符号,与流动性无关。
  3. 2020 年 COVID 崩盘期间指数从未进入「极度收紧」档(实际只走到 −0.6)。
  4. 任何「2000 年以来」的统计都是 4 个不同指标混合的结果。

2. 数据来源映射

研报全文 47 处「资料来源」全部只写厂商名(Wind 18 次、Wind+Bloomberg 18 次、Bloomberg 8 次), 没有任何一处给出可查询的代码。底稿 46,496 个公式全是内部引用,四个子表是纯粘贴值, 无 Wind WSD() / Bloomberg BDH() 插件公式,即零来源元数据。下表是本项目补出来的。

2.1 数量维度(100% 免费、已精确复刻,MAE = 0)

来自美联储 H.4.1 周报表(周三时点,周四约 16:30 ET 发布)。

底稿字段 FRED ID Fed DDP series 关键说明
流通现金 WLFN RESPPLLN_N.WW 联储票据扣除联储自持。≠WCURCIR(含硬币,差约 42bn)
存款准备金 WLODLL RESPPLLDD_N.WW 存款性机构其他存款。≠WRESBAL
逆回购 WLRRAL RESPPLLR_N.WW 逆回购总额(含外国官方)。≠RRPONTSYD(仅 ON RRP)
所有国债 TREAST RESPPALGUM_N.WW
短期国债 WSHOBL 期限转换 = 所有国债 − 短期国债
联邦机构债 FEDDT 信用增级 = 机构债 + MBS
MBS WSHOMCB
总资产 / TGA WALCL / WDTGAL 交叉验证

与底稿 1213 周逐点比对:5 个核心输入全部 MAE = 0。样本核对(2002-12-20): 流通现金 645.599 / 存款准备金 17.943 / 净流动性 663.542 / 信用支持 0.587536——全部精确吻合。

口径对齐的方法论:不能只看相关系数——常数偏移下相关系数照样 0.9999。 要看 mean(差)sd(差):sd≈0 才是同一口径,只有 mean 偏移说明是「近亲」序列。

2.2 价格维度(部分可代理)

底稿分项 最佳公开代理 原始序列 corr 信号一致率 判定
市场隐含 DGS6MODFF 0.937 83.7% ✅ 可用
市场隐含 DGS3MODFF 0.771 82.9% ✅ 次选
预期引导 DGS2 0.541 71.4% ⚠️ 实测加进去反而拖累
预期引导 NFCI(负) 0.182 50.1% ❌ 等于抛硬币
公告意外 会议日 DGS2 日变化 0.352 52.3% ❌ 无效
公告意外 Bauer & Swanson (2023) MPS 0.824 82.3% ✅ 可用(非实时)
公告意外 Bauer-Swanson ED2 0.801 82.4% ✅ 次选

公告意外的日频代理注定失败:底稿自带的 surprise_FF4(前后 1 天)与 surprise_FF4HF(前后 30 分钟)符号一致率只有 63.4%——日内窗口不可省。 但 Bauer-Swanson 公开数据集可替代(剔除 vendor 恰为 0 的 53 次会议后 n=147)。 该数据集截至 2023-12-13 且非实时更新:可回测,不能盯盘。

小结:回测用途下四项可免费重建,只有 Fed Sentiment 不行;实时盯盘只有三项。


3. 历史数据检验

标的:标普500全收益(^SP500TR)。现金腿:DTB3。 执行:T+1、单边 5bp。区间:2000-02-04 → 2026-07-23。

3.1 领先、同步,还是滞后?

corr(指数_t, 标普500 从 t+k 到 t+k+21 的收益)

k(交易日) −250 −125 −63 −21 −5 0 +5 +21 +63 +125 +250
corr 0.015 0.092 0.012 0.171 0.147 0.127 0.113 0.053 −0.017 0.055 −0.082

3.2 事件研究:7 轮大回撤

前高日 谷底日 跌幅 指数首次转负 相对前高 转负时跌幅已走完 转负后还跌
2000-03-24 2002-10-09 −47.4% 2000-05-18 +55天 12% −44.2%
2007-10-09 2009-03-09 −55.3% 2008-04-04 +178天 21% −49.4%
2015-05-21 2016-02-11 −12.8% 2015-08-03 +74天 9% −11.7%
2018-09-20 2018-12-24 −19.4% 2018-09-20 0天 0% −19.4%
2020-02-19 2020-03-23 −33.8% 2020-02-19 0天 0% −33.8%
2022-01-03 2022-10-12 −24.5% 2022-01-06 +3天 8% −22.9%
2025-02-19 2025-04-08 −18.7% 2025-02-19 0天 0% −18.7%

每轮开始时指数都已是或立刻转为负值,且转负后仍有 −11.7%~−49.4% 下跌空间。 这就是回撤能被削减的机制——靠回撤的持续性,不是靠预见性。

3.3 误报率 vs 无条件基准率

「指数<0」在 2000–2026 共 36 个独立事件段(中位 34 交易日、均值 52、最长 209)。

判据 命中率 无条件基准率 提升
后 126 日内 ≥10% 回撤 53% (19/36) 36% +16pp
后 126 日内 ≥15% 回撤 31% (11/36) 23% +7pp
后 252 日内 ≥10% 回撤 67% (24/36) 54% +12pp
后 252 日内 ≥15% 回撤 42% (15/36) 42% 0pp

3.4 逐次得失分解:这是尾部保险,不是准确信号

对 36 段清仓信号逐次计算「空仓 vs 持股」的得失:

躲对 16 次(44%)
躲错 20 次(56%)
躲对时平均 +9.00%
躲错时平均 −4.63%
中位数 −1.63%
合计 +51.5%

贡献最大的 5 次

交易日 得失
2022-01-06 2022-11-03 209 +26.5%
2001-02-02 2001-03-21 33 +22.9%
2020-01-31 2020-03-13 30 +20.9%
2008-09-18 2008-10-08 15 +17.3%
2000-08-24 2000-11-16 60 +11.0%

这 5 次合计 +98.6%,占全部正贡献的 68%剔除最大的 3 次,其余 33 次合计 −18.9%。

最差的几次(牛市假警报,每次空仓 3~5 个月):2012-11 −11.5%、2016-10 −10.5%、 2009-06 −7.0%、2019-08 −6.9%、2018-12 −6.6%。

这解释了 2009–2015 段跑输基准 −5.69pp/年,也解释了为什么整体不显著。

3.5 择时回测与分期归因

规则:指数>0 持股、<0 持 3M 国库券、=0 维持仓位。

方法论坑:必须先在全样本上算出持仓序列,再按区间切片。 先截断信号再算持仓会重置每段起点仓位,结论会完全反过来(本项目第一版即踩此坑)。

区间 择时年化 基准年化 超额 择时回撤 基准回撤 择时夏普 基准夏普
全样本 2000-02→2026-07 (26.4y) 11.32% 8.42% +2.90pp −40.0% −55.3% 0.597 0.337
① 仅公告意外 1 项 (3.1y) −2.75% −13.27% +10.52pp −38.0% −47.4% −0.328 −0.718
② 3 项 (6.0y) 5.62% 1.17% +4.45pp −40.0% −55.3% 0.147 −0.067
③ 4 项 (6.0y) 13.15% 18.84% −5.69pp −18.6% −18.6% 0.869 1.135
5 项齐备 2015-04→2026-07 (11.3y) 17.81% 13.94% +3.87pp −13.9% −33.8% 1.313 0.662

全样本 +2.90pp 与研报自称(+2.8pp、夏普 0.65 vs 0.39)复刻成功。 但最大单段超额来自指数还不是「流动性指数」的那 3 年;4 项期显著跑输。

3.6 分项拆解:价值来自哪里

组合 2015+ 夏普 2015+ 回撤 2003+ 夏普 2003+ 回撤 可得性
全部 5 项 1.313 −13.9% 0.761 −40.0% 需彭博
仅价格 3 项 1.283 −11.5% 0.616 −37.4% 需彭博
仅预期引导(Fed Sentiment) 1.236 −10.2% 0.850 −16.2% 需彭博
仅市场隐含 0.982 −15.6% 0.663 −15.6% ⚠️可代理
仅信用支持 0.823 −19.4% 0.721 −19.4% ✅免费
仅数量 2 项 0.688 −18.7% 0.664 −18.7% ✅免费
【基准】买入持有 0.662 −33.8% 0.534 −55.3%
仅净流动性 0.639 −33.8% 0.421 −55.0% ✅免费但无效

三条反直觉结论:

  1. 大部分价值来自价格维度——恰好是需要彭博的那三项。单项最强是 Fed Sentiment。
  2. 最有名的「净流动性」是最差的一项,23 年夏普 0.421,跑输买入持有,回撤几乎没削减。
  3. 最有价值的免费分项是「联储信用支持」——研报里最不起眼、最少被抄的那个。

3.7 交易规则变体网格

全样本,T+1、5bp。按夏普排序(节选 21 个变体中的代表):

规则 年化 回撤 夏普 持股 年换手
清仓确认 0 日 / 回补确认 21 日 10.09% −34.60% 0.60 61% 1.97
原始:转负立刻清仓 11.32% −39.98% 0.60 70% 2.42
仅 200 日均线(不用指数) 7.86% −20.98% 0.54 72% 6.02
双向确认 10 日 9.88% −43.00% 0.52 70% 1.97
清仓确认 21 日 / 回补 0 日 10.46% −54.83% 0.51 79% 1.82
线性仓位 (指数+1)/2 6.95% −33.71% 0.47 56% 1.44
迟滞:出≤−0.4 / 进≥0.2 9.33% −55.03% 0.43 83% 0.91
【基准】买入持有 8.42% −55.25% 0.34 100% 0.04
迟滞:出≤−0.8 / 进≥0.2 7.98% −55.25% 0.33 92% 0.34

方向性结论(数字本身在噪音里,方向是稳的)

  1. 出场不能延迟。 等 21 日确认再清仓,回撤退回 −54.8%——削减回撤这个唯一价值被完全抹掉。 因为它同步:等确认完,跌幅已走掉大半。领先指标可以等确认,同步指标不能。
  2. 迟滞阈值同样失败。 「跌到 ≤−0.4/−0.6 才清仓」全部退化到 −55% 回撤: 指数到 −0.6 只有 14 次,到那时太晚。
  3. 不确定性应该在回补端消化。 立刻出 + 回补确认 21 日,是唯一在两个子样本里 方向一致地压低回撤的改良(全样本 −40.0%→−34.6%,2015+ −13.9%→−9.5%),代价是少赚。
  4. 别用部分仓位。 100/50、100/70、线性仓位在每个子区间都更差——交出了大半回撤保护, 收益却没保住。这是开关,不是刻度盘。
变体 全样本夏普 2015+ 夏普 2015+ 回撤
100/0 0.60 1.31 −13.9%
100/50 部分减仓 0.47 1.00 −21.2%
100/70 部分减仓 0.42 0.86 −26.5%

3.8 显著性检验

Block bootstrap(1 年块长、4000 次、中心化后检验累计超额>0):

样本 版本 年化超额 p 值 判定
2004→2026 (22.5y) 国盛指数 +1.62% 0.22 不显著
2004→2026 free3 免费复刻 +0.91% 0.32 不显著
2015→2026 (11.3y) 国盛指数 +3.34% 0.14 不显著
2015→2026 free3 免费复刻 −0.29% 0.53 不显著

没有一个超额收益在统计上显著。 1999 年以来标普500 峰→谷回撤 ≥10% 只有 9 段、 ≥15% 只有 6 段——独立样本量是个位数,这个量级下不可能显著。 回撤削减(−55%→−22%~−40%)比收益提升可靠得多,因为它不依赖均值估计。


4. 横向赛马:有没有更准的指标

规则事先指定不做优化:方向类 = Holt 平滑后差分符号;水平类 = 相对扩张窗口中位数(严格 PIT)。 lift = 信号后 126 日内出现 ≥10% 回撤的命中率 − 无条件基准率。

2003-03 起(23 年长样本)

指标 年化 最大回撤 夏普 lift
NFCICREDIT_13周变化 10.56% −27.0% 0.86 −2.6
NFCI_13周变化 10.52% −26.5% 0.85 −2.0
NFCI_水平(vs 扩张中位数) 11.70% −19.4% 0.81 +13.3
NFCIRISK_水平 11.51% −26.6% 0.76 +13.3
国盛美元流动性指数 13.34% −40.0% 0.76 +11.8
标普500 200 日均线 8.74% −21.0% 0.60 +10.4
【基准】买入持有 11.69% −55.3% 0.53
净流动性 WALCL−TGA−RRP 9.44% −53.2% 0.47 +6.8
BAA10Y 信用利差水平 3.94% −31.4% 0.24 −4.0

2015-04 起(11.3 年):国盛指数夏普 1.31 一枝独秀,其次 NFCICREDIT 0.95、 NFCI 水平 0.84、200 日均线 0.69、买入持有 0.66。但该指数 2025 年发布时已知这段全部历史, 有过拟合嫌疑;真正的样本外只有 2025-05 至今约 1 年。

4.1 两个必须分开的类别

NFCI 属后者,所以它赢得「漂亮」要打折扣。若要一个真正外生的免费指标,用「联储信用支持」。

4.2 推荐的免费复刻组合

free3 = sign(Δ13周 净流动性) + sign(Δ52周 信用支持) + (−sign(Δ63日 (DGS6MO − DFF)))
版本 2015+ 夏普 回撤 2004+ 夏普 回撤
国盛指数(需彭博) 1.313 −13.9% 0.715 −40.0%
★free3(全免费) 0.879 −22.3% 0.773 −22.3%
仅信用支持(最简) 0.801 −19.4% 0.715 −19.4%
【基准】买入持有 0.662 −33.8% 0.485 −55.3%

22.5 年长样本上全免费的 free3 夏普 0.773 反而高于原版 0.715,回撤 −22.3% vs −40.0%。DGS2 代理「预期引导」会把 2015+ 夏普从 0.879 拖到 0.769,不要加

free3 的三个分项要到 2004-01 才全部就位(信用支持需 52 周同比)。 它在 2000–02 年的「空仓」只是没有数据,不是规避了互联网泡沫。


5. 怎么用

  1. 它不预测,只跟随。 指数转正只是「不再收紧」,不是「该进场」。它能做的唯一一件事, 是在已经开始的下跌里让你别硬扛。
  2. 出场立刻执行,回补可以等。 延迟出场会毁掉全部价值;持续时间的不确定性放在回补端消化 (回补确认 ~21 日)。
  3. 二元开关,不要部分仓位。
  4. 产出是「回撤更小」,不是「赚得更多」。 若目标函数是收益最大化,这个指标不值得用。
  5. 接受高误报。 十次里有五六次会白白空仓一两个月并小亏,换取下一次真是 2008/2020/2022 时能少跌 20 个点。这是买保险的逻辑。
  6. 更新节奏:H.4.1 每周四 16:30 ET 发布周三数据 → 周五开盘前跑一次即可,无前视。

6. 局限

  1. 统计功效不足。 26 年只有 6~9 次独立大回撤;所有超额收益 p=0.14~0.53,无一显著。 日频重叠样本算出的 t 统计量被严重高估。
  2. 收益高度集中。 剔除最大的 3 次事件,其余 33 次信号合计 −18.9%。
  3. 结构性断点。 指数在 2003/2009/2015 三次改变值域,跨期统计是 4 个不同指标的混合。
  4. 过拟合风险。 研报 2025-05 发布,2015–2025 的靓丽表现处在设计者可见的样本内。
  5. 多重检验。 本文测了 20+ 个规则变体、20+ 个候选指标,未做系统性 FDR 校正—— 只有方向性结论可靠,具体数字不可靠。
  6. 同义反复。 赛马中胜出的 NFCI/VIX/信用利差含市场价格成分,不是纯粹的「流动性」。
  7. 数据修订。 H.4.1 会被修订,实时值与事后值有差异。
  8. 制度变迁。 准备金充裕框架、ON RRP 归零、QT 结束都会改变这些指标的含义。

附录:可复跑脚本

文件 用途
verified_rules.py 逆向工程的逐列验证(平滑参数、差分窗口、信号规则、日频装配)
fetch_quantity.py 从 FRED / Fed DDP 重建数量维度两条原始序列
build_index.py 构建 free3 免费复刻指数 + 回测 + 打印当前信号
horserace_mc.py 候选指标横向赛马
chart.html + chart_data.json 交互式对照图源码

踩过的坑(复用时注意):

本文为量化研究记录,不构成投资建议。