Paper deep dive
Machine Learning for Stress Testing: Uncertainty Decomposition in Causal Panel Prediction
Yu Wang, Xiangchen Liu, Siguang Li
Intelligence
Status: succeeded | Model: google/gemini-3.1-flash-lite-preview | Prompt: intel-v1 | Confidence: 93%
Last extracted: 3/13/2026, 12:33:51 AM
Summary
The paper proposes a framework for causal panel prediction in regulatory stress testing, addressing the gap between observational prediction and causal inference. It introduces a three-layer uncertainty decomposition (estimation, confounding, and extrapolation) using causal set identification, an oracle inequality for recursive rollout error, and importance-weighted conformal calibration. The approach allows for robust credit loss projections under hypothetical macroeconomic scenarios without requiring a control group.
Entities (5)
Relation Signals (3)
Oracle Inequality → quantifies → Recursive Rollout Error
confidence 95% · recursive rollout error is governed by a horizon-dependent amplification factor
Causal Set Identification → addresses → Unobserved Confounding
confidence 90% · Rather than assuming confounding away, we bound it, following the partial identification tradition
Importance-weighted Conformal Calibration → provides → Coverage Guarantees
confidence 90% · trigger abstention when coverage guarantees degrade
Cypher Suggestions (0)
No Cypher suggestions yet.
Abstract
Abstract:Regulatory stress testing requires projecting credit losses under hypothetical macroeconomic scenarios -- a fundamentally causal question typically treated as a prediction problem. We propose a framework for policy-path counterfactual inference in panels that transparently separates what can be learned from data from what requires assumptions about confounding. Our approach has four components: (i) observational identification of path-conditional means via iterated regression, enabling continuous macro-path contrasts without requiring a control group; (ii) causal set identification under bounded confounding, yielding sharp identified sets with interpretable breakdown values that communicate robustness in a single number; (iii) an oracle inequality showing that recursive rollout error is governed by a horizon-dependent amplification factor, providing a concrete answer to how far ahead one can reliably predict under stress; and (iv) importance-weighted conformal calibration bands with diagnostics that quantify extrapolation cost and trigger abstention when coverage guarantees degrade. The final output is a three-layer uncertainty decomposition that cleanly separates estimation uncertainty from confounding uncertainty. We validate all results through simulation and semi-synthetic experiments with real unemployment data, including a Covid retrospective demonstrating the framework's diagnostic value under extreme scenarios.
Tags
Links
- Source: https://arxiv.org/abs/2603.07438v1
- Canonical: https://arxiv.org/abs/2603.07438v1
Trouble viewing inline? Open PDF directly →
Full Text
62,216 characters extracted from source content.
Expand or collapse full text
Machine Learning for Stress Testing: Uncertainty Decomposition in Causal Panel Prediction Yu Wang Independent Researcher yuwang9908@gmail.com &Xiangchen Liu Department of Family and Consumer Sciences California State University, Long Beach xiangchen.liu@csulb.edu &Siguang Li Society Hub Hong Kong University of Science and Technology (Guangzhou) siguangli@hkust-gz.edu.cn Abstract Regulatory stress testing requires projecting credit losses under hypothetical macroeconomic scenarios—a fundamentally causal question typically treated as a prediction problem. We propose a framework for policy-path counterfactual inference in panels that honestly separates what can be learned from data from what requires assumptions about confounding. Our approach has four components: (i) observational identification of path-conditional means via iterated regression, enabling continuous macro-path contrasts without requiring a control group; (i) causal set identification under bounded confounding, yielding sharp identified sets with interpretable breakdown values that communicate robustness in a single number; (i) an oracle inequality showing that recursive rollout error is governed by a horizon-dependent amplification factor, providing a concrete answer to how far ahead one can reliably predict under stress; and (iv) importance-weighted conformal calibration bands with diagnostics that quantify extrapolation cost and trigger abstention when coverage guarantees degrade. The final output is a three-layer uncertainty decomposition that cleanly separates estimation uncertainty from confounding uncertainty. We validate all results through simulation and semi-synthetic experiments with real unemployment data, including a Covid retrospective demonstrating the framework’s diagnostic value under extreme scenarios. 1 Introduction Regulatory stress testing asks a fundamentally causal question: what would credit losses be if unemployment followed a given stress path? Under the Dodd-Frank Act, the Federal Reserve’s Comprehensive Capital Analysis and Review (CCAR) requires banks to project losses under hypothetical macroeconomic scenarios (Board of Governors of the Federal Reserve System, 2024). Yet current practice treats this as a prediction problem—fitting models on historical data and extrapolating under stress—without formal treatment of the causal gap between “losses when unemployment rises” and “losses because unemployment rises.” This gap matters. Unemployment is endogenous: unobserved factors such as financial conditions, policy responses, and credit market sentiment simultaneously drive unemployment and credit losses. Ignoring this confounding produces point estimates with no formal robustness guarantee. Conversely, requiring conditional exogeneity of the macro variable—the standard assumption in causal panel methods (Abadie et al., 2010; Arkhangelsky et al., 2021)—is implausible in this setting. We propose a framework that sidesteps this dilemma through causal set identification. Rather than assuming away confounding, we: (i) identify the observational path contrast under mild stationarity assumptions; (i) bound the gap between observational and causal estimands via a sensitivity parameter, following the partial identification tradition of Manski (1990); (i) provide non-asymptotic error bounds for recursive rollout estimation, with explicit horizon dependence governed by an amplification factor; and (iv) construct importance-weighted conformal calibration bands (Barber et al., 2023) for stress-path extrapolation. The final output is a three-layer uncertainty decomposition: τhdo∈[τ^hobs±Δhest±Δhconf],τ^do_h∈ [ τ^obs_h\;±\; ^est_h\;±\; ^conf_h ], separating estimation uncertainty (from finite data) and confounding uncertainty (from endogeneity) into distinct, independently interpretable bands. Contributions. Our four main contributions are: (i) Causal set identification for continuous macro paths (Theorem 1). We adapt the partial identification framework to policy-path contrasts in panels, with a sharp identified set and a breakdown value communicating robustness to confounding in a single number. (i) Oracle inequality with horizon-dependent error bounds (Theorem 2). We prove that recursive rollout error is controlled by a compounding factor that depends on the amplification rate of the underlying dynamical system. This provides a concrete, quantitative answer to “how far ahead can we reliably predict under stress?” (i) Importance-weighted conformal calibration (Proposition 2). We adapt weighted conformal prediction to panel stress testing, with diagnostics that quantify extrapolation cost and trigger abstention when coverage guarantees degrade. (iv) Comprehensive experimental validation. We validate all theoretical results through simulation and semi-synthetic experiments with real FRED unemployment data, including a COVID retrospective demonstrating the framework’s diagnostic value under extreme scenarios. Practical relevance. The framework is designed for the regulatory stress testing workflow at institutions subject to CCAR/DFAST. It replaces the current practice of “point estimate + ad hoc sensitivity check” with a principled decomposition where each layer of uncertainty has a formal guarantee. The breakdown value provides a concrete language for communicating with model risk management: “the conclusion holds unless unobserved confounding exceeds a specified threshold, which would require [domain-specific calibration].” 2 Related Work Our work connects four literatures: causal panel methods, sensitivity analysis and partial identification, conformal prediction, and machine learning for stress testing. Causal panel methods. The dominant paradigm for causal inference in panels relies on untreated comparison units: synthetic controls (Abadie et al., 2010), difference-in-differences (Roth et al., 2023), and their combination (Arkhangelsky et al., 2021). These methods require a pool of unaffected units, which does not exist in macro stress testing—all units are exposed to the same macro path. Recent work on counterfactual forecasting without control groups (Cerqua et al., 2023) addresses this by using pre-treatment data to forecast counterfactuals via machine learning. We build on this line of work but handle continuous treatment paths and replace the implicit exogeneity assumption with explicit sensitivity analysis. Sensitivity analysis and partial identification. The idea of bounding causal effects under unmeasured confounding dates to Rosenbaum (1987) for matched studies and Manski (1990, 2003) for general partial identification. The marginal sensitivity model of Tan (2006) and the omitted variable bias framework of Cinelli and Hazlett (2020) provide modern formulations. The E-value (Ding and VanderWeele, 2016; VanderWeele and Ding, 2017) and breakdown frontier communicate sensitivity in interpretable terms. Recent work extends sensitivity analysis to flexible ML estimators (Kallus et al., 2019) and multi-outcome settings (Frauen et al., 2024). Our contribution is adapting these ideas to the specific structure of panel stress testing with continuous macro paths, where confounding has a natural temporal structure that we exploit to tighten the identified set at short horizons. Conformal prediction. Conformal prediction provides distribution-free coverage guarantees under exchangeability (Vovk et al., 2005). Barber et al. (2023) extend this beyond exchangeability using weighted quantiles, enabling robustness to distribution drift. Tibshirani et al. (2019) develop importance-weighted conformal prediction under covariate shift. For time series, Xu and Xie (2023) and Gibbs and Candès (2021) propose methods handling temporal dependence. We combine block conformal calibration under mixing with importance weighting for stress-path extrapolation, and introduce practical diagnostics for flagging when coverage guarantees degrade. Machine learning for stress testing. The application of ML to credit risk stress testing is growing (Petropoulos and others, 2024) but largely lacks formal causal or uncertainty-theoretic grounding. Gao et al. (2017) use Bayesian networks for causal stress testing but do not address partial identification or non-asymptotic error control. Standard industry practice fits gradient-boosted trees or neural networks on historical data and extrapolates under stress scenarios, with uncertainty quantified by ad hoc sensitivity checks or bootstrap. Our framework provides a principled alternative: the oracle inequality quantifies when recursive extrapolation is reliable, the calibration bands provide formal coverage guarantees with explicit extrapolation cost, and the identified set honestly reports what can and cannot be concluded about the causal effect. 3 Framework: Partial Identification of Policy Paths 3.1 Setup and Estimands Units i=1,…,Ni=1,…,N are observed over t=1,…,Tt=1,…,T. Let Yi,t∈ℝY_i,t denote the outcome (e.g., account-level credit loss), Xi,t∈X_i,t observed covariates, and At∈⊆ℝA_t a macro variable common across units. Fix intervention time t0t_0 and horizon H. A policy path is at0+1:t0+H∈Ha_t_0+1:t_0+H ^H; we consider baseline aBa^B and stress aSa^S. Following the potential outcomes framework (Rubin, 1974), we distinguish two estimands: Definition 1 (Path contrasts). The observational path contrast is τhobs(aS,aB):=[Yi,t0+h∣At0+1:t0+h=at0+1:t0+hS]−[Yi,t0+h∣At0+1:t0+h=at0+1:t0+hB]τ^obs_h(a^S,a^B):=E[Y_i,t_0+h A_t_0+1:t_0+h=a^S_t_0+1:t_0+h]-E[Y_i,t_0+h A_t_0+1:t_0+h=a^B_t_0+1:t_0+h]. The interventional (causal) path contrast is τhdo(aS,aB):=[Yi,t0+h(at0+1:t0+hS)]−[Yi,t0+h(at0+1:t0+hB)]τ^do_h(a^S,a^B):=E[Y_i,t_0+h(a^S_t_0+1:t_0+h)]-E[Y_i,t_0+h(a^B_t_0+1:t_0+h)]. Under conditional exogeneity, τhdo=τhobsτ^do_h=τ^obs_h. We do not assume this. Instead, we identify τhobsτ^obs_h from data and bound |τhdo−τhobs||τ^do_h-τ^obs_h| via sensitivity analysis. Let Ii,t=g(Yi,s,Xi,ss≤t,Ass≤t)I_i,t=g(\Y_i,s,X_i,s\_s≤ t,\A_s\_s≤ t) be a state vector summarizing unit i’s history. Under state sufficiency, conditional stationarity, deterministic state update, and no anticipation (Assumptions 1–4 in Appendix A), the conditional mean m(ι,a):=[Yi,t+1∣Ii,t=ι,At+1=a]m( ,a):=E[Y_i,t+1 I_i,t= ,A_t+1=a] is time-invariant and identified from pre-period data. Proposition 1 (Observational identification). Under Assumptions 1–4, the observational conditional mean μhobs(a)μ^obs_h(a) is identified from pre-period data for all h=1,…,Hh=1,…,H, by iterating the identified one-step transition kernel starting from the observed state Ii,t0I_i,t_0. This extends the identification result of Cerqua et al. (2023) from binary treatment to continuous macro paths. The proof (Appendix A) is a standard iterated conditional expectation argument following the g-computation formula (Robins, 1986). No causal assumptions are needed—this is a conditional prediction problem. 3.2 Causal Set Identification The macro variable AtA_t is endogenous: unobserved factors (e.g., financial conditions) may simultaneously drive unemployment and credit losses. Rather than assuming confounding away, we bound it, following the partial identification tradition of Manski (1990). Assumption 1 (Bounded confounding). For each h and path a: |μhdo(a)−μhobs(a)|≤ch|μ^do_h(a)-μ^obs_h(a)|≤ c_h, where ch≥0c_h≥ 0 is a sensitivity parameter. The parameter chc_h plays the same role as Γ in Rosenbaum’s (1987) sensitivity model, but operates on the path-conditional mean rather than the propensity score. Concretely, if UtU_t denotes unobserved confounders affecting AtA_t (strength γA _A) and Yi,tY_i,t (strength γY _Y), then ch≈|γAγY|⋅Var(Ut∣Ii,t)1/2c_h≈| _A _Y|·Var(U_t I_i,t)^1/2, analogous to the omitted-variable bias formula of Cinelli and Hazlett (2020). When the confounder follows an AR(1) process with persistence ϕU _U, the multi-horizon bound inherits temporal structure: ch=c1(1−ϕU2h)/(1−ϕU2)c_h=c_1 (1- _U^2h)/(1- _U^2), interpolating between c1hc_1 h (independent confounding) and c1hc_1h (persistent confounding). Theorem 1 (Causal set identification). Under Assumption 1 and a path-level consistency condition (Appendix B): τhdo∈[τhobs−2ch,τhobs+2ch].τ^do_h∈[τ^obs_h-2c_h,\;\;τ^obs_h+2c_h]. (1) This interval is sharp: there exist confounding structures saturating both endpoints simultaneously. Proof sketch. Triangle inequality: |τhdo−τhobs|=|(μhdo(aS)−μhobs(aS))−(μhdo(aB)−μhobs(aB))|≤2ch|τ^do_h-τ^obs_h|=|(μ^do_h(a^S)-μ^obs_h(a^S))-(μ^do_h(a^B)-μ^obs_h(a^B))|≤ 2c_h. Sharpness follows by constructing a binary confounder Ut∈−1,+1U_t∈\-1,+1\ that saturates the bound for aSa^S and aBa^B independently. Full proof in Appendix B. ∎ The breakdown value ch∗:=12|τhobs|c_h^*:= 12|τ^obs_h| is the minimum confounding strength at which the identified set includes zero—analogous to the E-value of Ding and VanderWeele (2016). Reporting ch∗c_h^* alongside τhobsτ^obs_h communicates robustness to hidden confounding in a single number. 3.3 Non-Asymptotic Error Bounds We estimate τhobsτ^obs_h via a recursive rollout: learn m^≈m m≈ m from pre-period data, then iterate Y^i,t+1(a)=m^(I^i,t(a),at+1) Y_i,t+1(a)= m( I_i,t(a),a_t+1) forward H steps (see Appendix C for the full algorithm). Because estimation errors compound through the state update, we need non-asymptotic control. Theorem 2 (Oracle inequality for recursive rollout). Suppose m is LmL_m-Lipschitz in the state, the state update is LuL_u-Lipschitz, and the learner achieves one-step sup-norm error ϵn _n with probability ≥1−δn≥ 1- _n (Assumptions 7–8 in Appendix D). Let ρ:=Lu(1+Lm)ρ:=L_u(1+L_m) and Γh:=∑j=0h−1ρj _h:= _j=0^h-1ρ^j. Then: |μ^hrec(a)−μhobs(a)|≤ϵnΓh⏟learner error+|bh(a)|⏟mean-state bias+Op(N−1/2)⏟sampling noise,| μ^rec_h(a)-μ^obs_h(a)|\;≤\; _n _h_learner error\;+\; |b_h(a)|_mean-state bias\;+\; O_p(N^-1/2)_sampling noise, (2) where bh(a)b_h(a) is the Jensen gap from deterministic rollout (zero for affine m). Proof sketch. Compare the estimated rollout Y Y with the oracle rollout Y¯ Y (same recursion using true m). One-step: |Y^j+1−Y¯j+1|≤ϵn+Lm‖I^j−I¯j‖| Y_j+1- Y_j+1|≤ _n+L_m\| I_j- I_j\|. State update: ‖I^j+1−I¯j+1‖≤ρ‖I^j−I¯j‖+Luϵn\| I_j+1- I_j+1\|≤ρ\| I_j- I_j\|+L_u _n. Unrolling with ‖I^0−I¯0‖=0\| I_0- I_0\|=0 gives |Y^h−Y¯h|≤ϵnΓh| Y_h- Y_h|≤ _n _h uniformly over units, on the single event sup|m^−m|≤ϵn\ | m-m|≤ _n\. The remaining terms follow from cross-sectional concentration (Assumption 9) and the definition of bhb_h. Full proof in Appendix D. ∎ The amplification factor Γh _h controls the horizon dependence: Γh→1/(1−ρ) _h→ 1/(1-ρ) when ρ<1ρ<1 (contracting), Γh=h _h=h when ρ=1ρ=1 (linear), and Γh∼ρh/(ρ−1) _h ρ^h/(ρ-1) when ρ>1ρ>1 (exponential). This provides a concrete answer to “how far ahead can we reliably predict under stress?” When ρ>1ρ>1, the bound serves as a diagnostic: we recommend switching to a direct multi-horizon estimator μ^hdir μ^dir_h (Corollary 2 in Appendix D) beyond the crossover horizon h∗:=minh:ϵnΓh>ϵn,hdirh^*:= \h: _n _h>ε^dir_n,h\. The non-asymptotic error theory instantiates for standard learners: kernel regression achieves ϵn=O(n−β/(2β+d)(logn)1/2) _n=O(n^-β/(2β+d)( n)^1/2) for Hölder-β smooth m on ℝdR^d (Schmidt-Hieber, 2020), while tree-based methods such as Extra-Trees (Geurts et al., 2006) achieve favorable empirical rates in moderate dimensions. 3.4 Calibration Bands and Extrapolation Diagnostics The oracle inequality provides a worst-case bound. For tighter, data-driven uncertainty quantification—especially under stress paths extrapolating beyond historical support—we construct conformal calibration bands following Barber et al. (2023). Split the pre-period into training and calibration segments. At each rolling origin tbt_b (b=1,…,Bb=1,…,B), compute the rollout error score Sb:=|N−1∑i(Y^i,tb+hb(Aobs)−Yi,tb+h)|S_b:=|N^-1 _i( Y^b_i,t_b+h(A^obs)-Y_i,t_b+h)|. To correct for distribution shift between historical and stress macro paths, we importance-weight the scores using the macro transition density ratio (Tibshirani et al., 2019): wb(aS):=∏j=1hp(Atb+j=at0+jS∣Jtb+j−1)p(Atb+j=Atb+jobs∣Jtb+j−1).w_b(a^S):= _j=1^h p(A_t_b+j=a^S_t_0+j J_t_b+j-1)p(A_t_b+j=A^obs_t_b+j J_t_b+j-1). (3) Proposition 2 (Weighted calibration coverage). Under β-mixing (Assumption 10), bounded likelihood ratio, and score path-homogeneity (Assumptions 11–12 in Appendix E), the weighted conformal band satisfies: ℙ(Y¯h(aS)∈[μ^h(aS)±q1−αw])≥1−α−Rmix−Rweight,P\! ( Y_h(a^S)∈[ μ_h(a^S)± q^w_1-α] )≥ 1-α-R_mix-R_weight, (4) where Rmix=2(B+1)β(g)R_mix=2(B+1)β(g) captures temporal dependence and Rweight=Wmax/(∑bwb+Wmax)R_weight=W_ /( _bw_b+W_ ) captures extrapolation cost. The term RweightR_weight is the key diagnostic: when the stress path aSa^S is close to history, wb≈1w_b≈ 1 and Rweight→0R_weight→ 0; when aSa^S is extreme, RweightR_weight is substantial. The effective sample size Beff:=(∑bwb)2/(∑bwb2)B_eff:=( _bw_b)^2/( _bw_b^2) provides a scalar summary. When Rweight>0.5R_weight>0.5 or Beff<5B_eff<5, we recommend flagging the output as a scenario simulation rather than a calibrated prediction—an abstention mechanism ensuring the framework fails transparently. 3.5 Three-Layer Uncertainty Decomposition Combining all modules yields the main output: Corollary 1 (Three-layer uncertainty). Under the assumptions of Theorems 1–2 and Proposition 2: τhdo∈[τ^hobs±Δhest⏟calibration band±Δhconf⏟confounding envelope],τ^do_h∈ [ τ^obs_h\;±\; ^est_h_calibration band\;±\; ^conf_h_confounding envelope ], (5) where Δhest ^est_h is the weighted calibration band width and Δhconf=2ch ^conf_h=2c_h. The breakdown value is robustly updated: ch∗=12max(|τ^hobs|−Δhest,0)c_h^*= 12 (| τ^obs_h|- ^est_h,0). This framework extends MLCM (Cerqua et al., 2023) from point estimation under implicit exogeneity to set identification with transparent uncertainty decomposition. Table 1 summarizes the comparison. Table 1: Comparison with MLCM (Cerqua et al., 2023). Component MLCM This work Treatment Binary Continuous path at0+1:t0+Ha_t_0+1:t_0+H Estimand [Y(1)]−[Y(0)]E[Y(1)]-E[Y(0)] Identified set for τhdoτ^do_h Exogeneity Not needed Not assumed Identification Point (stationarity) Set (bounded confounding) Error theory Simulation only Oracle inequality (Thm. 2) Inference Block bootstrap Calibration bands (Prop. 2) 4 Experiments We validate the framework through two layers of experiments: fully synthetic (Layer 1, ground truth available) and semi-synthetic with real FRED unemployment data (Layer 2). A full experimental plan including DGP specifications, implementation details, and additional results is provided in Appendix G. Common setup. The DGP generates a panel of N units over T months with outcome Yi,tY_i,t, covariates XiX_i, and macro variable AtA_t following an AR(1) process. The one-step conditional mean is m(ι,a)=α+β1yt+β2at+1+β3xim( ,a)=α+ _1y_t+ _2a_t+1+ _3x_i, with β1 _1 controlling the amplification factor ρ=|β1|ρ=| _1|. We use Extra-Trees (Geurts et al., 2006) as the primary learner; the oracle inequality (Theorem 2) holds for any learner achieving one-step error ϵn _n. 4.1 Layer 1: Simulation 1A: Oracle inequality (Theorem 2). We vary β1∈0.5,0.85,1.05 _1∈\0.5,0.85,1.05\ to produce three amplification regimes (ρ<1ρ<1, ρ≈1ρ≈ 1, ρ>1ρ>1), with N=5,000N=5,000, T=72T=72, H=12H=12, and 10 replications per regime. Figure 1 plots the recursive error Δhrec ^rec_h, the theoretical bound ϵnΓh _n _h, and the direct estimator error Δhdir ^dir_h across horizons. Figure 1: Experiment 1A: Oracle inequality validation. Red: recursive error. Black dashed: bound ϵnΓh _n _h. Blue: direct estimator. The bound holds in all three regimes; crossover at h∗≈6h^*≈ 6 in the near-critical case. The bound Δhrec≤ϵnΓh ^rec_h≤ _n _h holds in all three regimes. Bound tightness improves with ρ: the ratio ϵnΓH/ΔHrec _n _H/ ^rec_H decreases from ∼ 10× (contracting) to ∼ 2× (expanding). In the near-critical regime, the direct estimator overtakes the recursive estimator at h∗≈6h^*≈ 6, empirically validating the crossover recommendation of Remark 8 in Appendix D. A critical implementation detail: ϵn _n must be computed along the estimated rollout trajectory, not on held-out pre-period data, to account for out-of-distribution extrapolation when ρ>1ρ>1. 1B: Mean-state bias. We compare a linear DGP (bh=0b_h=0 by construction) with a nonlinear DGP featuring an absorbing barrier γmaxmax(yt−y¯,0) _ (y_t- y,0). Figure 2 confirms: linear bias stays at 10−610^-6, while nonlinear bias grows monotonically to |b12|=0.097|b_12|=0.097, demonstrating the Jensen gap term in Theorem 2. Figure 2: Experiment 1B: Mean-state bias |bh||b_h|. Linear DGP (blue) ≈0≈ 0; nonlinear DGP (orange) grows with horizon. 1C: Calibration coverage (Proposition 2). We test weighted conformal bands at three stress severities (+1σ+1σ, +2σ+2σ, +3σ+3σ) with 100 replications. With B≈4B≈ 4 calibration blocks, the theoretical coverage upper bound is 1−α−1/(B+1)=0.751-α-1/(B+1)=0.75; observed coverages of 50–79% are consistent. The key result is that the diagnostics work as intended: RweightR_weight increases monotonically from 0.29 (mild) to 0.40 (severe), and BeffB_eff decreases from 4.0 to 2.1, correctly signaling extrapolation severity even when the nominal coverage cannot be achieved due to small B. 1D: Set identification (Theorem 1). We sweep confounding strength (γA,γY)∈0,0.3,0.5,0.8,1.02( _A, _Y)∈\0,0.3,0.5,0.8,1.0\^2 and verify τhdo∈[τhobs±2ch]τ^do_h∈[τ^obs_h± 2c_h] in all configurations. The confounding gap grows monotonically from 0 to 0.64 at h=12h=12. Figure 3(b) shows the three-layer uncertainty signature figure: the true τhdoτ^do_h lies outside the calibration band but inside the confounding envelope, demonstrating that estimation and confounding uncertainty must be reported separately. Breakdown values (c12∗=1.89c^*_12=1.89) are an order of magnitude above plausible confounding levels, indicating robust conclusions. Figure 3: Experiment 1D. (a) Identified set at h=12h=12 across confounding levels. (b) Three-layer uncertainty: point estimate (black), calibration band (blue), confounding envelopes (yellow–orange), true τhdoτ^do_h (red dashed). (c) Breakdown frontier. 4.2 Layer 2: Semi-Synthetic with Real Macro Layer 2 replaces the synthetic macro with real FRED monthly unemployment (UNRATE, 2000–2023, T=288T=288). Stress scenarios include the CCAR 2024 Severely Adverse path (Board of Governors of the Federal Reserve System, 2024) and the realized COVID trajectory. We rerun all Layer 1 experiments plus a COVID retrospective. Results are summarized in Figure 4. Figure 4: Layer 2: Semi-synthetic experiments with real FRED unemployment. Row 1: Oracle inequality (2A). Row 2: Mean-state bias (2B), calibration coverage and BeffB_eff (2C). Row 3: Confounding gap (2D), three-layer uncertainty (2D), COVID retrospective (2E). All Layer 1 findings replicate: the oracle inequality holds across three ρ regimes (2A); linear bias is negligible while nonlinear bias reaches 0.078 at h=12h=12 (2B); BeffB_eff decreases monotonically from 29 to 19 as stress severity increases (2C); the confounding gap is strictly monotone in (γA,γY)( _A, _Y) with near-zero gap at γ=0γ=0 (2D). COVID retrospective (2E). Training on 2000–2018 and testing on the realized 2020 unemployment path (spiking to 14.7%), prediction error rises sharply in months 4–7 with ϵn≈0.8 _n≈ 0.8 along the trajectory—3–4× larger than under CCAR. The framework does not claim to predict Black Swan events; rather, the large ϵn _n correctly triggers the abstention mechanism (Remark 4 in §3.4), signaling that calibrated coverage guarantees do not apply. Layer 2 summary. The key additional insight is that calibration against historical tail events (2008 GFC, 2020 COVID) yields conservative but reliable bands—a practically desirable property for regulatory stress testing. Coverage remains high across severities precisely because the calibration window includes extreme episodes, widening the bands. BeffB_eff provides the necessary diagnostic to distinguish “high coverage because the scenario is mild” from “high coverage because the bands are wide.” 4.3 Summary of Experimental Validation Table 2 summarizes which theoretical result each experiment validates. Table 2: Experimental validation matrix. Layer 1 (Simulation) Layer 2 (Semi-Syn.) Theory result 1A 1B 1C 1D 2A–D 2E Oracle inequality (Thm. 2) ✓ ✓ ✓ ✓ Calibration coverage (Prop. 2) ✓ ✓ RweightR_weight / BeffB_eff diagnostics ✓ ✓ ✓ Set identification (Thm. 1) ✓ ✓ Breakdown value ✓ ✓ Empirical application. A natural next step is applying the framework to real loan-level panel data, such as the Fannie Mae Single-Family Loan Performance dataset (∼ 2M loans × 120 months, 2005–2019). We leave this for future work, noting that the semi-synthetic experiments with real FRED unemployment data already validate the framework under realistic macro dynamics. The full experimental plan for Layer 3, including data pipeline, model horse race, and baseline comparisons, is described in Appendix G. 5 Discussion Limitations. Our framework inherits limitations from its building blocks. First, the stationarity assumption (Assumption 3 in Appendix A) requires the conditional mean m(ι,a)m( ,a) to be time-invariant. This is violated during structural breaks—for instance, fiscal stimulus programs during COVID fundamentally altered the relationship between unemployment and credit losses. Experiment 2E demonstrates that the framework correctly diagnoses this via a large ϵn _n, but it cannot correct for it. Extending the framework to accommodate regime-switching dynamics is an important direction for future work. Second, the sensitivity parameter chc_h must be chosen by the analyst. While we provide calibration guidance (the dynamic formula ch=c1(1−ϕU2h)/(1−ϕU2)c_h=c_1 (1- _U^2h)/(1- _U^2) and the breakdown value ch∗c_h^*), the choice of c1c_1 ultimately rests on domain judgment. This is a feature shared with all sensitivity analysis frameworks (Rosenbaum, 2002; Cinelli and Hazlett, 2020): partial identification trades point estimates for honest uncertainty, and the sensitivity parameter is the price of that honesty. Third, the oracle inequality provides a worst-case bound that may be loose in practice. Our experiments show the bound is 2–10× the actual error depending on ρ. Tighter bounds could be obtained by exploiting problem-specific structure (e.g., linearity of m), at the cost of generality. Comparison with existing approaches. The standard industry approach to stress testing fits a regression model (often logistic or gradient-boosted trees) on historical data and extrapolates under the stress scenario, with uncertainty quantified by bootstrap or ad hoc sensitivity checks. Our framework improves on this in three ways: (i) the oracle inequality makes the reliability of extrapolation explicit via ρ and Γh _h; (i) conformal calibration provides formal coverage guarantees with quantified extrapolation cost, rather than bootstrap intervals that assume stationarity; (i) the identified set honestly reports what can and cannot be concluded about the causal effect, rather than implicitly assuming exogeneity. Compared to the MLCM of Cerqua et al. (2023), our framework handles continuous macro paths (not just binary treatment), provides non-asymptotic error theory (not just simulation validation), and replaces implicit exogeneity with explicit sensitivity analysis. Compared to the synthetic control literature (Abadie et al., 2010; Arkhangelsky et al., 2021), our approach does not require untreated comparison units—a crucial advantage in macro stress testing where all units face the same macro environment. Broader applicability. While motivated by credit risk stress testing, the framework applies to any setting with panel data, a common continuous treatment variable, and potential confounding: macroeconomic policy evaluation, epidemiological studies of environmental exposures, and dynamic treatment regimes in healthcare. The key structural features—recursive state evolution, horizon-dependent error compounding, and extrapolation beyond historical support—arise in all of these domains. Empirical application. A natural next step is applying the framework to real loan-level data such as the Fannie Mae Single-Family Loan Performance dataset (∼ 2M loans × 120 months, 2005–2019). The semi-synthetic experiments with real FRED unemployment already validate the framework under realistic macro dynamics; a full empirical application would demonstrate practical value in the regulatory workflow. We provide a detailed experimental plan in Appendix G. 6 Conclusion We have presented a framework for policy-path counterfactual inference in panels that addresses a fundamental gap in stress testing practice: the disconnect between the causal question being asked and the predictive methods being used. By combining causal set identification, non-asymptotic error bounds, and calibration-based uncertainty bands, the framework provides three things that current practice lacks: (i) explicit control of prediction error compounding via the amplification factor ρ; (i) formal coverage guarantees with quantified extrapolation cost via RweightR_weight and BeffB_eff; and (i) honest reporting of causal uncertainty via the identified set and breakdown value ch∗c_h^*. The three-layer uncertainty decomposition τhdo∈[τ^hobs±Δhest±Δhconf]τ^do_h∈[ τ^obs_h± ^est_h± ^conf_h] cleanly separates estimation uncertainty from confounding uncertainty, giving practitioners and regulators a transparent basis for decision-making. The framework does not eliminate uncertainty—it makes uncertainty visible and interpretable. References A. Abadie, A. Diamond, and J. Hainmueller (2010) Synthetic control methods for comparative case studies. Journal of the American Statistical Association 105 (490), p. 493–505. Cited by: §1, §2, §5. D. Arkhangelsky, S. Athey, D. A. Hirshberg, G. W. Imbens, and S. Wager (2021) Synthetic difference-in-differences. American Economic Review 111 (12), p. 4088–4118. Cited by: §1, §2, §5. R. F. Barber, E. J. Candès, A. Ramdas, and R. J. Tibshirani (2023) Conformal prediction beyond exchangeability. The Annals of Statistics 51 (2), p. 816–845. Cited by: Appendix E, §E.1, §1, §2, §3.4. Board of Governors of the Federal Reserve System (2024) 2024 stress test scenarios. Note: https://w.federalreserve.gov/supervisionreg/stress-tests-capital-planning.htm Cited by: §1, §4.2. A. Cerqua, M. Letta, and F. Menchetti (2023) Causal inference and policy evaluation without a control group. arXiv preprint arXiv:2312.05858. Cited by: §2, §3.1, §3.5, Table 1, §5. C. Cinelli and C. Hazlett (2020) Making sense of sensitivity: extending omitted variable bias. Journal of the Royal Statistical Society: Series B 82 (1), p. 39–67. Cited by: §2, §3.2, §5. P. Ding and T. J. VanderWeele (2016) Sensitivity analysis without assumptions. Epidemiology 27 (3), p. 368–377. Cited by: §2, §3.2. D. Frauen, V. Melnychuk, and S. Feuerriegel (2024) A neural framework for generalized causal sensitivity analysis. In International Conference on Learning Representations (ICLR), Cited by: §2. G. Gao, B. Mishra, and D. Ramazzotti (2017) Efficient simulation of financial stress testing scenarios with Suppes-Bayes causal networks. Procedia Computer Science 108, p. 272–284. Cited by: §2. P. Geurts, D. Ernst, and L. Wehenkel (2006) Extremely randomized trees. Machine Learning 63 (1), p. 3–42. Cited by: §3.3, §4. I. Gibbs and E. Candès (2021) Adaptive conformal inference under distribution shift. Advances in Neural Information Processing Systems 34. Cited by: §2. N. Kallus, X. Mao, and A. Zhou (2019) Interval estimation of individual-level causal effects under unobserved confounding. Proceedings of Machine Learning Research (AISTATS). Cited by: §2. C. F. Manski (1990) Nonparametric bounds on treatment effects. American Economic Review 80 (2), p. 319–323. Cited by: §1, §2, §3.2. C. F. Manski (2003) Partial identification of probability distributions. Springer. Cited by: §2. A. Petropoulos et al. (2024) A machine learning approach in stress testing US bank holding companies. International Review of Financial Analysis 96, p. 103421. Cited by: §2. J. Robins (1986) A new approach to causal inference in mortality studies with a sustained exposure period. Mathematical Modelling 7, p. 1393–1512. Cited by: §3.1. P. R. Rosenbaum (1987) Sensitivity analysis for certain permutation inferences in matched observational studies. Biometrika 74 (1), p. 13–26. Cited by: §2, §3.2. P. R. Rosenbaum (2002) Observational studies. 2nd edition, Springer. Cited by: §5. J. Roth, P. H. Sant’Anna, A. Bilinski, and J. Poe (2023) What’s trending in difference-in-differences? a synthesis of the recent econometrics literature. Journal of Econometrics 235 (2), p. 2218–2244. Cited by: §2. D. B. Rubin (1974) Estimating causal effects of treatments in randomized and nonrandomized studies. Journal of Educational Psychology 66 (5), p. 688–701. Cited by: §3.1. J. Schmidt-Hieber (2020) Nonparametric regression using deep neural networks with ReLU activation function. The Annals of Statistics 48 (4), p. 1875–1897. Cited by: §3.3, Remark 3. Z. Tan (2006) A distributional approach for causal inference using propensity scores. Journal of the American Statistical Association 101 (476), p. 1619–1637. Cited by: §2. R. J. Tibshirani, R. F. Barber, E. J. Candès, and A. Ramdas (2019) Conformal prediction under covariate shift. In Advances in Neural Information Processing Systems, Vol. 32. Cited by: §E.1, §2, §3.4. T. J. VanderWeele and P. Ding (2017) Sensitivity analysis in observational research: introducing the E-value. Annals of Internal Medicine 167 (4), p. 268–274. Cited by: §2. V. Vovk, A. Gammerman, and G. Shafer (2005) Algorithmic learning in a random world. Springer. Cited by: Appendix E, §2. C. Xu and Y. Xie (2023) Sequential predictive conformal inference for time series. 202, p. 38707–38727. Cited by: §2. Appendix A Observational Identification Details Definition 2 (Cumulative path effect). For weights wh≥0w_h≥ 0: τ1:Hdo:=∑h=1Hwhτhdoτ^do_1:H:= _h=1^Hw_hτ^do_h and τ1:Hobs:=∑h=1Hwhτhobsτ^obs_1:H:= _h=1^Hw_hτ^obs_h. This section identifies τhobsτ^obs_h from pre-period data. No causal assumptions are needed—this is a conditional prediction problem. Let Ii,tI_i,t denote a state vector: Ii,t=g(Yi,s,Xi,ss≤t,Ass≤t)I_i,t=g(\Y_i,s,X_i,s\_s≤ t,\A_s\_s≤ t). Assumption 2 (State sufficiency). Ii,tI_i,t is a sufficient summary for one-step-ahead prediction: ℒ(Yi,t+1∣Yi,s,Xi,ss≤t,Ass≤t+1)=ℒ(Yi,t+1∣Ii,t,At+1)L(Y_i,t+1 \Y_i,s,X_i,s\_s≤ t,\A_s\_s≤ t+1)=L(Y_i,t+1 I_i,t,A_t+1). Assumption 3 (Conditional stationarity). The conditional distribution ℒ(Yi,t+1∣Ii,t=ι,At+1=a)L(Y_i,t+1 I_i,t= ,A_t+1=a) does not depend on t. In particular, the conditional mean m(ι,a):=[Yi,t+1∣Ii,t=ι,At+1=a]m( ,a):=E[Y_i,t+1 I_i,t= ,\,A_t+1=a] is time-invariant, and so is the conditional distribution of the innovation ξi,t+1:=Yi,t+1−m(Ii,t,At+1) _i,t+1:=Y_i,t+1-m(I_i,t,A_t+1). Assumption 4 (Deterministic state update). There exists a known deterministic function Update:ℐ×ℝ×exo×→ℐUpdate:I×R×X^exo×A such that Ii,t+1=Update(Ii,t,Yi,t+1,Xi,t+1exo,At+1)I_i,t+1=Update(I_i,t,Y_i,t+1,X^exo_i,t+1,A_t+1), where Xi,t+1exo⊆Xi,t+1X^exo_i,t+1 X_i,t+1 are predetermined covariates unaffected by the macro path. Assumption 5 (Strict Exogeneity of Future Paths / No Anticipation). For t≤t0t≤ t_0, the conditional distribution of current outcomes and covariates given the macro history does not depend on future macro path realizations: ℒ(Yi,t,Xi,t∣A1:T)=ℒ(Yi,t,Xi,t∣A1:t)L(Y_i,t,X_i,t A_1:T)=L(Y_i,t,X_i,t A_1:t). Proof of Proposition 1. By Assumption 2, [Yi,t+1∣Ii,t,At+1=a]=m(Ii,t,a)E[Y_i,t+1 I_i,t,A_t+1=a]=m(I_i,t,a), and by Assumption 3, m is time-invariant and identified from pre-period observations (Ii,t,At+1,Yi,t+1):t≤t0−1\(I_i,t,A_t+1,Y_i,t+1):t≤ t_0-1\. By Assumption 3, the full conditional distribution ℒ(Yi,t+1∣Ii,t,At+1)L(Y_i,t+1 I_i,t,A_t+1) is also time-invariant, hence the one-step transition kernel from Ii,tI_i,t to Ii,t+1I_i,t+1 (via Assumption 4) is identified. At h=1h=1: μ1obs(a)=[m(Ii,t0,at0+1)]μ^obs_1(a)=E[m(I_i,t_0,a_t_0+1)], identified since Ii,t0I_i,t_0 is observed (Assumption 5) and m is identified. For h≥2h≥ 2: by iterated expectation, μhobs(a)=[[Yi,t0+h∣Ii,t0+h−1,At0+h=at0+h]]=[m(Ii,t0+h−1,at0+h)],μ^obs_h(a)=E\! [E\! [Y_i,t_0+h I_i,t_0+h-1,A_t_0+h=a_t_0+h ] ]=E\! [m(I_i,t_0+h-1,a_t_0+h) ], where the outer expectation is over Ii,t0+h−1I_i,t_0+h-1, whose distribution conditional on At0+1:t0+h−1=at0+1:t0+h−1A_t_0+1:t_0+h-1=a_t_0+1:t_0+h-1 is determined by iterating the identified transition kernel starting from the observed Ii,t0I_i,t_0. Hence μhobs(a)μ^obs_h(a) is identified, and τhobs=μhobs(aS)−μhobs(aB)τ^obs_h=μ^obs_h(a^S)-μ^obs_h(a^B) follows. ∎ Remark 1 (Simplicity of observational identification). No causal assumptions (exogeneity, structural invariance, positivity) are needed. The proof is a standard iterated conditional expectation argument. The full conditional distribution stationarity (Assumption 3) is essential for h≥2h≥ 2: the transition kernel from Ii,tI_i,t to Ii,t+1I_i,t+1 depends on the full conditional distribution of Yi,t+1Y_i,t+1 (not just the mean) when UpdateUpdate is nonlinear in Y. Appendix B Causal Set Identification Proofs Assumption 6 (Path SUTVA-lite). The potential outcome Yi,t(at0+1:t)Y_i,t(a_t_0+1:t) depends on the path values only, not on how the path is generated. Interference across units operates only through the aggregate macro path. Proof of Theorem 1. By the triangle inequality: |τhdo−τhobs|=|(μhdo(aS)−μhobs(aS))−(μhdo(aB)−μhobs(aB))|≤ch(aS)+ch(aB)|τ^do_h-τ^obs_h|=|(μ^do_h(a^S)-μ^obs_h(a^S))-(μ^do_h(a^B)-μ^obs_h(a^B))|≤ c_h(a^S)+c_h(a^B). Sharpness. For each path a∈aS,aBa∈\a^S,a^B\ separately, let Ut∈−1,+1U_t∈\-1,+1\ with ℙ(Ut=1∣Ii,t)=1/2P(U_t=1 I_i,t)=1/2, and define Yi,t+1(a)=m(Ii,t,a)+γ(a)Ut+ξ~i,t+1Y_i,t+1(a)=m(I_i,t,a)+γ(a)U_t+ ξ_i,t+1, At+1=f(Ii,t)+δ(a)Ut+ηt+1A_t+1=f(I_i,t)+δ(a)U_t+ _t+1, choosing γ,δγ,δ so that μhdo(aS)−μhobs(aS)=+ch(aS)μ^do_h(a^S)-μ^obs_h(a^S)=+c_h(a^S) and μhdo(aB)−μhobs(aB)=−ch(aB)μ^do_h(a^B)-μ^obs_h(a^B)=-c_h(a^B) simultaneously. Assumption 1 places no joint constraint across paths, so both conditions are achievable. (Sharpness is relative to the intentionally weak path-wise bound; stronger structural confounding models yield narrower identified sets.) ∎ Appendix C Estimation Algorithms C.1 Recursive rollout estimator Estimate m(⋅,⋅)m(·,·) by supervised learning on pre-period data (Ii,t,At+1,Yi,t+1):t≤t0−1\(I_i,t,A_t+1,Y_i,t+1):t≤ t_0-1\. Let m m denote the learned predictor. Define the mean-state rollout under path a: Y^i,t0(a) Y_i,t_0(a) =Yi,t0,I^i,t0(a)=Ii,t0, =Y_i,t_0, I_i,t_0(a)=I_i,t_0, Y^i,t+1(a) Y_i,t+1(a) =m^(I^i,t(a),at+1), = m( I_i,t(a),a_t+1), (6) I^i,t+1(a) I_i,t+1(a) =Update(I^i,t(a),Y^i,t+1(a),Xi,t+1exo,at+1), =Update( I_i,t(a), Y_i,t+1(a),X^exo_i,t+1,a_t+1), for t=t0,…,t0+H−1t=t_0,…,t_0+H-1. This is a deterministic rollout replacing random outcomes with point predictions. Define: μ^hrec(a)=1N∑i=1NY^i,t0+h(a) μ^rec_h(a)= 1N _i=1^N Y_i,t_0+h(a), and τ^hrec=μ^hrec(aS)−μ^hrec(aB) τ^rec_h= μ^rec_h(a^S)- μ^rec_h(a^B). C.2 Direct multi-horizon estimator For each h, define mh(ι,a1:h):=[Yi,t0+h∣Ii,t0=ι,At0+1:t0+h=a1:h]m_h( ,a_1:h):=E[Y_i,t_0+h I_i,t_0= ,A_t_0+1:t_0+h=a_1:h]. By stationarity, m^h m_h can be trained by pooling samples across rolling origins in the pre-period. Define: μ^hdir(a)=1N∑i=1Nm^h(Ii,t0,at0+1:t0+h) μ^dir_h(a)= 1N _i=1^N m_h(I_i,t_0,a_t_0+1:t_0+h), and τ^hdir=μ^hdir(aS)−μ^hdir(aB) τ^dir_h= μ^dir_h(a^S)- μ^dir_h(a^B). Remark 2 (Trade-off). The recursive estimator shares a single model across horizons and handles state evolution naturally, but suffers compounding error (Theorem 2). The direct estimator avoids compounding but requires H models conditioning on increasingly high-dimensional inputs. We recommend using both: recursive as primary, direct as robustness check. Appendix D Non-Asymptotic Error Theory Details Define the oracle mean-state trajectory—the same recursion with the true m instead of m m: Y¯i,t0(a) Y_i,t_0(a) =Yi,t0,I¯i,t0(a)=Ii,t0, =Y_i,t_0, I_i,t_0(a)=I_i,t_0, Y¯i,t+1(a) Y_i,t+1(a) =m(I¯i,t(a),at+1), =m( I_i,t(a),a_t+1), (7) I¯i,t+1(a) I_i,t+1(a) =Update(I¯i,t(a),Y¯i,t+1(a),Xi,t+1exo,at+1). =Update( I_i,t(a), Y_i,t+1(a),X^exo_i,t+1,a_t+1). Let μ¯h(a):=N−1∑iY¯i,t0+h(a) μ_h(a):=N^-1 _i Y_i,t_0+h(a). The mean-state bias is bh(a):=[Y¯i,t0+h(a)]−μhobs(a)b_h(a):=E[ Y_i,t_0+h(a)]-μ^obs_h(a). This is zero when UpdateUpdate is affine in Y; nonzero otherwise (Jensen’s inequality gap). Assumption 7 (Lipschitz regularity). On the rollout region ℐroll×I^roll×A: (i) |m(ι,a)−m(ι′,a)|≤Lm‖ι−ι′‖|m( ,a)-m( ,a)|≤ L_m\| - \|; (i) ‖Update(ι,y,x,a)−Update(ι′,y′,x,a)‖≤Lu(‖ι−ι′‖+|y−y′|)\|Update( ,y,x,a)-Update( ,y ,x,a)\|≤ L_u(\| - \|+|y-y |). Assumption 8 (One-step excess risk). With probability ≥1−δn≥ 1- _n: supι∈ℐroll,a∈|m^(ι,a)−m(ι,a)|≤ϵn _ ^roll,a | m( ,a)-m( ,a)|≤ _n, where ϵn→0 _n→ 0 as training sample size n→∞n→∞. Remark 3 (Instantiation). For Hölder-β smooth m on a d-dimensional domain with kernel regression: ϵn=O(n−β/(2β+d)(logn)1/2) _n=O(n^-β/(2β+d)( n)^1/2). For neural networks under compositional assumptions: similar rates hold [Schmidt-Hieber, 2020]. Assumption 9 (Cross-sectional conditional independence). Conditional on A1:TA_1:T and ℱ0:=σ(Ii,t0i=1N)F_0:=σ(\I_i,t_0\_i=1^N), the innovations ξi,tt>t0\ _i,t\_t>t_0 are independent across i with [ξi,t2∣ℱ0,A1:T]≤σξ2<∞E[ _i,t^2 _0,A_1:T]≤σ^2_ξ<∞. Proof of Theorem 2. Part (i). Let ΔjY:=|Y^i,t0+j(a)−Y¯i,t0+j(a)| ^Y_j:=| Y_i,t_0+j(a)- Y_i,t_0+j(a)| and ΔjI:=‖I^i,t0+j(a)−I¯i,t0+j(a)‖ ^I_j:=\| I_i,t_0+j(a)- I_i,t_0+j(a)\|. Both compare two deterministic recursions (no stochastic terms), initialized at the same point: Δ0Y=Δ0I=0 ^Y_0= ^I_0=0. Step 1. Δj+1Y=|m^(I^j,aj+1)−m(I¯j,aj+1)|≤|m^(I^j,aj+1)−m(I^j,aj+1)|⏟≤ϵn+|m(I^j,aj+1)−m(I¯j,aj+1)|⏟≤LmΔjI ^Y_j+1=| m( I_j,a_j+1)-m( I_j,a_j+1)|≤ | m( I_j,a_j+1)-m( I_j,a_j+1)|_≤ _n+ |m( I_j,a_j+1)-m( I_j,a_j+1)|_≤ L_m ^I_j, so Δj+1Y≤ϵn+LmΔjI ^Y_j+1≤ _n+L_m ^I_j. Step 2. Δj+1I≤Lu(ΔjI+Δj+1Y)≤ρΔjI+Luϵn ^I_j+1≤ L_u( ^I_j+ ^Y_j+1)≤ρ ^I_j+L_u _n. Step 3. Unrolling with Δ0I=0 ^I_0=0: ΔjI≤Luϵn∑k=0j−1ρk ^I_j≤ L_u _n _k=0^j-1ρ^k. By strong induction, ΔhY≤ϵnΓh ^Y_h≤ _n _h. (Base: Δ1Y≤ϵn=ϵnΓ1 ^Y_1≤ _n= _n _1. Inductive step: ΔhY≤ϵn+LmLuϵn∑k=0h−2ρk≤ϵnΓh ^Y_h≤ _n+L_mL_u _n _k=0^h-2ρ^k≤ _n _h, using LmLu≤ρL_mL_u≤ρ.) All steps use the single event ℰnE_n; no union bound over horizons is needed. Part (i). |μ^hrec(a)−μhobs(a)|≤|μ^hrec(a)−μ¯h(a)|⏟≤ϵnΓh by (i)+|μ¯h(a)−[Y¯i,t0+h(a)]|⏟Op(N−1/2)+|[Y¯i,t0+h(a)]−μhobs(a)|⏟=|bh(a)|| μ^rec_h(a)-μ^obs_h(a)|≤ | μ^rec_h(a)- μ_h(a)|_≤ _n _h by (i)+ | μ_h(a)-E[ Y_i,t_0+h(a)]|_O_p(N^-1/2)+ |E[ Y_i,t_0+h(a)]-μ^obs_h(a)|_=|b_h(a)|. The first term: Part (i) gives |Y^i−Y¯i|≤ϵnΓh| Y_i- Y_i|≤ _n _h uniformly, so |μ^hrec−μ¯h|≤ϵnΓh| μ^rec_h- μ_h|≤ _n _h. The second term: Y¯i,t0+h(a) Y_i,t_0+h(a) is a deterministic function of Ii,t0I_i,t_0; under Assumption 9, the cross-sectional average concentrates at rate Op(N−1/2)O_p(N^-1/2). The third term is the mean-state bias |bh(a)||b_h(a)|. Part (i). Triangle inequality applied to both paths. ∎ Remark 4 (Contraction vs. expansion). ρ<1ρ<1: Γh→1/(1−ρ) _h→ 1/(1-ρ), errors bounded uniformly. ρ=1ρ=1: Γh=h _h=h, linear growth. ρ>1ρ>1: Γh∼ρh/(ρ−1) _h ρ^h/(ρ-1), exponential. This quantifies “how far ahead can we reliably predict under stress?” Remark 5 (Expanding systems as diagnostic). When ρ>1ρ>1, the bound ϵnΓh _n _h grows exponentially in h, and the recursive rollout becomes unreliable at long horizons. This is not a failure of the theory—it is the intended diagnostic signal. In practice, we recommend the following protocol: 1. Compute ρ (or estimate it empirically via local perturbation; see Appendix F(iv)). 2. If ρ<1ρ<1: use the recursive estimator; the bound ϵnΓh→ϵn/(1−ρ) _n _h→ _n/(1-ρ) is finite. 3. If ρ≈1ρ≈ 1: compare recursive and direct estimators; switch to direct when ϵnΓh>ϵn,hdir _n _h>ε^dir_n,h (Corollary 2). 4. If ρ>1ρ>1: default to the direct estimator for h beyond h∗:=minh:ϵnΓh>ϵn,hdirh^*:= \h: _n _h>ε^dir_n,h\, the crossover horizon. Report the recursive bound as a diagnostic quantifying compounding risk, not as a prediction guarantee. Experiment 1A validates this protocol empirically: at ρ=0.85ρ=0.85, the crossover occurs at h∗≈6h^*≈ 6 months. Corollary 2 (Direct estimator bound). With horizon-specific risk ϵn,hdirε^dir_n,h: |μ^hdir(a)−μhobs(a)|≤ϵn,hdir+Op(N−1/2)| μ^dir_h(a)-μ^obs_h(a)|≤ε^dir_n,h+O_p(N^-1/2). No compounding, no mean-state bias. Appendix E Calibration-Based Uncertainty Bands Details Split the pre-period into training and calibration segments. For each rolling origin tbt_b (b=1,…,Bb=1,…,B), compute the observed-path rollout error: Sb:=|N−1∑i=1N(Y^i,tb+hb(Aobs)−Yi,tb+h)|S_b:=|N^-1 _i=1^N( Y^b_i,t_b+h(A^obs)-Y_i,t_b+h)|. Separate blocks by gaps of length g. Let q1−αq_1-α be the ⌈(1−α)(B+1)⌉ (1-α)(B+1) -th smallest of S1,…,SB,+∞\S_1,…,S_B,+∞\. Assumption 10 (β-mixing). The process (Yi,t,Xi,t,At)t\(Y_i,t,X_i,t,A_t)\_t is β-mixing with β(k)≤Cβe−λkβ(k)≤ C_βe^-λ k. Proposition 3 (Calibration coverage). Under Assumptions 3 and 10, for a new rolling-origin score SB+1S_B+1: ℙ(SB+1≤q1−α)≥1−α−2(B+1)β(g)−1B+1P(S_B+1≤ q_1-α)≥ 1-α-2(B+1)β(g)- 1B+1. This implies: ℙ(Y¯h∈[μ^h±q1−α])≥1−α−2(B+1)β(g)−1B+1P( Y_h∈[ μ_h± q_1-α])≥ 1-α-2(B+1)β(g)- 1B+1, where Y¯h:=N−1∑iYi,t0+h Y_h:=N^-1 _iY_i,t_0+h is the sample mean. For the population mean, the band widens by O(N−1/2)O(N^-1/2): ℙ(μhobs∈[μ^h±(q1−α+rN)])≥1−α−2(B+1)β(g)−1B+1−δNP(μ^obs_h∈[ μ_h±(q_1-α+r_N)])≥ 1-α-2(B+1)β(g)- 1B+1- _N, where rN=O(N−1/2)r_N=O(N^-1/2) and δN→0 _N→ 0. Proof. The block scores Sb\S_b\ are stationary. Under exchangeability, conformal coverage ≥1−α≥ 1-α follows from Vovk et al. [2005]. Under β-mixing, Berbee’s coupling gives an independent copy with coupling error ≤β(g)≤β(g) per pair; a union bound yields coverage gap ≤2(B+1)β(g)≤ 2(B+1)β(g). The 1/(B+1)1/(B+1) term is the standard finite-sample conformal correction. See Barber et al. [2023], Theorem 1, for the complete argument. The score Sb=|μ^hb−Y¯hb|S_b=| μ^b_h- Y^b_h| bounds |μ^h−Y¯h|| μ_h- Y_h| (sample-mean coverage). For population-mean coverage: |μ^h−μhobs|≤|μ^h−Y¯h|+|Y¯h−μhobs|| μ_h-μ^obs_h|≤| μ_h- Y_h|+| Y_h-μ^obs_h|, and |Y¯h−μhobs|=Op(N−1/2)| Y_h-μ^obs_h|=O_p(N^-1/2) by Assumption 9. ∎ E.1 Weighted calibration for stress-path extrapolation Let Jt:=ϕ(Ass≤t)J_t:=φ(\A_s\_s≤ t) be an aggregate macro state. Define: wb(aS):=∏j=1hp(Atb+j=at0+jS∣Jtb+j−1)p(Atb+j=Atb+jobs∣Jtb+j−1).w_b(a^S):= _j=1^h p(A_t_b+j=a^S_t_0+j J_t_b+j-1)p(A_t_b+j=A^obs_t_b+j J_t_b+j-1). (8) Assumption 11 (Bounded likelihood ratio). wb(aS)≤Wmax<∞w_b(a^S)≤ W_ <∞ for all b. Assumption 12 (Score path-homogeneity). The distribution of the rollout error score, conditional on JtJ_t, depends on the macro path only through the likelihood ratio. That is, after reweighting by wbw_b, the calibration scores approximate the score distribution under the stress path. Proposition 4 (Weighted calibration coverage). Under Assumptions 10, 11, and 12, define: q1−αw:=infq:∑bwbSb≤q+Wmax∑bwb+Wmax≥1−α.q^w_1-α:= \q: _bw_b1\S_b≤ q\+W_ _bw_b+W_ ≥ 1-α \. Then: ℙ(Y¯h(aS)∈[μ^h(aS)±q1−αw])≥1−α−Rmix−RweightP( Y_h(a^S)∈[ μ_h(a^S)± q^w_1-α])≥ 1-α-R_mix-R_weight, where Rmix=2(B+1)β(g)R_mix=2(B+1)β(g) and Rweight=Wmax/(∑bwb+Wmax)R_weight=W_ /( _bw_b+W_ ). Proof. Under score path-homogeneity (Assumption 12), the reweighted calibration scores approximate the stress-path score distribution. The weighted conformal framework [Tibshirani et al., 2019, Barber et al., 2023] gives coverage ≥1−α−Rweight≥ 1-α-R_weight under independence. Adding the mixing correction: RmixR_mix as in Proposition 3. ∎ Remark 6 (Extrapolation diagnostic). RweightR_weight quantifies extrapolation cost. If aSa^S is close to history: wb≈1w_b≈ 1, Rweight→0R_weight→ 0. If aSa^S is extreme: wbw_b are large, RweightR_weight is substantial. The effective sample size Beff:=(∑bwb)2/(∑bwb2)B_eff:=( _bw_b)^2/( _bw_b^2) provides a scalar summary. Corollary 3 (Contrast band via Bonferroni). If ℙ(μhobs(aS)∈ChS)≥1−α/2P(μ^obs_h(a^S)∈ C^S_h)≥ 1-α/2 and ℙ(μhobs(aB)∈ChB)≥1−α/2P(μ^obs_h(a^B)∈ C^B_h)≥ 1-α/2, then ℙ(τhobs∈Chτ)≥1−αP(τ^obs_h∈ C^τ_h)≥ 1-α, where ChτC^τ_h is the induced difference band. Appendix F Practical Diagnostics (i) Rolling backtests: one-step and multi-step prediction errors via panel cross-validation. (i) Placebo tests: estimated path contrasts at fake t0′t_0 should be near zero (tests stationarity). (i) Extrapolation diagnostics: report BeffB_eff and RweightR_weight from Proposition 4. (iv) Local amplification: perturb I^i,t I_i,t along rollout trajectories, measure |ΔY^i,t+h|/‖δ‖| Y_i,t+h|/\|δ\| (local analog of ρ). If consistently >1>1, flag expanding-system risk and recommend direct estimator. (v) Mean-state bias check: compare μ¯h μ_h (mean-state rollout) against Monte Carlo g-formula approximation (sample innovations from fitted residual distribution). Large discrepancy ⇒ prefer direct estimator. (vi) Covariate screening: exclude variables affected by macro path unless jointly modeled. Appendix G Experiment Details This appendix provides complete DGP specifications, implementation details, and full result tables for all experiments. Code will be available soon. G.1 Common DGP (Layer 1) Parameters. N=5,000N=5,000 units, T=72T=72 months (60 train + 12 test), t0=60t_0=60, H=12H=12. Macro variable (stochastic). At+1=ϕAAt+ηt+1A_t+1= _AA_t+ _t+1, ηt∼N(0,σA2) _t N(0, _A^2), ϕA=0.9 _A=0.9, σA=0.3 _A=0.3. Confounding variable. Ut+1=ϕUUt+νt+1U_t+1= _UU_t+ _t+1, νt∼N(0,σU2) _t N(0, _U^2), ϕU=0.85 _U=0.85, σU=0.5 _U=0.5. UtU_t is unobserved by the learner. It enters both AtA_t and Yi,tY_i,t: At+1=ϕAAt+γAUt+ηt+1A_t+1= _AA_t+ _AU_t+ _t+1, Yi,t+1=f(Ii,t,At+1)+γYUt+ξi,t+1Y_i,t+1=f(I_i,t,A_t+1)+ _YU_t+ _i,t+1. γA,γY _A, _Y control confounding strength. Outcome (two versions). Linear DGP: Yi,t+1=α+β1Yi,t+β2At+1+β3Xi,t+γYUt+ξi,t+1Y_i,t+1=α+ _1Y_i,t+ _2A_t+1+ _3X_i,t+ _YU_t+ _i,t+1, ξ∼N(0,σξ2)ξ N(0, _ξ^2). Nonlinear DGP: Yi,t+1=α+β1Yi,t+β2At+1+β3At+12+γmaxmax(Yi,t−y¯,0)+β4Xi,t+γYUt+ξi,t+1Y_i,t+1=α+ _1Y_i,t+ _2A_t+1+ _3A_t+1^2+ _ (Y_i,t- y,0)+ _4X_i,t+ _YU_t+ _i,t+1. State. Ii,t=(Yi,t,Yi,t−1,Xi,t,At,At−1)I_i,t=(Y_i,t,Y_i,t-1,X_i,t,A_t,A_t-1). Learner. Extra-Trees Regressor (nestimators=200n_estimators=200, max_depth=8max\_depth=8). Controlling ρ. β1∈0.5,0.85,1.05 _1∈\0.5,0.85,1.05\ corresponding to ρ<1ρ<1, ρ≈1ρ≈ 1, ρ>1ρ>1. G.2 Experiment 1A: Oracle Inequality — Full Results 10 replications per regime. ϵn _n computed along the estimated rollout trajectory. Regime ρ ϵn _n ΓH _H Bound(H)(H) ΔHrec ^rec_H ΔHdir ^dir_H Contracting 0.50 0.121 2.0 0.242 0.026 0.025 Near-Critical 0.85 0.227 5.7 1.299 0.236 0.063 Expanding 1.05 80.20 15.9 1276.5 597.5 743.6 G.3 Experiment 1B: Mean-State Bias — Full Results β1=0.85 _1=0.85, N=3,000N=3,000, 200 replications × 500 MC samples. Nonlinear DGP: γmax=0.12 _ =0.12, y¯=14.0 y=14.0, σξ=2.0 _ξ=2.0. DGP |b1||b_1| |b4||b_4| |b8||b_8| |b12||b_12| Linear 8×10−68× 10^-6 5×10−65× 10^-6 1.9×10−51.9× 10^-5 1×10−61× 10^-6 Nonlinear 1.1×10−41.1× 10^-4 2.0×10−22.0× 10^-2 6.2×10−26.2× 10^-2 9.7×10−29.7× 10^-2 G.4 Experiment 1C: Calibration Coverage — Full Results N=5,000N=5,000, B≈4B≈ 4 calibration blocks, 100 replications. Severity Cov(h=1) Cov(h=6) Cov(h=12) RweightR_weight BeffB_eff Mild (+1σ+1σ) 0.790 0.570 0.620 0.289 4.0 Moderate (+2σ+2σ) 0.740 0.530 0.540 0.340 3.0 Severe (+3σ+3σ) 0.720 0.500 0.540 0.395 2.1 G.5 Experiment 1D: Set Identification — Full Results N=3,000N=3,000, 30 replications per confounding level. (γA,γY)( _A, _Y) τtrueobsτ^obs_true τdoτ^do |gap||gap| 2|gap|2|gap| In set? (0.0, 0.0) 1.004 1.003 0.000 0.001 YES (0.3, 0.3) 2.166 2.358 0.192 0.384 YES (0.5, 0.5) 3.308 3.628 0.320 0.640 YES (0.8, 0.8) 5.097 5.608 0.512 1.024 YES (1.0, 1.0) 6.306 6.946 0.640 1.280 YES Breakdown values (γ=0.5γ=0.5): c1∗=0.677c^*_1=0.677, c6∗=1.757c^*_6=1.757, c12∗=1.894c^*_12=1.894. G.6 Layer 2: Semi-Synthetic — Full Results AtA_t = FRED UNRATE (2000–2023, T=288T=288). N=3,000N=3,000 per replication. 2A: Oracle Inequality. Regime ρ ϵn _n Bound(H)Bound(H) RecErr(H)RecErr(H) Valid? Contracting 0.50 0.128 0.255 0.071 YES Near-Critical 0.85 0.228 1.304 0.435 YES Expanding 1.05 345,496 5,499,310 2,250,900 YES 2B: Mean-State Bias. DGP |b1||b_1| |b6||b_6| |b12||b_12| Linear 1.3×10−51.3× 10^-5 7.2×10−57.2× 10^-5 2.4×10−42.4× 10^-4 Nonlinear 1.8×10−41.8× 10^-4 5.5×10−25.5× 10^-2 7.8×10−27.8× 10^-2 2C: Calibration Coverage. BeffB_eff decreases monotonically: 29 (+1σ+1σ) → 27 (+1.5σ+1.5σ) → 25 (+2σ+2σ) → 19 (+3σ+3σ). Coverage remains high due to calibration window including COVID tail event. 2D: Set Identification. (γA,γY)( _A, _Y) |gap|(h=12)|gap|(h=12) Monotone? (0.0, 0.0) 0.001 – (0.3, 0.3) 0.102 ✓ (0.6, 0.6) 0.203 ✓ (1.0, 1.0) 0.338 ✓ 2E: COVID Retrospective. ϵn≈0.80 _n≈ 0.80 along the COVID trajectory (3–4× the CCAR level). Prediction error peaks at h=6h=6 (∼ 0.75) then partially recovers. G.7 Layer 3: Empirical Application (Planned) Data: Fannie Mae Single-Family Loan Performance (∼ 2M loans × 120 months, 2005–2019). Pipeline: feature engineering → panel CV → model horse race (LASSO, LightGBM, RF, N) → placebo tests → recursive and direct rollout → calibration bands → set identification and breakdown values. Stress path: CCAR 2024 Severely Adverse. Baseline comparisons: linear stress test model and MLCM (binary treatment).