SPB Git

spb/wp29_uqo

Public

# Contract — F3-conf-04

Question. For 40 rolling quarterly origins (2015-10-01 … 2025-07-01), does a chosen time-series model forecast Canadian quarterly CPI inflation (400·Δln of quarterly-average NSA CPI) better than the seasonal-naive forecast at h = 1, 2, 4; and at h = 4 is the mean squared-error loss differential distinguishable from 0 using a HAC (long-run variance) SE with truncation lag ≥ 3?

Estimands. Out-of-sample RMSE and MAE per horizon for snaive and model; rel. improvement 1 − RMSE_model/RMSE_snaive; at h=4 d̄ = mean(e²_snaive − e²_model), HAC SE, DM stat, two-sided p-value. Meaningful under covariance-stationarity of d_t (DM assumption); small sample (40, overlapping) → asymptotic approximation is crude.

Outputs. out/forecasts.csv (240 rows: origin_date,target_date,horizon,forecast,actual,model); out/results.json (keys listed in TASK.md: task_id, model_name, model_description, n_origins, first_origin, last_origin, rmse/mae snaive & model h1,h2,h4, rel_improvement_rmse_h1/h2/h4, loss_diff_mean_h4, loss_diff_se_h4, hac_lags_h4, hac_kernel_h4, dm_stat_h4, dm_pvalue_h4, feasibility, feasibility_reason, data_issues, n_input_rows, n_analysed, random_seed); out/report.md (Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues); out/analysis.py; out/claims.json.

Information rules. Forecast at origin t uses only quarters ≤ t (expanding window, including model selection). Target = infl of t+h. Snaive = infl of t+h−4. Errors on current vintage; no real-time claims.

Invalidating conditions. Missing target quarters (last target 2026-07-01 must exist), any look-ahead in estimation/selection, HAC lag < 3, data hash mismatch.

Files · main
Menu

Theme