M4
The mathematics
M4 applies the same shrinkage idea to M2:
Equivalently,
This preserves half of M2's state-dependent signal while anchoring the other half at the prior Nasdaq Composite close.
Historical out-of-sample forecasts
Each point below is a rolling pseudo-real-time forecast from the historical model tournament. Each forecast was generated using only observations available before its forecast date.
Click to zoom · drag left/right to pan · pinch on trackpad or touchscreen · double-click to reset
Hover or tap the chart to inspect the forecast and actual Nasdaq Composite close. This is historical tournament performance, not a live Graham Says forecast.
Track the experiment as it happens
Every forecast below was frozen before the US cash market opened. Once the Nasdaq Composite closes, the same row is updated with the observed close and absolute forecast error. Historical tournament observations are not mixed into this prospective record.
| Date | Forecast | Actual close | Absolute error | Status |
|---|---|---|---|---|
| Waiting for the first prospective forecast. | ||||
Common tournament framework
All five models were evaluated on the same historical pseudo-real-time out-of-sample dates. The target variable was the Nasdaq Composite daily log return:
The main pre-open futures signal was
For LAD models, the fitted conditional median return \(\widehat r_t\) was transformed back into a closing-level forecast using
How the tournament avoided look-ahead
For every historical test date, the target observation was excluded from estimation. Training began with 504 eligible observations, expanded until 756 observations were available, and then became a fixed-length 756-observation rolling window.
All five models were scored on the same common sample. The selection metric was mean absolute error:
Lower MAE is better.