Legend's Buy Day — full receipts

On the morning of Sept 11 Linda Raschke posted one line: "SP: Buy day after 4 days high to low, but odds are that most of the upside unfolded overnight with cave fill repair." That is a Taylor Trading Technique read: after a multi-day decline the next session is a "buy day", and this time the overnight session had already done the work. I turned both halves into rules and ran them on 18.7 years of ES 1-minute data, in sample first (2008-2018), then out of sample (2019 to Sep 2026). The half that held is the overnight one. This page is every trade, the sweep that picked the rule, and the checks a quant would run on it.
The rule on this page: after the third straight lower daily close of a fresh decline, buy one ES contract at the 18:00 ET Globex open and sell it at the 09:30 ET open. No stop, no target, 0.5 pt round trip. 230 trades, 61% win rate, 1.83 profit factor, +$50,780 on one contract, max drawdown -$14,833. In sample t 1.70, out of sample t 2.45. It is a small, real-looking overnight tendency, about 12 nights a year. It is not a money printer, and the deflated Sharpe below says so in numbers.

📦 Full reproduction package

02 is a standalone pandas backtest for both legs that runs on any 1-minute ES CSV; 03 compares your trades to the frozen ledger date by date. reference/ has every trade since 2008, the 616-cell sweep, the stop/target sweep, the deflated Sharpe and PBO code with output, and the sweep and quant code with output. The 1-minute bars are licensed and not included; on my file the script reproduces this page to the point.

⬇ download full package.zip
Statistical significance & selection
Risk, tail, exits
1 · The rule, in words

Session day. A session runs from 18:00 ET the prior evening to 17:00 ET. Daily bars are full-session bars, so the close is the 16:59 ET print.

Signal. The three sessions before today each closed below the session before it, and the session before those did not. In Taylor's count today is the session after day 3 of a fresh decline. "Exactly three" is the cell the in-sample sweep picked; "three or more" and "exactly four" are in the neighborhood table and behave the same way with more noise.

Trade. Buy the open of the first 1-minute bar of the session (18:00 ET). Sell the open of the 09:30 ET bar. No stop, no target. One contract. Nothing after the entry is used to decide anything.

Cost. 0.5 ES points per round trip ($25): two market orders into the 18:00 and 09:30 minutes. The cost table below runs it to 2.0 points.

Why overnight and not the day session. Her sentence had two halves. The first half (a buy day is coming) tested as a positive overnight drift and a flat day session. The second half (the upside unfolded overnight, so the open is late) tested as: buying the 09:30 open after the overnight already ran 0.3 ATR or more loses money in both windows. Section 8 shows both.

2 · Every trade since 2008230 overnight · 42 day
One ES contract, 0.5 pt round trip, FirstRateData continuous ratio-adjusted 1-minute bars, ET wall clock. Price levels are on the back-adjusted series, so pre-2020 levels are not literal contract prints; point differences and $ are exact. Cumulative $ is per leg in exit order. The chart is the overnight leg.
⬇ Download full CSV
Filter Overnight leg Day leg (second look) Winners Losers 2008-2018 2019 → 2025 → 2026
Cumulative $ of the rows selected above, recomputed per filter
3 · Windows, and the control
The overnight leg in six windows. The in-sample / out-of-sample split is the one the sweep used: the rule was picked on 2008-2018 and then run forward. Below it, the control that matters: the same 18:00 → 09:30 window on every session, no signal. Then the day leg for comparison (section 8).
Windownpts/trade$/tradeNet $PFtWinMax DD
2008 → Sep 2026230+4.42+$221+$50,7801.832.8561%-$14,833
2008 → 2018 (in sample)136+1.47+$74+$9,9981.521.7059%-$3,144
2019 → Sep 2026 (out of sample)94+8.68+$434+$40,7821.982.4564%-$14,833
2020 →89+9.73+$486+$43,2782.132.6465%-$14,833
2025 →20+16.80+$840+$16,8023.691.9660%-$5,095
2026 YTD10+33.03+$1,651+$16,51420.472.8580%-$725
every session, same window · 2008 → Sep 20264795+0.42+$21+$100,8181.071.3953%
every session, same window · 2008 → 2018 (in sample)2815-0.02-$1-$3,3370.99-0.1352%
every session, same window · 2019 → Sep 2026 (out of sample)1980+1.05+$53+$104,1551.111.5355%
every session, same window · 2025 →431+1.96+$98+$42,1411.171.1555%
day leg · 2008 → Sep 202642+11.99+$599+$25,1733.242.6350%-$2,643
day leg · 2008 → 2018 (in sample)22+0.96+$48+$1,0581.180.2736%-$2,254
day leg · 2019 → Sep 2026 (out of sample)20+24.12+$1,206+$24,1165.443.0365%-$2,429
day leg · 2025 →5+28.34+$1,417+$7,08415.172.3680%-$500
day leg · 2026 YTD1+33.75+$1,688+$1,688100%$0
4 · Year by year
Net $, win rate, profit factor and trade count by year, one contract. 13 of 19 years positive. 2020 onward carries most of the dollars; 2008-2018 was positive in 7 of 11 years but small.
year by year, overnight leg
5 · Parameter neighborhood
Is "exactly 3 lower closes on full-session bars" an island? Every streak definition and length the sweep tried, same overnight trade, $ per trade and t, in sample / out of sample / since 2025 / full. The highlighted row is the rule. The full 616-cell sweep (adding execution and gate variants) is reference/sweep_all.csv in the download.
Down day meansStreakn IS2008-18n OOS2019 →n2025 →nfull
lower close, full-session barsexactly 3136+$74 t 1.794+$434 t 2.420+$840 t 2.0230+$221 t 2.9
lower close, full-session barsexactly 456+$107 t 0.943+$500 t 1.96+$882 t 1.499+$278 t 2.1
lower close, full-session barsexactly 527+$81 t 0.514-$230 t -0.52+$979 t nan41-$25 t -0.1
lower close, full-session barsat least 2546+$45 t 1.8379+$96 t 1.077+$351 t 1.5925+$66 t 1.6
lower close, full-session barsat least 3240+$94 t 2.1158+$338 t 2.428+$859 t 2.6398+$191 t 3.1
lower close, full-session barsat least 4104+$120 t 1.464+$198 t 0.98+$907 t 2.0168+$150 t 1.5
lower low, full-session barsexactly 3155+$62 t 1.3122+$264 t 1.628+$201 t 0.4277+$151 t 1.9
lower low, full-session barsexactly 471+$100 t 1.063+$461 t 2.018+$1,076 t 2.0134+$270 t 2.3
lower low, full-session barsexactly 538+$134 t 1.617-$378 t -0.62+$813 t nan55-$25 t -0.1
lower low, full-session barsat least 2619+$26 t 1.1445+$131 t 1.592+$378 t 1.61064+$70 t 1.8
lower low, full-session barsat least 3294+$74 t 1.9225+$253 t 2.048+$555 t 1.5519+$152 t 2.6
lower low, full-session barsat least 4139+$88 t 1.4103+$240 t 1.320+$1,050 t 2.1242+$153 t 1.7
lower close AND lower low, fullexactly 377+$90 t 1.055+$515 t 2.39+$507 t 0.6132+$267 t 2.5
lower close AND lower low, fullexactly 423+$241 t 1.218+$34 t 0.12+$719 t nan41+$150 t 0.8
lower close AND lower low, fullexactly 57+$342 t 1.54+$548 t 0.5011+$417 t 1.0
lower close AND lower low, fullat least 2309+$91 t 2.6219+$203 t 1.637+$742 t 2.1528+$138 t 2.5
lower close AND lower low, fullat least 3111+$134 t 1.780+$357 t 1.911+$546 t 0.8191+$227 t 2.5
lower close AND lower low, fullat least 434+$233 t 1.425+$9 t 0.02+$719 t nan59+$138 t 0.8
lower close, RTH barsexactly 3134+$45 t 0.999+$346 t 1.724+$851 t 1.4233+$173 t 1.9
lower close, RTH barsat least 3243+$66 t 1.5169+$352 t 2.339+$794 t 2.0412+$183 t 2.7
lower low, RTH barsexactly 3150+$10 t 0.2118+$437 t 2.428+$845 t 1.5268+$198 t 2.3
lower low, RTH barsat least 3268+$52 t 1.2204+$318 t 2.443+$749 t 1.9472+$167 t 2.6
The plateau is "3 or 4 lower closes": both exact cells and the "at least 3" union are positive in both windows. Two lower closes is too loose (out of sample flat), five is too rare. Counting lower lows instead of lower closes is weaker in both windows.
6 · Stops and targets, tested in sample
36 exit variants on the overnight leg: stop none / 1.0 / 1.5 ATR below entry, target none / 0.5 / 0.75 / 1.0 / 1.5 / 2.0 ATR above, 1-minute first-touch inside the overnight session, the entry minute can only stop out. Ranked by in-sample t; out of sample is shown but was not used to pick. Returns in ATR units (1 ATR ≈ 90 pts in 2025).
StopTarget2008-182019 →OOS winOOS PF2025 →
none0.50 ATR+0.078 t 2.71+0.088 t 2.0865%1.69+0.147
none0.75 ATR+0.070 t 2.24+0.106 t 2.2763%1.81+0.190
1.0 ATR0.50 ATR+0.063 t 2.06+0.087 t 2.0965%1.68+0.123
nonenone+0.064 t 2.06+0.095 t 2.0763%1.73+0.196
none1.50 ATR+0.064 t 2.06+0.099 t 2.1163%1.76+0.196
none2.00 ATR+0.064 t 2.06+0.095 t 2.0763%1.73+0.196
none1.00 ATR+0.063 t 2.05+0.097 t 2.1063%1.74+0.196
1.5 ATR0.50 ATR+0.063 t 2.04+0.087 t 2.0565%1.68+0.147
1.0 ATR0.75 ATR+0.064 t 1.94+0.105 t 2.2863%1.80+0.165
1.5 ATR0.75 ATR+0.064 t 1.93+0.105 t 2.2463%1.80+0.190
1.0 ATR2.00 ATR+0.057 t 1.77+0.095 t 2.0863%1.72+0.172
1.0 ATR1.50 ATR+0.057 t 1.77+0.099 t 2.1163%1.75+0.172
1.0 ATRnone+0.057 t 1.77+0.095 t 2.0863%1.72+0.172
1.5 ATRnone+0.058 t 1.76+0.095 t 2.0463%1.72+0.196
1.5 ATR2.00 ATR+0.058 t 1.76+0.095 t 2.0463%1.72+0.196
1.5 ATR1.50 ATR+0.058 t 1.76+0.099 t 2.0863%1.75+0.196
1.0 ATR1.00 ATR+0.057 t 1.75+0.096 t 2.1063%1.73+0.172
1.5 ATR1.00 ATR+0.057 t 1.74+0.096 t 2.0663%1.73+0.196
0.75 ATR0.50 ATR+0.054 t 1.72+0.096 t 2.4365%1.80+0.136
0.75 ATR0.75 ATR+0.055 t 1.63+0.114 t 2.5863%1.93+0.178
0.75 ATR1.50 ATR+0.049 t 1.46+0.107 t 2.4063%1.88+0.185
0.75 ATR2.00 ATR+0.049 t 1.46+0.103 t 2.3763%1.84+0.185
0.75 ATRnone+0.049 t 1.46+0.103 t 2.3763%1.84+0.185
0.75 ATR1.00 ATR+0.048 t 1.44+0.105 t 2.4063%1.85+0.185
0.5 ATR0.50 ATR+0.035 t 1.10+0.085 t 2.2262%1.69+0.148
0.5 ATR0.75 ATR+0.035 t 1.05+0.090 t 2.0959%1.68+0.190
0.5 ATR2.00 ATR+0.029 t 0.88+0.080 t 1.8959%1.61+0.197
0.5 ATR1.50 ATR+0.029 t 0.88+0.084 t 1.9259%1.64+0.197
0.5 ATRnone+0.029 t 0.88+0.080 t 1.8959%1.61+0.197
0.5 ATR1.00 ATR+0.028 t 0.86+0.082 t 1.9159%1.62+0.197
Every cell is positive in both windows. A 0.5 ATR target is the in-sample winner and ties the base rule out of sample. Stops do nothing but cap the rare big night. I kept the base exits (highlighted): picking the in-sample winner here would be a second round of selection on the same data.
7 · Costs, concentration, distribution
Left: the same trades re-costed from free to 2.0 points. Then net $ after deleting the best N nights, and the histogram of net $ per trade.
Cost2008 →2008-182019 →2025 →2026
0 pts (gross)+4.92 pts PF 1.96 · t 3.17+1.97 pts PF 1.74 · t 2.28+9.18 pts PF 2.06 · t 2.59+17.30 pts PF 3.86 · t 2.02+33.53 pts PF 22.01 · t 2.89
0.5 pt round trip ($25) — page assumption+4.42 pts PF 1.83 · t 2.85+1.47 pts PF 1.52 · t 1.70+8.68 pts PF 1.98 · t 2.45+16.80 pts PF 3.69 · t 1.96+33.03 pts PF 20.47 · t 2.85
1.0 pt ($50)+3.92 pts PF 1.71 · t 2.53+0.97 pts PF 1.32 · t 1.12+8.18 pts PF 1.91 · t 2.31+16.30 pts PF 3.53 · t 1.90+32.53 pts PF 19.11 · t 2.81
1.5 pt ($75)+3.42 pts PF 1.60 · t 2.21+0.47 pts PF 1.14 · t 0.54+7.68 pts PF 1.83 · t 2.17+15.80 pts PF 3.37 · t 1.84+32.03 pts PF 17.89 · t 2.76
2.0 pt ($100) — punishment+2.92 pts PF 1.49 · t 1.88-0.03 pts PF 0.99 · t -0.03+7.18 pts PF 1.76 · t 2.03+15.30 pts PF 3.23 · t 1.78+31.53 pts PF 16.80 · t 2.72
WindowAllbest 1 gonebest 5 gonebest 10 gonetop-5 share
2008 → Sep 2026+$50,780+$45,036+$29,234+$13,77619%
2019 → Sep 2026 (out of sample)+$40,782+$35,038+$19,237+$3,77826%
2025 →+$16,802+$12,472-$676-$5,61476%
2026 YTD+$16,514+$12,184+$909$090%
distribution of net $ per trade
8 · The day session: her caveat, measured
The second half of her sentence. Setup: the four RTH bars before today each made a lower low. Trade: buy the 09:30 open, sell the 15:59 close, no stop. Split by what the overnight already did.
At 09:30 the overnight was…n IS2008-18n OOS2019 →nfull
overnight already ≥ +0.3 ATR (gapped up)22-$116 t -0.517-$201 t -0.439-$153 t -0.6
overnight between +0.15 and +0.3 ATR9+$204 t 0.67+$987 t 1.816+$547 t 1.8
overnight below +0.15 ATR (flat or down)33-$19 t -0.128+$1,055 t 2.961+$474 t 2.1
She was right about the mechanism: when the overnight already ran 0.3 ATR or more, buying the open after a four-day decline was negative in both windows (small samples, t about -0.5). When the overnight was flat or down, the open was a buy, but only out of sample.

The gated day leg. The "flat or down overnight" version with a stop one tick under the prior low (no trade if the open is already at or below it): 42 trades, in sample +1.0 pts (t 0.27), out of sample +24.1 pts (t 3.03). Flat where the rule was picked, positive only where it was not. It might be a 2020-onward regime. It might be noise at this sample size. So it is a second look, not the strategy, and the forward test decides.

year by year, day leg
9 · Equity and drawdown, both legs
cumulative net profit and drawdown
What isn't in this backtest (read before you trust it)

Deflated Sharpe fails. Per-trade Sharpe is 0.19. The best of 242 in-sample trials would show about 0.34 by luck, so the deflated Sharpe is 0.02. The in-sample / out-of-sample agreement, the plateau in section 5, and the every-session control are the reasons to take it seriously anyway; the DSR is the reason not to size it like a sure thing. Probability of backtest overfitting for the whole sweep is 0.28.

Most of the dollars are 2020 onward. +$9,998 in the eleven in-sample years, +$40,782 in the 7.7 out-of-sample years. The tendency was there before 2020 (t 1.70); the size of it was not. Overnight ranges got bigger.

No stop. Worst night -82.9 pts (-$4,146) on 2022-06-13. A stop was tested (section 6) and does not help; it also does not protect you from a gap that skips it.

Continuous contract. Ratio-adjusted continuous series, so early-year point values are approximate (5-8% in 2008-2015, under 1.5% since 2025). The forward seam from July 2026 is stitched from Massive/Polygon per-contract bars.

Selection. The rule was found by a 616-cell sweep on 2008-2018 and then run on 2019-2026 once. I did not re-tune after seeing the out-of-sample. I did look at the out-of-sample numbers of other cells while writing this page, which is why they are on it and not in a drawer.

No forward evidence yet. Rules frozen 2026-09-11. Not live. About 12 nights a year, so forward evidence takes years, not months; a paper sleeve is the honest next step.