QM024 Hands-on Lab
Forecast Combination and Model Averaging
Objective
Compare equal-weight forecast averaging with covariance-estimated sum-to-one weights in a controlled forecast-error experiment.
The three forecast columns are deliberately constructed as the target plus correlated forecast errors. They are not presented as fitted economic models. This isolates the question QM024 is about: what happens when combination weights are estimated from a finite history of correlated forecast errors?
Run
From the QM024 folder:
python labs/python/qm024_forecast_combination.pyThen vary the actual estimation window and the shared error component:
python labs/python/qm024_forecast_combination.py --window 60
python labs/python/qm024_forecast_combination.py --window 120 --common-scale 1.0What to inspect
The script reports the training error-correlation matrix, the covariance condition number, standalone component holdout MSEs, equal weights, estimated weights, and both combined holdout MSEs.
Experiment
Shorten --window to increase estimation noise, or increase --common-scale to make forecast errors more dependent. Estimated weights can become extreme or unstable and need not outperform equal weighting out of sample.
The data are synthetic and do not establish an empirical advantage for either combination rule.