Historical model tournament · #1 historical winner

M1

NQ-LAD
130.2191historical OOS MAE · index points

The mathematics

M1 estimates the conditional median of the Nasdaq Composite daily return from the pre-open Nasdaq-100 futures return:

\[ Q_{0.5}(r_t^{IXIC}\mid x_t)=\alpha+\beta x_t. \]

At \(\tau=0.5\), LAD estimates the coefficients by minimising absolute residuals:

\[ (\widehat\alpha,\widehat\beta)= \arg\min_{\alpha,\beta} \sum_{i\in\mathcal T} \left|r_i^{IXIC}-\alpha-\beta x_i\right|. \]

The predicted return is

\[ \widehat r_t^{M1}=\widehat\alpha+\widehat\beta x_t, \]

and the level forecast is

\[ \widehat S_t^{M1}=S_{t-1}\exp(\widehat r_t^{M1}). \]

Interpretation

\(\beta\) captures how the eventual Nasdaq Composite return historically co-moved with the pre-opening futures move.

M1-v1.0 is the frozen Graham Says production model. The tournament chose the model family historically; production forecasting does not re-run model selection after seeing each new result.

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.

Prospective record
Waiting for the first prospective forecast.
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:

\[ r_t^{IXIC}=\ln\left(\frac{S_t}{S_{t-1}}\right). \]

The main pre-open futures signal was

\[ x_t=r^{NQ}_{t,\mathrm{pre}} =\ln\left(\frac{NQ_{t,09:15}}{NQ_{t-1,16:00}}\right). \]

For LAD models, the fitted conditional median return \(\widehat r_t\) was transformed back into a closing-level forecast using

\[ \widehat S_t=S_{t-1}\exp(\widehat r_t). \]
Loss functionAbsolute Nasdaq Composite closing index-point error
LAD quantile\(\tau=0.50\)
Minimum training sample504 observations
Maximum rolling window756 observations
Common OOS dates1,623
Selection ruleLowest full-OOS raw index-point MAE

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:

\[ MAE_m=\frac{1}{T}\sum_{t=1}^{T}\left|S_t-\widehat S_{m,t}\right|. \]

Lower MAE is better.