QM024 Hands-on Lab

Forecast Combination and Model Averaging

← Back to Method article

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.py

Then 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.0

What 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.