Skip to content
全部期权指南
预测检验13 分钟阅读

Giacomini–White 检验:条件预测准确性

了解 Giacomini–White 检验如何判断预测准确性是否随已知条件变化、如何选择检验函数,以及结果能够说明什么

本指南内容平均准确性与条件准确性回答不同的问题

简短摘要

Giacomini–White(GW)框架关注的是:预测时已知的信息是否与两种预测的相对损失有关。它可能揭示平均分数掩盖的差异,但结论取决于预测方法、评估区间、损失函数,以及事先选定的条件变量

平均准确性与条件准确性回答不同的问题

假设在一段测试样本中,预测 A 的平均损失低于预测 B。这个平均值可能掩盖有用的规律:A 在市场平静时表现更好,B 在波动较高时表现更好。如果要问哪种预测的平均表现更佳,无条件比较是合适的。如果要问预测时已知的信息能否帮助判断哪种预测会更好,研究对象就是条件预测能力。

Giacomini 和 White 在给定损失函数与信息集的前提下,提出了比较预测方法的框架。只要损失函数与任务相符,它可以用于点预测、区间预测、概率预测或密度预测。该方法也把生成每种预测时采用的估计程序纳入考察。因此,滚动窗口、固定训练样本或权重规则都是被评估方法的一部分,不能在看到结果后当成无关细节随意更改 (Giacomini 和 White, 2006)。

这个问题与结构突变检验有关,但两者并不相同。条件检验问的是,相对预测损失是否与选定信息系统相关;突变检验问的是,参数或关系是否在某个未知或指定时点发生变化。[Diebold–Mariano 指南](/zh-CN/learn/diebold-mariano-forecast-accuracy-test-explained)介绍无条件平均损失比较;条件问题则需要明确说明用哪些信息进行条件化。

先对齐预测、结果与信息集

令 \(Y_{t+1}\) 表示在预测起点 \(t\) 之后观测到的目标。预测 \(\hat y^A_{t+1}\) 和 \(\hat y^B_{t+1}\) 必须针对相同目标、预测期、单位和信息截止时点。对于数值越低越好的损失函数 \(L\),损失差定义为

dₜ₊₁ = L(Yₜ₊₁, ŷA,ₜ₊₁) − L(Yₜ₊₁, ŷB,ₜ₊₁)

按这个符号约定,正值表示 A 的损失更大,因此该起点上 B 更好;负值则有利于 A。每个预测起点保留一行,并用同一个实际结果给两种预测评分。保存预测在当时可获得的原始版本,以及相应的数据版本和模型版本。不要用后来修订的输入或事后才获得的信息重建历史预测。

条件变量也必须在预测起点已知。例子包括滞后的波动率估计、预先公布的事件指标、滞后的损失差,或仅用过去观测计算的市场状态变量。若某个变量在 \(t\) 之后才测得,就不能在没有前视偏差的情况下,用它解释哪种预测在 \(t+1\) 会更好。

评分指标要与目标相匹配。平方误差可用于条件均值预测,但并不自动适用于波动率、分位数或密度预测。如果一个模型预测方差,另一个预测标准差,应先把两者转换成对同一量的预测。检验无法修复评分问题本身的不一致。

对于波动率预测,应使用相同的实现方差定义和采样间隔对两者评分。如果一个预测覆盖日内价格,另一个还把隔夜收益纳入目标,损失差可能反映的是目标不同,而不是预测能力不同。提前确定如何处理闭市期间的价格变动、采样频率、缺失观测和实现值指标,并始终采用同一规则。如果实现值代理指标存在噪声,测量误差会影响两种损失分数,也应纳入解释。

写明条件零假设并选择检验函数

令 \(\mathcal{G}_t\) 表示用于条件比较的信息。理想化的零假设是

H₀: E[dₜ₊₁ | 𝒢ₜ] = 0

它表示在给定所选信息后,预期损失差为零。单步 GW 检验使用预先选定的检验函数向量 \(h_t\),把条件命题转化为一组矩条件;其中每个函数都必须能由时点 \(t\) 可用的信息计算:

H₀,ₕ: E[hₜ dₜ₊₁] = 0

\(h_t\) 中的常数项包含平均损失差的矩条件。其他项可以表示市场状态、滞后的相对损失,或在查看结果前选定的非线性变换。例如,令 \(h_t=(1,S_t)'\),其中 \(S_t\) 是在 \(t\) 已知的二元高波动指标;这样就同时检验常数矩条件,以及损失差是否与该状态相关。

有限个检验函数只能检验所选的矩条件。拒绝零假设表示在检验假设下,至少一个所选矩条件与零不一致;它不能确定普遍意义上最好的模型,也不能证明所有可能的状态变量都重要。未能拒绝也不等于证明条件表现相同。只含常数项的检验属于无条件矩比较,并不是对所有可能条件的广泛搜索。

在查看哪种模型胜出之前,先确定损失函数、工具变量、变换、样本和预测期。如果看过结果后再加入许多状态指标、阈值和滞后项,就产生了新的搜索问题。条件检验本身不会校正这种选择带来的影响。

固定构造每个状态变量时所用的信息时点。如果“高波动”指全样本波动率最高的 20%,那么未来观测就参与设定了过去起点所用的阈值。应只用各预测起点当时可获得的信息估计阈值,或采用该日期之前已公布的规则。对于连续状态变量,应预先规定单位、中心化和缩放方法。多个近似相同的指标可能造成矩条件冗余,并使协方差矩阵难以求逆;因此,应使用能够清楚解释的最小集合。

构造 Wald 统计量并解释其参考分布

给定 \(q\) 个检验函数,构造向量 \(g_{t+1}=h_t d_{t+1}\)。其样本均值为

ḡ = (1/n) Σₜ gₜ₊₁

单步 GW 统计量具有 Wald 形式

GW = n ḡ′ Ω̂⁻¹ ḡ

其中 \(\hat\Omega\) 估计矩向量的协方差矩阵。在零假设及原论文的正则条件下,该统计量渐近服从自由度为 \(q\) 的卡方参考分布。因此,检验函数数量会影响参考分布,也可能影响检验功效。加入大量弱工具变量或冗余变量,可能使协方差估计不稳定,却没有增加有用信息。

在单步设定下,零假设意味着矩向量具有鞅差结构,因此原检验可以使用样本二阶矩估计。对于其他预测期、结果重叠,或偏离这一设定的情况,方差估计必须符合检验的假设与依赖结构。应遵循所选实现的具体设定,而不是自动照搬其他检验的 HAC 带宽。包括 Newey 和 West(1987) 估计量在内的一般 HAC 协方差方法,适用于确实需要它们的情形,并不是 GW 的通用带宽规定。结果的可信度取决于背后的协方差估计与预测设计。

还要检查能否根据所选矩条件估计 \(\hat\Omega\)。几乎重复的检验函数、某一状态中观测很少的指标,或过多的交互项,都可能让矩阵奇异或不稳定。此时,求逆结果可能因小幅数据修订而剧烈变化,进而扭曲检验统计量。每个函数都应有与某项条件或预测表现差异相关的理由;报告函数数量和矩协方差。如果看过结果后才删除不重要的函数,那又增加了一次选择,也应予以说明。

p 值是在参考分布下反对所述矩限制的证据。它不是 A 或 B 为真实模型的概率,也不是交易规则盈利的可能性。应报告统计量、自由度、p 值和实际检验的矩条件,让读者能够判断拒绝究竟意味着什么。

<!-- learn:illustration -->

三块透明玻璃板上,蓝色与琥珀色路径的相对位置交替变化,表示预测表现可能随条件改变
概念图展示不同条件下预测相对表现的变化;不含实测市场数据、检验结果或交易信号

两状态例子说明平均值可能掩盖什么

考虑八个假设性的单步预测起点。令 \(S_t=0\) 表示平静状态,\(S_t=1\) 表示高波动状态。假设损失差 \(d_{t+1}=L_A-L_B\) 在四个平静状态起点上分别为 −2、−2、−2、−2;在四个高波动状态起点上则分别为 +2、+2、+2、+2。负值有利于 A,正值有利于 B。

八个起点的整体平均值为零,所以这个小例子没有显示无条件损失差。平静状态的平均值为 −2,高波动状态的平均值为 +2。相对排名随状态反转。采用 \(h_t=(1,S_t)'\) 的检验包含常数矩条件,也包含能够反映这一模式的高波动矩条件。

这八个数只是教学示例,不足以支持可靠的统计推断。使用真实数据时,检验必须考虑预测的估计方式、状态变量是否预先固定、可用预测起点数量,以及损失差矩条件如何随时间变化。仅凭图表把样本分成不同状态,并不能证明该模式会持续。

把估计窗口视为方法的一部分

原始 GW 渐近理论在样本外预测数量增加的同时,将最大估计窗口长度保持为有限值,以保留预测估计的不确定性。滚动窗口和固定估计样本符合这一核心设定。窗口大小以及任何依赖数据的窗口规则,都是预测方法的一部分,应事先确定并报告。

模型重新估计时,这一点尤其重要。忽略参数估计的比较可能漏掉每种方法通过历史数据学习所带来的不确定性。在既定条件下,GW 可以处理来自嵌套或非嵌套模型的预测,但这并不保证所有扩展窗口实现或所有估计量都适用。在原始单步框架中,常见的扩展窗口不满足有限窗口假设。如果设定不同,应采用针对实际预测构造推导出的结果。

检验也不会替你选择合适的窗口。短窗口可以更快适应近期条件,但使用的观测更少;长窗口或扩展窗口可能让估计更稳定,却保留已经过时的关系。用预先规划的评估比较这些选项,并把窗口选择本身纳入记录。Giacomini 和 Rossi(2010) 针对不稳定环境下相对预测表现随时间的路径提出了其他检验;时间路径问题与之相关,但它使用的统计量并非基础 GW 条件检验的统计量。

条件检验拒绝零假设,也不会自动给出一条能在实时环境中选出正确预测的交易规则。工具变量可能在评估数据中与损失差相关,却未必能产生稳定或可执行的切换规则。如果要根据当前信息选择预测,应先用过去观测定义规则,再在后续一段从未使用过的预测起点上评估,并计入规则自身的估计和决策不确定性。

区分 GW、DM、嵌套模型检验与不稳定性检验

[Diebold–Mariano 检验](/zh-CN/learn/diebold-mariano-forecast-accuracy-test-explained)考察两种预测在评估样本中的平均损失是否相同。GW 检验所选信息是否与相对损失相关;无条件比较可以作为一种特殊矩限制纳入其中。如两状态例子所示,模型平均分数可能相同,但相对表现仍会随条件变化。

如果预测来自嵌套模型,且研究问题明确是 MSPE 是否相等,那么像 [Clark–West 调整](/zh-CN/learn/clark-west-test-nested-forecast-accuracy-adjustment-explained) 这样的嵌套模型方法,针对的是不同的零假设和估计噪声问题。如果研究者搜索了许多交易规则或预测方法,并要判断是否有候选方法具备超额预测能力,应使用 [White Reality Check 或 Hansen SPA 检验](/zh-CN/learn/white-reality-check-vs-hansen-spa-test-trading-rules-explained) 这类家族层面的方法。对一对筛选后的预测进行条件检验,不能消除更广泛搜索造成的影响。

最后,相对准确性随时间变化的证据,并不能确定某个具体的结构变化日期。如果研究问题关注相对表现的时间路径,而非它与所选工具变量的关系,局部不稳定性或反转检验可能更合适。Giacomini 和 Rossi(2010) 研究了这类预测比较。应根据研究问题选择方法,不要把每次拒绝都解释成支持市场状态切换交易策略的证据。

考虑检验功效不足与重复检验

条件检验可能需要大量数据。把样本拆分为平静和高波动状态,会减少每种比较所依据的观测。增加检验函数会提高矩条件数量和自由度。如果某些条件只与相对损失弱相关,即使存在条件差异,检验功效仍可能很低。

McCracken 的圣路易斯联储工作论文在一个简单的二次损失例子中研究了 GW 检验的存在性、尺寸和功效。模拟结果显示,在其研究的设定中,检验的尺寸可以得到准确控制,但功效通常较低 (McCracken, 2020)。这是对结果解读的提醒,并不是可套用于所有应用的普遍数值预测。未能拒绝可能反映信息有限或功效不足,不应被描述为证明两种预测可以互换。

反复尝试不同的状态定义、阈值、预测期、损失函数和评估日期,会增加偶然发现的概率。记录所有候选检验,并将探索性分析与预先指定的确认样本分开。如果要声称一组策略中至少有一个具备预测能力,应对该策略家族使用适当的多重检验或数据窥探校正。增加条件工具变量,并不会自动让证据更有说服力。

若仍在比较多个预测模型,家族层面的程序会回答不同于成对条件检验的问题。[模型置信集指南](/zh-CN/learn/model-confidence-set-forecast-comparison-explained)介绍了迭代比较方法,该方法可以保留在选定显著性水平下无法区分的一组模型;但它不能替代 GW 分析中对条件变量的预先设定。

报告设计细节,让其他人能够复现

说明两种预测方法的名称、各自的估计方式、模型是否嵌套、目标与预测期,以及评估日期。写清楚损失函数和 \(d_{t+1}\) 的符号约定。描述 \(h_t\) 的每个组成项、构造方式、可观测时点,以及它是否在查看结果前选定。

报告预测起点安排、估计窗口规则、数据版本、共同样本规则、样本外预测起点数量、检验函数数量、协方差估计量、参考分布、检验统计量、自由度和 p 值。说明预测期是否重叠以及如何处理依赖性。除检验结果外,也提供平均损失和相应的损失差汇总。

列出尝试过的其他工具变量、阈值、窗口、损失函数和预测组合。如果同一批观测既用于选择模型或条件变量,又用于检验,也应明确说明。结果即使不能作为确认性证据,仍可能具有参考价值;透明报告能让读者判断结果适用范围,并设计独立验证。

常见问题

Q1Giacomini–White 检验与 Diebold–Mariano 检验相同吗?

不同。Diebold–Mariano 关注平均损失是否相等。单步 GW 框架检验指定的条件矩,并将无条件矩作为可能的限制之一。

Q2拒绝零假设能告诉我在每种市场状态下应该使用哪种预测吗?

不能。它表示在检验假设下,至少一个所选矩条件与零不一致。结果取决于选定的工具变量、样本和损失函数,也不能保证每种状态下的表现。

Q3我可以一直增加波动率阈值,直到检验拒绝吗?

这样做会形成对条件变量的搜索。尽可能预先指定变量,报告尝试过的所有设定;如果要提出宽泛的预测主张,应使用单独的确认样本或适当的家族层面校正。

Q4条件预测能力意味着交易策略可以盈利吗?

不意味着。该检验比较预测损失。交易主张还需要明确的决策规则,以及对执行、费用、融资、市场冲击和风险的单独评估。 主要研究 - Giacomini 和 White, “Tests of Conditional Predictive Ability” (2006) - Giacomini 和 Rossi, “Forecast Comparisons in Unstable Environments” (2010) - McCracken, “Tests of Conditional Predictive Ability: Existence, Size, and Power” (圣路易斯联储工作论文, 2020) - Diebold 和 Mariano, “Comparing Predictive Accuracy” (1995) - Newey 和 West, “A Simple, Positive Semi-Definite, Heteroskedasticity and Autocorrelation Consistent Covariance Matrix” (1987)

资料来源与延伸阅读

报告问题

我们会准备一封包含本文链接的邮件。发送后,Mark 才会收到你的反馈

快速检查

读完指南后,用 3 道题检查一下

问题 1 / 3

问题 01

若 dₜ₊₁ = L(A) − L(B),正的损失差表示什么?

选择答案即可查看解释

期权术语表