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.5% ± 1.1% · promising, not proven
Edge hit rate 63% direction beyond the latest price, 59 leaned days
Range coverage 71% target 68%
Days learned 128 first 15 are warmup and not counted
Call
Fri, Jun 26, 2026 Graded All inputs inClose target $728.47, range $719.73 to $737.32, 28% chance of closing above the prior close ($734.30). Closed at $728.99.
| Checkpoint | P(up) | Target | Range | Actual | In range | vs naive |
|---|---|---|---|---|---|---|
| 10:00 | 18% | $729.43 | $724.14 – $734.77 | $732.38 | Yes | Beat (0.293 vs 0.307) |
| Noon | 26% | $729.40 | $722.78 – $736.09 | $735.36 | Yes | Lost (0.418 vs 0.410) |
| 2:00 | 28% | $729.42 | $721.12 – $737.81 | $734.37 | Yes | Beat (0.306 vs 0.320) |
| Close | 28% | $728.47 | $719.73 – $737.32 | $728.99 | Yes | Beat (0.203 vs 0.235) |
pushes downpushes up
- Pre-market gap
- WSB euphoria (Jev)
- Net dealer gamma
- Room to call wall vs put wall
- Put skew
- VIX futures (VIXY) yesterday
- Implied vs realized vol
- Put/call ratio (log)
Track record
-10.0%-5.0%+0.0%+5.0%+10.0%
naive+1.5%
May 22Jul 16Sep 4Oct 27
40%60%80%100%
68% target70%
May 22Jul 16Sep 4Oct 27
- Kalman: everything, slow memory 13%
- Gaps keep going 11%
- Kalman: options positioning 11%
- Analog days (10 nearest) 11%
- Yesterday's move reverses 9%
- Everyone else 44%
0%50%100%
Apr 27Jun 26Aug 27Oct 27
0%50%100%
22
16
15
19
41
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.4737 | +0.0063 ± 0.0097 | 13.1% | ~986 more days to confirm |
| Gaps keep going | 0.4748 | +0.0052 ± 0.0076 | 11.4% | ~860 more days to confirm |
| Kalman: options positioning | 0.4758 | +0.0041 ± 0.0078 | 11.4% | ~1499 more days to confirm |
| Yesterday's move reverses | 0.4789 | +0.0010 ± 0.0044 | 9.4% | ~8071 more days to confirm |
| Latest price holds (random walk) | 0.4799 | — | 9.2% | the benchmark |
| Analog days (10 nearest) | 0.4801 | -0.0001 ± 0.0081 | 10.6% | no edge so far |
| Kalman: price action | 0.4815 | -0.0016 ± 0.0095 | 7.1% | no edge so far |
| Kalman: Jev text reads | 0.4828 | -0.0028 ± 0.0036 | 7.9% | no edge so far |
| Dealer hedging drift | 0.4855 | -0.0056 ± 0.0047 | 6.6% | no edge so far |
| Yesterday's direction continues | 0.4879 | -0.0080 ± 0.0046 | 6.3% | no edge so far |
| Kalman: everything, fast memory | 0.4922 | -0.0122 ± 0.0149 | 3.4% | no edge so far |
| Gaps fade | 0.5010 | -0.0211 ± 0.0080 | 3.7% | no edge so far |
By checkpoint
| Checkpoint | Skill | From range | From edge | Coverage | Edge hit rate |
|---|---|---|---|---|---|
| 10:00 | +10.2% ± 1.8% | +2.1% | +8.0% | 73% | 77% (69) |
| 12:00 | +1.5% ± 1.0% | +0.7% | +0.9% | 69% | 65% (37) |
| 14:00 | +2.0% ± 0.9% | +1.7% | +0.2% | 71% | 52% (31) |
| Close | +1.5% ± 1.1% | +0.7% | +0.7% | 71% | 63% (59) |
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.