The Lab
Every trading day at 9:25 ET the Lab forecasts where SPY will be at 10:00, noon, 2:00 and the close, then learns from what actually happened. The bar it has to clear is the simplest honest forecast: the latest pre-market price holds.
Skill at the close +1.4% ± 1.1% · promising, not proven
Edge hit rate 64% direction beyond the latest price, 55 leaned days
Range coverage 69% target 68%
Days learned 121 first 15 are warmup and not counted
Latest call
Fri, Oct 16, 2026 Graded All inputs inClose target $773.39, range $770.33 to $776.47, 67% chance of closing above the prior close ($771.79). Closed at $763.25.
| Checkpoint | P(up) | Target | Range | Actual | In range | vs naive |
|---|---|---|---|---|---|---|
| 10:00 | 74% | $772.95 | $771.76 – $774.15 | $771.96 | Yes | Beat (0.265 vs 0.395) |
| Noon | 73% | $773.48 | $771.28 – $775.68 | $769.31 | No | Lost (0.875 vs 0.849) |
| 2:00 | 72% | $773.54 | $771.10 – $776.00 | $766.12 | No | Lost (1.514 vs 1.413) |
| Close | 67% | $773.39 | $770.33 – $776.47 | $763.25 | No | Lost (1.889 vs 1.830) |
pushes downpushes up
- Long bonds (TLT) yesterday
- IWM minus QQQ yesterday
- High yield (HYG) yesterday
- Put skew
- Baseline lean
- Room to call wall vs put wall
- Net dealer gamma
- Distance to gamma flip
Track record
-10.0%-5.0%+0.0%+5.0%+10.0%
naive+1.4%
May 22Jul 14Aug 28Oct 16
40%60%80%100%
68% target60%
May 22Jul 14Aug 28Oct 16
- Kalman: everything, slow memory 16%
- Kalman: options positioning 15%
- Yesterday's move reverses 9%
- Gaps keep going 9%
- Analog days (10 nearest) 9%
- Everyone else 41%
0%50%100%
Apr 27Jun 24Aug 20Oct 16
0%50%100%
20
16
14
18
38
0%25%50%75%100%
Leaderboard
Average CRPS at the close in sigma units (lower is better), and each expert's edge over "latest price holds". Weight is how much the ensemble listens to it today.
| Expert | CRPS | vs naive | Weight | Verdict |
|---|---|---|---|---|
| Kalman: everything, slow memory | 0.4817 | +0.0092 ± 0.0100 | 15.9% | ~398 more days to confirm |
| Kalman: options positioning | 0.4832 | +0.0077 ± 0.0080 | 15.0% | ~355 more days to confirm |
| Gaps keep going | 0.4866 | +0.0043 ± 0.0080 | 9.2% | ~1359 more days to confirm |
| Yesterday's move reverses | 0.4889 | +0.0020 ± 0.0046 | 9.4% | ~2087 more days to confirm |
| Latest price holds (random walk) | 0.4909 | — | 8.3% | the benchmark |
| Kalman: price action | 0.4913 | -0.0004 ± 0.0096 | 7.3% | no edge so far |
| Analog days (10 nearest) | 0.4917 | -0.0008 ± 0.0086 | 9.0% | no edge so far |
| Kalman: Jev text reads | 0.4949 | -0.0040 ± 0.0033 | 6.3% | no edge so far |
| Dealer hedging drift | 0.4968 | -0.0059 ± 0.0050 | 5.8% | no edge so far |
| Yesterday's direction continues | 0.4997 | -0.0088 ± 0.0048 | 5.3% | no edge so far |
| Kalman: everything, fast memory | 0.4999 | -0.0090 ± 0.0148 | 4.2% | no edge so far |
| Gaps fade | 0.5106 | -0.0197 ± 0.0083 | 4.2% | no edge so far |
By checkpoint
| Checkpoint | Skill | From range | From edge | Coverage | Edge hit rate |
|---|---|---|---|---|---|
| 10:00 | +8.8% ± 1.7% | +2.1% | +6.7% | 73% | 77% (64) |
| 12:00 | +1.6% ± 1.0% | +0.6% | +0.9% | 70% | 65% (34) |
| 14:00 | +1.8% ± 1.0% | +1.5% | +0.3% | 71% | 52% (27) |
| Close | +1.4% ± 1.1% | +0.6% | +0.8% | 69% | 64% (55) |
How it learns
- Senses. Options positioning from the 9:25 snapshot, yesterday's moves in stocks, bonds, credit, the dollar and VIX, and Jev's reads of the morning headlines and WSB.
- Experts. Simple fixed hypotheses ("gaps fade"), Kalman filters whose weights drift slowly with the market, and an analog expert that asks what happened on the most similar past days.
- Ensemble. Experts earn weight by forecasting better (Hedge), and every expert keeps a small share so one that fell out of favor can come back when the market changes.
- Range. The range widens after a close lands outside it and narrows after one lands inside, so over time about 68% of closes fall inside it.