{
 "formula": "composite = equal-weight mean of component Z-scores; NO intercept/offset (removed: prior full-sample re-centre was lookahead bias)",
 "selected_model": "cand_4comp_selected",
 "components": [
  "cta",
  "volcontrol",
  "cftc",
  "naaim"
 ],
 "terminology": {
  "fit_window": "2010-01..2025-06",
  "holdout_model_selection_period": "2025-07..2026-06",
  "note": "The 2025-07..2026-06 window was used to SELECT the 4-component model over alternatives (incl. the 5-component variant with risk-parity). It is a holdout model-selection period, NOT an untouched final test. No untouched final test remains."
 },
 "selected_metrics": {
  "train": {
   "rmse": 0.4137,
   "corr": 0.8924,
   "n": 756
  },
  "holdout": {
   "rmse": 0.4193,
   "corr": 0.7826,
   "n": 52
  },
  "full": {
   "rmse": 0.4141,
   "corr": 0.8898,
   "n": 809
  }
 },
 "riskparity_removal_rationale": "risk-parity ERC solver collapsed to degenerate 0.0/1.0 corner solutions (1682 days at 0.0, 436 at 1.0) in volatile correlation regimes; removing it improved train/holdout/full correlation and eliminated the artifact",
 "april_2025_note": "The reconstruction captures the April-2025 drawdown (model trough -0.82 late-April vs digitised target -1.04 mid-April) but ~0.2 shallower and ~2 weeks later, because the trend/vol components react to price with a lag and no fast sentiment/flow inputs are available freely."
}