Research

Trading Yesterday's Winning Style Lost $294,894 on Twelve and a Half Years of ES

The regime filter promises that you can tell a trend day from a reversion day and trade the matching style. We tested it on 3,224 ES sessions back to 2014. Trend days repeat 30.0% of the time against a shuffled control of 33.3% — below its own placebo. And switching daily to whichever style paid yesterday lost $91.55 per session, worse than either style traded blindly.

The regime filter is the most reasonable-sounding rule in trading. Work out whether today trends or reverts, then trade the breakout or fade the extremes accordingly. We ran it on 3,224 ES regular sessions going back to January 2014, and the premise fails at the first step. A trend day is followed by another trend day 30.0% of the time. Shuffle the same days into random order and the figure is 33.3%. Day character is not sticky. It is, very slightly, the opposite of sticky.

We tested this on seven years of NQ in June and found no streaks. The S&P archive is twelve and a half years, and it lets us do one thing the Nasdaq run did not. That study had its own controls — 1,000 shuffled nulls and 1,500 random-regime placebos — but it never traded the rule. Here we put a dollar figure on it.

The rule

  • Day character is Kaufman efficiency on the regular session: absolute open-to-close, divided by the high-low range.
  • Sort all 3,224 days by efficiency and cut into thirds. Efficiency at or above 0.616 is a trend day (1,075 days). At or below 0.326 is a reversion day (1,075 days). The remaining 1,074 sit in the middle.
  • Ask three questions in order. Does character repeat? Does anything else repeat? Can yesterday forecast today?
  • Then trade it. Breakout = take the direction of the first 30 minutes and hold to the close. Fade = take the opposite of the first 30 minutes and hold to the close. Switch = trade whichever of those two would have paid yesterday.

One contract, no stop, no filter.

Trend days do not repeat, and neither do reversion days

The chart below puts the measured repeat rate next to the control. The control is the same 3,224 days shuffled into random order 2,000 times, which destroys any ordering effect while keeping the mix exactly as it was. If character were sticky, the measured bar would sit above the shuffled band.

Measured repeat rate for trend and reversion days on ES against a shuffled control

Measured repeatShuffled meanShuffled 95th
Trend day → trend day30.0%33.3%35.2%
Reversion day → reversion day29.3%33.3%35.2%

Both bars land under their placebo. A trend day makes the next day very slightly less likely to be a trend day than random reordering would. The gap is small and we are not selling it as an edge in the other direction. What it rules out is the thing the regime filter needs: there is no version of this table where “we have had a trend day, so lean into another one” is supported.

What persists is size, not shape

Something in the tape does carry over from one day to the next, and it is the wrong variable for a style filter. This chart runs the lag-1 autocorrelation of three daily series side by side.

Lag-1 autocorrelation of day character, daily range and absolute return on ES

SeriesLag 1Lag 5
Day character (efficiency)−0.069−0.033
Daily range+0.717+0.540
Absolute return+0.379

Range autocorrelates at +0.717 one day out. A full week later it is still at +0.540. That is volatility clustering — the one property of a trading day that carries forward with any force. Day character carries forward with none: it starts negative and stays there, as the table shows.

The distinction matters more than it sounds. Volatility clustering tells you how big tomorrow will be. It says nothing about whether tomorrow spends its range going one way or rotating. The market remembers magnitude for weeks and forgets shape overnight.

Nothing forecasts tomorrow’s character

We took five things you could know at yesterday’s close and correlated each against today’s efficiency.

Yesterday’s featurerp
Trend efficiency−0.0700.0001
Daily range+0.0310.0795
CVD (normalised)−0.0210.2412
Overnight range+0.0150.3904
First 30-minute range+0.0320.0716

The first row is the one worth pausing on. At 3,224 observations, r = −0.070 clears significance comfortably at p = 0.0001. It is a real relationship. It is also worth nothing: an r of that size explains half a percent of the variance in tomorrow’s character, and its sign points the wrong way for the strategy anyone wants to build. This is the standard trap in a long sample. A big enough archive will hand you significance on effects too small to pay a round trip.

The other four do not even get that far. Order flow, measured as normalised cumulative delta, comes in at −0.021. The overnight range, which is the input most session-based systems lean on, manages +0.015.

The practical test

Correlations are arguable. The dollar test is not. We traded all three rules across the same 3,221 sessions, one contract, costs in.

Always breakoutAlways fadeSwitch to yesterday’s winner
Sessions3,2213,2213,221
Win rate48.1%46.6%45.4%
Average per session−$11.20−$47.80−$91.55
Median−$29.50−$29.50−$42.00
Total−$36,069.50−$153,969.50−$294,894.50
Profit factor0.9760.9000.818
Max drawdown$88,347.50$164,797.00$340,109.00
t−0.43−1.85−3.54
p0.66530.06490.0004

Start with the two baselines, because they set the bar. Always taking the first 30-minute direction to the close loses $11.20 a session. That is a coin flip paying the commission, at t = −0.43. Always fading is worse at −$47.80, and its t of −1.85 still leaves it inside the range of noise.

Then the adaptive rule. Switching daily to whichever style paid yesterday loses $91.55 a session, more than either of the two ingredients it is built from. It is also the only one of the three that is statistically distinguishable from zero, at t = −3.54. Its drawdown is $340,109, roughly four times the breakout baseline’s.

This is the sharpest result in the study, and it is not a null. Adaptive switching is not a neutral overlay that fails to add value. It subtracts value, reliably, over twelve and a half years. The mechanism follows from the first table. Character is mildly anti-persistent, so the rule that chases yesterday’s winner systematically buys each style at its turning point. It is a machine for being one day late.

The median row makes the cost structure plain. Both always-on rules have a median session of exactly −$29.50, which is the round trip and nothing else. The switching rule’s median is −$42.00.

What we changed in our own book

Nothing, and that is the point of running it. Our live sleeves are continuation rules that do not consult a regime label before entering, and this test is the reason we have never added one. Three things we have written down from the ES run:

  1. No style-selection layer, on either index. The NQ study said a switcher could not beat a placebo. The ES study says the specific, obvious version of it loses $294,894.50 against a breakout baseline that loses $36,069.50.
  2. Volatility clustering stays where it is — in sizing. An autocorrelation of +0.717 on daily range is usable. It is usable for how much, never for what.
  3. A p-value at 3,224 observations is not a green light. The r = −0.070 row is exactly the kind of finding that survives a significance test and dies at the cost line.

The five extra years matter here for a different reason than usual. They do not change the direction of the answer. They change how confident we can be that the switching loss is real rather than a bad stretch, and at 3,221 sessions the t is −3.54.

If you want to reproduce this, the inputs are ours and they are for sale: ES ticks back to 2014, aggressor side on every print, in the same archive this ran on. The historical data packages carry the same files.

Methodology: ES regular-session bars (09:30–16:00 New York) built from our own tick archive, 2 January 2014 to 10 September 2026, 3,224 sessions. Day character is Kaufman efficiency, |close − open| / (high − low), split into terciles at 0.616 and 0.326. Persistence tested against 2,000 random shuffles of the same day labels. Breakout takes the first 30-minute direction to the close, fade takes the opposite, switch takes whichever paid on the prior session; 3,221 sessions after the lookback. One contract, $4.50 commission plus two ticks slippage per round trip, $29.50 on ES. t-statistics are on the per-session series.

Frequently asked questions

Do trend days come in streaks on the S&P?

No, and on ES they come slightly less often than chance. A trend day is followed by another trend day 30.0% of the time across 1,075 trend days. Shuffling the same 3,224 sessions into random order 2,000 times gives 33.3%, with a 95th percentile of 35.2%. The measured figure sits below its own placebo, not above it.

Does anything about a trading day carry over to the next one?

Size does, shape does not. The lag-1 autocorrelation of daily range is +0.717 and of absolute return +0.379, while the day's trend efficiency comes in at −0.069. Five days out, range is still at +0.540 and efficiency has faded to −0.033.

Can any indicator forecast tomorrow's day character?

None of the five we tested reaches a usable size. Yesterday's efficiency correlates with today's at −0.070, which is statistically real at p = 0.0001 and far too small to trade. Yesterday's range (+0.031), CVD (−0.021), overnight range (+0.015) and first-30-minute range (+0.032) are all indistinguishable from nothing.

What happens if you switch styles based on what worked yesterday?

It is the worst of the three options we tested. Switching to yesterday's winning style lost $91.55 per session over 3,221 sessions, $294,894.50 in total, at t = −3.54. Always trading the breakout lost $11.20 per session and always fading lost $47.80, so the adaptive rule underperformed both of its own ingredients.

What data was this run on?

Our own ES tick archive, 3,224 regular-session days from 2 January 2014 to 10 September 2026, in New York time with the real aggressor side on every print. Day character is Kaufman efficiency, absolute open-to-close divided by range, split into thirds at 0.616 and 0.326. Costs are $4.50 commission plus two ticks per round trip, $29.50 on ES.

Keep reading

Research

Black-Scholes, Tested Against 7.5 Years of Real Option Chains: What the Famous Formula Gets Wrong — and Right

'The most powerful formula in finance' is making the rounds again. Instead of explaining it, we tested it: 1,872 daily QQQ option chains from our own recorded data. The 'constant volatility' assumption fails exactly as advertised (the smirk is visible in one chart), the formula's central number is a genuinely good forecast — better than history — and the one trade the story implies for retail loses after spreads. All three claims, measured.

Research

"A 2% Drop Always Bounces" — We Tested Buy-the-Dip on 7 Years of NQ

Every trader has a friend with the same rule: when it falls 2%, it always comes back. We tested the literal rule and every variant of it on seven years of NQ daily data with real costs. The verdict is more interesting than a debunk: dip-buying on NQ is a real, statistically significant edge — but it peaks at MODERATE dips and fades exactly where the folk wisdom says it should be strongest. And 'always' is doing a lot of lying.