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.3% ± 1.2% · promising, not proven
Edge hit rate 63% direction beyond the latest price, 52 leaned days
Range coverage 70% target 68%
Days learned 111 first 15 are warmup and not counted
Call
Fri, Jul 31, 2026 Graded All inputs inClose target $745.87, range $740.92 to $750.85, 78% chance of closing above the prior close ($741.69). Closed at $747.03.
| Checkpoint | P(up) | Target | Range | Actual | In range | vs naive |
|---|---|---|---|---|---|---|
| 10:00 | 89% | $745.10 | $742.51 – $747.71 | $740.35 | No | Beat (1.024 vs 1.213) |
| Noon | 78% | $745.22 | $741.39 – $749.06 | $740.19 | No | Beat (0.732 vs 0.873) |
| 2:00 | 79% | $745.56 | $740.99 – $750.16 | $744.53 | Yes | Beat (0.239 vs 0.264) |
| Close | 78% | $745.87 | $740.92 – $750.85 | $747.03 | Yes | Beat (0.239 vs 0.248) |
pushes downpushes up
- IWM minus QQQ yesterday
- VIX futures (VIXY) yesterday
- Room to call wall vs put wall
- Short vs long realized vol
- SPY yesterday
- WSB euphoria (Jev)
- Dollar (UUP) yesterday
- Put/call ratio (log)
Track record
-10.0%-5.0%+0.0%+5.0%+10.0%
naive+1.3%
May 22Jul 8Aug 20Oct 2
40%60%80%100%
68% target70%
May 22Jul 8Aug 20Oct 2
- Kalman: options positioning 16%
- Kalman: everything, slow memory 14%
- Gaps keep going 10%
- Yesterday's move reverses 9%
- Analog days (10 nearest) 9%
- Everyone else 42%
0%50%100%
Apr 27Jun 18Aug 11Oct 2
0%50%100%
16
14
14
17
35
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.4824 | +0.0082 ± 0.0106 | 14.3% | ~549 more days to confirm |
| Kalman: options positioning | 0.4825 | +0.0080 ± 0.0086 | 15.6% | ~345 more days to confirm |
| Gaps keep going | 0.4853 | +0.0053 ± 0.0087 | 10.3% | ~945 more days to confirm |
| Yesterday's move reverses | 0.4888 | +0.0018 ± 0.0049 | 9.4% | ~2917 more days to confirm |
| Latest price holds (random walk) | 0.4906 | — | 8.7% | the benchmark |
| Kalman: price action | 0.4921 | -0.0015 ± 0.0096 | 6.6% | no edge so far |
| Analog days (10 nearest) | 0.4923 | -0.0017 ± 0.0093 | 8.8% | no edge so far |
| Kalman: Jev text reads | 0.4949 | -0.0043 ± 0.0035 | 6.5% | no edge so far |
| Dealer hedging drift | 0.4972 | -0.0066 ± 0.0055 | 5.8% | no edge so far |
| Yesterday's direction continues | 0.4994 | -0.0088 ± 0.0051 | 5.9% | no edge so far |
| Kalman: everything, fast memory | 0.5003 | -0.0098 ± 0.0158 | 4.0% | no edge so far |
| Gaps fade | 0.5119 | -0.0213 ± 0.0090 | 4.1% | no edge so far |
By checkpoint
| Checkpoint | Skill | From range | From edge | Coverage | Edge hit rate |
|---|---|---|---|---|---|
| 10:00 | +8.3% ± 1.7% | +1.8% | +6.5% | 72% | 75% (55) |
| 12:00 | +1.6% ± 1.1% | +0.6% | +1.0% | 70% | 63% (32) |
| 14:00 | +1.8% ± 1.0% | +1.6% | +0.2% | 71% | 50% (26) |
| Close | +1.3% ± 1.2% | +0.5% | +0.8% | 70% | 63% (52) |
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.