The Lab
April 1, 2026

Forecast what any stock will do tomorrow based on today's move.

Daily Momentum picks up today's close-to-close move, the VIX regime, and the 5-day MA position automatically, then finds every historical day that matched all three and shows the next-day distribution.

SPY closed +0.8% today. VIX is at 17. SPY is sitting just below its 5-day moving average. You think you know what tomorrow looks like, but you don't. Not really. You're guessing from the last few days you remember, and your memory is shorter and more biased than you'd like to admit.

Here's the question the data can actually answer: across 20 years of SPY history, what happened the day after every other day that closed +0.8% with VIX under 20 and price below the 5-day MA? That's a real, narrowly-defined comparison group. The win rate, the average forward return, the best and worst outcomes from that bucket are facts, not vibes.

The Daily Momentum tool builds that comparison group automatically and reads it back to you.

Daily Momentum showing the auto-detected today's move, VIX regime, 5-day MA position, four stat cards, and the next-day return distribution histogram

Pick a ticker. The Parameters sidebar populates itself: Today's Move (the close-to-close % change), 5-Day MA Position (above or below), and VIX Regime (Under 20, Over 20, or Over 30) are all auto-detected from the latest data. You don't dial anything in.

The main panel then shows what happened the next trading day on every historical bar that matched all three filters: the next-day green rate, the average return, the best and worst single days, plus a histogram showing where returns clustered and a collapsible event log listing every match by date.

What the Tool Shows You

Four stat cards, a return histogram, and a per-event log, all running off auto-detected today/VIX/MA filters that tighten the historical sample to setups exactly like today's.

Toggle

Tomorrow's vs Today's Forecast

The default mode forecasts tomorrow's close-to-close based on today's move. Flip the toggle and the tool re-runs against yesterday's completed move to forecast today's open-to-close session, useful for intraday sizing decisions.

Stat Cards

Next-Day Green, Avg, Best, Worst

Four numbers off the matching set: % green next day, average return, highest single next-day return, and lowest single next-day return. Hover any card for the exact filter context that built the sample.

Distribution

Return Histogram

A column chart showing every match's next-day return bucketed into 0.5% bins. See whether outcomes cluster tight around zero, lean continuation, or spread heavy-tailed in both directions.

Auto Filters

Move + VIX Regime + 5-Day MA

Every historical bar is filtered to days where the move size (within an auto-laddered tolerance), the VIX opening regime, AND the price's position vs its 5-day MA all match today. The same SPY +1% read very differently across these bands.

Sample Quality

Match Count + Sample Warning

The tool reports the historical match count out loud (e.g. "33 historical days moved between +0.2% and +0.3%") and surfaces a warning when the sample is too thin to read confidently. Tolerance auto-widens from 0.1% upward to find a usable bucket.

Audit

Per-Event Log

A collapsible table listing every matching historical day with date, that day's move, and the next day's return. Useful for spotting whether the average is one explosive outlier or a tight, well-behaved cluster.

Why all three filters matter

A single +1% day is meaningless without context. The historical comparison group changes drastically when you condition on the surrounding state, and the next-day distribution changes with it.

Today's Move (within an auto-tolerance)

Obvious but worth saying: a +0.2% close and a +2.0% close are not the same setup. The tool starts at a tight ±0.1% tolerance band around today's move and widens automatically until it finds enough historical matches to be meaningful. The match info text tells you exactly which band ended up being used.

VIX Regime (auto-detected from the latest VIX open)

A +1% SPY day with VIX opening at 14 lives in a different statistical world than a +1% SPY day with VIX opening at 32. The first is a routine drift in calm tape; the second is a bounce inside a volatility event. Including both in the same sample dilutes the read on what's likely tomorrow.

5-Day MA Position (auto-detected from the latest close)

A ticker that's just had a green day above its 5-day MA is in a continuation setup. A ticker that's had the same green day but is still below its 5-day MA is closer to a counter-trend bounce. The next-day distributions diverge meaningfully, especially in trending markets, so the tool filters historical matches to the same side of the 5-day MA as today.

All three filters apply simultaneously. The sidebar reads them off so you can see what's driving the sample. If you want to override an auto-detected filter, the underlying handlers are wired up. Advanced users can adjust them via session state, but the default workflow is "open the page and read the answer."

How Traders Are Using It

Five workflows that lean on the auto-filtered next-day distribution.

1

Overnight hold decisions

You're long SPY into the close after a +1% day. Does the next-day distribution favor staying long or trimming? Win rate plus average return give you a quick read; the histogram tells you whether the right tail is fat or thin.

2

Sizing today's open-to-close trade

Flip to Today's Forecast at the open. The tool reads off yesterday's completed move plus today's VIX/MA state and shows you the open-to-close distribution from every prior day with the same setup. That's the right read for an intraday entry.

3

Spotting bias before earnings

If a stock has rallied +3% on the day before its earnings release and the historical comparison group skews red the next day, that's a real edge against holding through the print. Run it on AAPL, NVDA, or any individual name.

4

Sanity-checking a thesis

You think "after a green day at low VIX, SPY usually fades." Open the tool. If the next-day green rate is 53% and the average return is +0.05%, your thesis is wrong. The data calls it a coin flip with a slight upward drift. Better to know now.

5

Auditing the sample with the event log

A 60% next-day green rate on 8 matches is noise. The same rate on 80 matches is signal. Open the per-event log to see how the match count was built and whether the average is dominated by one or two outlier days from a specific historical regime.

Try it on the trade you're sizing now

Daily Momentum is available in your dashboard under Forecasting Tools. CI Volatility members see the full stat cards, distribution chart, and event log; free users see a blurred preview with a sign-up prompt.

Open Daily Momentum

Comments

Loading comments…