NQ-LAD
The frozen production winner. A LAD median regression using the pre-market NQ futures return.
An open forecasting experiment testing whether information available before the US market opens can improve forecasts of the Nasdaq Composite closing level.
Graham Says began as a forecasting exercise and evolved into an automated prospective forecasting experiment exploring whether information available before the US market opens can improve short-horizon forecasts of the Nasdaq Composite closing level.
M1-v1.0 is the fixed forecasting model used by Graham Says.
Nasdaq-100 futures are financial contracts whose prices move with expectations about the future level of the Nasdaq-100, an index containing 100 of the largest non-financial companies listed on the Nasdaq exchange. Unlike the regular US share market, these futures trade for much of the day and night.
That makes them useful for this experiment. While the US share market is closed, new information is still arriving: company news, economic data, changes in interest-rate expectations and developments in overseas markets. Traders can react to that information through futures before the regular US market opens.
M1-v1.0 measures how Nasdaq-100 futures have moved between the previous US market close at 4:00 pm New York time and 9:15 am New York time on the next trading day. You can think of this movement as a pre-opening temperature check of the market: if futures have risen overnight, investors are generally pricing technology-heavy US equities higher than they were at yesterday’s close; if they have fallen, they are pricing them lower.
The model then asks whether that pre-market signal has historically contained useful information about where the broader Nasdaq Composite ultimately finishes the day.
The pre-market futures return is measured as:
It then uses median regression (LAD, τ = 0.5) to estimate the relationship between that pre-market movement and the Nasdaq Composite’s subsequent daily return:
The closing-level forecast is:
In plain English: M1-v1.0 looks at how Nasdaq futures have moved before the opening bell and uses the historical relationship between that movement and the eventual Nasdaq Composite close to produce a forecast for that day’s closing level. Each forecast is generated prospectively, published before the market opens, and later compared with the actual close and a random-walk benchmark.
Graham Says exists solely as a research, educational and portfolio project. The forecasting output is used to demonstrate analytical modelling, reproducible research, cloud software, automated data pipelines and web development.
Nothing published on this website is intended as financial product advice, a trading signal, an investment recommendation, or a recommendation to buy, sell or hold any security, derivative or other financial product.
M1-v1.0 is a conditional-median forecasting model selected using historical out-of-sample testing. Its specification is frozen before prospective observations are scored.
Measure the Nasdaq-100 futures return from the prior US cash-market close to 09:15 New York time.
Feed the locked pre-market return through M1-v1.0 to produce one Nasdaq Composite closing-level forecast.
Keep the forecast frozen, observe the realised close, and record the resulting forecast error.
Candidate 1 won the historical model-selection tournament and remains the frozen production specification. Separately, all five frozen model rules now compete on genuinely new market dates.
Rankings use mean absolute Nasdaq Composite closing-level error on the common prospective sample. Lower is better. Early rankings may be highly unstable.
Five pre-specified models competed on the same 1,623 rolling out-of-sample forecast dates. Scroll to move through them in finishing order. Lower mean absolute error is better.
Genuine forecasts issued before the target session opens are kept separate from historical backtests and retrospective system tests.
| Date | Forecast | Actual | Absolute error | Error % |
|---|
Candidate 1 was tested against the random-walk Benchmark across 1,623 rolling pseudo-out-of-sample historical forecasts. The exercise asks two separate questions: whether Candidate 1 improves forecast accuracy, and whether its NQ pre-market signal remains economically persistent through time.
Each coefficient comes from a rolling LAD estimation using information preceding the forecast observation. The NQ loading remained positive throughout the historical tournament, while its magnitude strengthened into 2022–23 and subsequently declined.
Historical MAE fell from 161.07 index points for the Benchmark to 130.22 for Candidate 1 — a reduction of 30.85 points, or 19.15%. Candidate 1 also recorded lower annual MAE in every calendar year represented in the tournament.
The rolling NQ coefficient remained positive in every estimation window, but its magnitude was not constant. The evidence is therefore more consistent with a persistent, time-varying signal loading than with a fixed structural coefficient.
Four short reference pages separate the market definition, the instrument, the price-discovery evidence and the limits of what that evidence supports.
The model was first developed locally, then migrated into a cloud workflow. The production engine and post-close scorer have both been independently reproduced on a Linux cloud runner, so the process does not depend on my Mac being switched on.
Programmatic futures data retrieval with explicit endpoint, timing and contract-roll handling.
Forecast generation and post-close scoring are designed to run remotely through version-controlled cloud workflows.
Model versions, forecasts and scored outcomes are recorded separately to distinguish live evidence from retrospective tests.
| Date | Forecast | Actual | Error | Status |
|---|---|---|---|---|
| Loading forecast record… | ||||
This globe does not use your location. It does not count visitors, identify countries, create a visitor ID, or send location data anywhere. The Sun position and New York clock are calculated locally from the current time.