Backtest: Retest — re-entry ladder evidence

RESEARCH / SHADOW · STATIC HISTORICAL BACKTEST · NO ALLOCATION ROLE

19 drawdown episodes, 1998–2025 · SPX total return · 6 policies + 3 benchmarks · backtest run 2026-11-02; gate research 2026-11-03 · page generated 2026-11-03T17:01:42+00:00

Verdict — in-sample research finding

Regime-dependent. Robust single policy = L5b (stopped retest). L4 rejected (bear-rally trap). v7 exit legs must not be repurposed as re-entry triggers.

L5b is the only arm with positive secular-bear forward 12-month return (+7.9%), and it has the best secular mean and worst MAE. L3 is best in corrections, but the regime is not knowable in real time. This is a historical research result, not a portfolio rule or a current recommendation.

The four pre-registered questions

QuestionAnswer
Q1: finer ladder (L2) beat coarse (L1)?Tie — better entries, worse path damage. L1 kept for simplicity.
Q2: does +10% acceleration (L4) dominate?No — worst policy. Buys the first bear rally with ⅔ of capital (Apr-2001 → −37% more; May-2008 → −51% more).
Q3: do retest arms earn complexity vs L4?L5b yes (wins both verdict axes); L5a no (holding through a broken low forfeits the stop's value).
Q4: is deployment timing paid at all?Yes. Every policy beats buy-and-hold-through on both entry and path axes. B-v7 legs must not be reused as an entry signal.
Method and data. Portfolio math uses SPX total return; level/depth triggers use SPX close against the trailing 252-session high. Executions occur at the trigger-day close, running lows/highs only, and undeployed capital accrues at UST2Y/100/252 per session. The full 252-session warm-up and 20-session re-arm merge reproduce 19 episodes at −10%, 9 at −15%, and 4 at −20%. All findings below are pre-computed and rendered without recomputation.

1. Master pooled table — all 19 episodes

ArmRule (one line)Entry disc vs highfwd 6mfwd 12mMAE meanMAE worstAvg deployedAlpha vs B-BHChained 1997→2026 (max DD)Secular fwd 12mVerdict
L5bbuy 5% retest of +10% rebound; stop at old low; re-arm−11.5%+10.6%+14.2%−10.4%−35.3%16%+3.0%1.89x (−35.3%)+7.9%robust winner
L350% at +10% off low, 50% at +20%−14.4%+11.0%+19.0%−5.3%−37.5%17%+2.7%1.81x (−39.7%)−10.4%best in corrections
L1⅓ at −10/−20/−30%−12.4%+8.6%+11.0%−6.8%−43.2%42%+2.5%1.72x (−44.4%)−15.4%simple baseline
L2¼ at −10/−15/−20/−25%−12.9%+9.9%+12.0%−7.6%−46.7%43%+2.5%1.72x (−51.3%)−16.2%tie with L1 — finer grid unpaid
L5aL5b entry, hold through everything−9.1%+7.7%+9.8%−9.3%−49.2%20%+2.5%1.67x (−51.5%)−22.0%no earned complexity
L4L1 + deploy-all on first +10% rebound−11.4%+8.7%+10.5%−8.8%−51.5%50%+1.4%1.37x (−56.3%)−22.6%rejected — bear-rally trap
B-v7buy when v7 exit condition ×3−11.6%−2.2%+4.9%−6.5%−51.2%17%+0.4%1.13x (−57.3%)−25.8%worst arm — not a re-entry trigger
B-BH100% invested from −10%−10.5%+7.2%+7.9%−11.8%−51.5%100%—1.03x (−59.3%)−26.6%naive benchmark
B-N10identical to B-BH by construction——————————
Column definitions and reading guide

Entry disc vs high = how far below the pre-drawdown high the average dollar bought. fwd 6m/12m = return on deployed capital after entry. MAE = worst portfolio drawdown after first deployment (mean across episodes / single worst). Avg deployed = capital at risk, with the remainder in 2Y cash. Alpha vs B-BH = per-episode return minus buy-and-hold-through. Chained = compounding all episodes with cash between, an insurance-stance readout; always-invested SPX was 13.83x / −55.3%. Secular fwd 12m covers dot-com and GFC only.

B-N10 is identical to B-BH by construction because episode arming is the first −10% close. The chained comparison is not an always-invested portfolio replacement: every arm spends roughly 85% of days in cash.

2. Regime split

ArmCorrections (17 eps): fwd 12m / MAE meanSecular bears (dot-com, GFC): fwd 12m / MAE mean
L3+27.4% / −1.7% ← best−10.4% / −35.7%
L5b+15.2% / −7.9%+7.9% / −32.2% ← best (only positive)
L1+14.1% / −3.1%−15.4% / −38.3%
L4+14.4% / −4.4%−22.6% / −45.6%
B-BH+12.0% / −7.5%−26.6% / −47.9%

Corrections reward buying the confirmed rebound (L3); secular bears reward defined-risk retests with a stop (L5b). With the regime unknowable in real time, L5b is the single research policy that survives both samples.

3. Episode charts

SPX total return relative to each episode reference high, with historical deployment markers. The dashed line marks disarm where shown.

Pooled economics across 19 episodes

Pooled economics across 19 episodes — historical deployment markers from the retest research backtest
Capital-weighted entry discount versus worst per-episode path MAE. Deeper entries are farther left; shallower worst-path damage is higher. L5b pairs a competitive entry with the shallowest worst path in this study. Historical research replay only; no current allocation instruction.

Dot-com bear market, 2000–02

Dot-com bear market, 2000–02 — historical deployment markers from the retest research backtest
L4 accelerates into the April 2001 bear rally. L5b is stopped three times, then re-enters in November 2002 and participates in the recovery. Historical research replay only; no current allocation instruction.

Global financial crisis, 2007–09

Global financial crisis, 2007–09 — historical deployment markers from the retest research backtest
L5b records four stopped cycles, is flat at the March 2009 low, and re-enters on 2009-03-30. L4's May 2008 acceleration precedes much deeper losses. Historical research replay only; no current allocation instruction.

2015–16 correction

2015–16 correction — historical deployment markers from the retest research backtest
The January 2016 retest fails and L5b's anchor stop limits the realized loss to −7.9%, illustrating the cost side of repeated retest entries. Historical research replay only; no current allocation instruction.

COVID bear market, 2020

COVID bear market, 2020 — historical deployment markers from the retest research backtest
The 2020-04-01 retest holds and becomes the study's best single entry: +22.4% episode return with −7.1% MAE for L5a/L5b. Historical research replay only; no current allocation instruction.

2022 bear market

2022 bear market — historical deployment markers from the retest research backtest
The April and August retests are stopped. Rising 10Y yields during both pullbacks motivate the subsequent rate-shock gate research. Historical research replay only; no current allocation instruction.

2025 V-bottom

2025 V-bottom — historical deployment markers from the retest research backtest
L5a/L5b never deploy: the retest window expires on 2025-10-23 after a maximum pullback of only −2.96%. This is the visible cost of waiting for a retest. Historical research replay only; no current allocation instruction.

4. Autopsy — L5b triggers, stops, and named episodes

1. The full cycle table — before / during / after each retest

Phases: Rebound = running low → +10% rebound high · Pullback = rebound high → retest trigger · After = 63 sessions post-trigger.

TriggerOutcome10Y rebound (bp)10Y pullback (bp)10Y after +63 (bp)HB/LV rebound %HB/LV pullback %HB/LV s20 %HB/LV vs SMA50 %Post-entry MAEfwd 6mEp max DD
1998-10-01held−31−37+35+7.4−6.8−4.9−9.1−2.7+34.8−19.2
2000-01-28held+38+22 [rate-shock veto]−45+36.1−3.8−3.4+1.3 [OFFLEAD]−1.9+5.0−11.8
2000-07-28stopped−29−11−34+23.4−10.8−1.0−2.5−3.7−3.4−9.9
2001-06-13stopped+46−11−56+38.8−13.1−3.3−4.1−12.3−8.0−47.4
2002-01-29stopped+44−19+14+42.2−10.0−2.9−4.6−13.3−17.4−47.4
2002-08-02stopped+5−17−40−10.3−4.8−13.3−16.0−8.8+0.5−47.4
2002-11-11held+47−19+7+39.7−9.6+18.3 [OFFLEAD]+9.6 [OFFLEAD]0.0+8.3−47.4
2008-06-11stopped+37+24 [rate-shock veto]−44+8.6−12.3−11.9−9.8−5.4−32.6−55.3
2008-10-15stopped+11−3−174−0.4+0.4−9.7−15.2−1.2−2.7−55.3
2008-11-05stopped+4−2−71+15.1−5.5−4.8−14.0−15.2−1.0−55.3
2008-12-01stopped−9−19+24+24.3−11.1−24.6−23.0−8.2+15.8−55.3
2009-03-30held−12−3+77+28.1−10.7+13.2 [OFFLEAD]+0.5 [OFFLEAD]0.0+36.5−55.3
2010-08-23held−15−23+27+6.1−7.0−7.3−5.2−1.9+24.5−15.6
2011-11-01held+56−33−17+22.9−5.5+11.7 [OFFLEAD]+2.1 [OFFLEAD]−4.7+15.5−18.6
2016-01-06stopped+14−4−48+4.7−11.5−4.8−6.9−7.9+6.6−12.0
2016-06-27held+4−26+15+19.9−12.3−11.3−9.90.0+14.4−13.0
2018-10-11stopped+33+9 [rate-shock veto]−45+2.2−5.3−2.5−4.0−7.7+7.6−9.8
2019-05-29held−21−26−79+11.6−8.6−8.4−6.4−1.4+13.7−19.4
2020-04-01held+6−26+9+2.8−5.9−11.9−12.10.0+37.4−33.8
2022-04-12stopped+55+33 [rate-shock veto]+24+7.1−10.5−3.9−8.2−6.0−18.0−12.8
2022-08-26stopped−39+24 [rate-shock veto] [OFFLEAD]+64+10.8−4.3−2.0+1.0 [OFFLEAD]−10.0−1.3−24.5
2022-12-16held−29−12+13+4.3−4.4−5.3−1.9−1.8+14.3−24.5
2024-04-19held−63+42 [rate-shock veto]−37+20.8−5.8−5.8−4.30.0+18.9−9.9

[rate-shock veto] = 10Y rose during pullback · [OFFLEAD] = offensives leading at trigger (s20>0 or HB/LV > 50d SMA)

L5b round-trips — 12 stopped cycles

EpisodeEntryExitRealized
correction_2000_b2000-07-282000-10-11−3.7%
dotcom_2000_022001-06-132001-09-07−12.3%
dotcom_2000_022002-01-292002-07-02−13.3%
dotcom_2000_022002-08-022002-10-07−8.8%
gfc_2007_092008-06-112008-07-02−5.4%
gfc_2007_092008-10-152008-10-22−1.2%
gfc_2007_092008-11-052008-11-19−15.2%
gfc_2007_092008-12-012009-02-23−8.2%
correction_20152016-01-062016-02-11−7.9%
correction_2018_b2018-10-112018-12-19−7.7%
correction_20222022-04-122022-04-29−6.0%
bear_20222022-08-262022-09-27−10.0%

Realized losses range from −1.2% to −15.2%, mean −8.3%. The stop converts the census's average −17.2% failed-cycle excursion into bounded realized losses and leaves L5b 0% deployed at both secular ultimate lows. Gap-throughs remain possible: the 2008-11-05 cycle realized −15.2% despite a nominal −5% stop level.

Named episodes

EpisodeWhat happened
COVID 2020L5's Apr-1 retest = best entry of any arm: +22.4% episode return, −7.1% MAE (vs B-BH −28.4% MAE).
2025 V-bottomL5 cost visible: window expired Oct-23 with max pullback −2.96%; never deployed. L1 held only ⅓. L3/L4 got 50–100% in by Apr-24.
Dot-comL5b: stopped 3× (−12.3/−13.3/−8.8%), re-entered Nov-2002 at −40.6% below high and rode the recovery. L4 accelerated Apr-2001 and ate −20.4%.
GFCL5b: stopped 4×, flat at the exact bottom, re-entered Mar-30-2009 (4 sessions post-low) → episode −0.8% vs B-BH −21.7%.

5. Gate research — descriptive, in-sample hypotheses

Research status. These gates were selected on the same 23 events used to evaluate them. They are not validated allocation rules. The frozen L6c sizing form below is a pre-registered hypothesis awaiting out-of-sample validation, with no allocation role.

2. The anatomy of a healthy vs failed retest cycle

PhaseHealthy (→ held, n=11)Failed (→ stopped, n=12)
Rebound: 10Y−1.8bp avg (yields can fall — growth-scare bottom)+14.3bp avg (yields rise into rebound — bear rally against tightening)
Rebound: HB/LV+18.2% (offensives lead the recovery)+13.9% (same — rebound leadership does NOT discriminate)
Pullback: 10Y−12.8bp avg (flight-to-safety bid returns)+0.3bp avg (no safe-haven bid — the bond market IS the problem)
Pullback: HB/LV−7.3% (defensives lead the dip)−8.2% (same — pullback defensiveness is universal, 22/23)
After +63: 10Y0.0bp (stable)−32bp (yields collapse — growth scare confirmed ex-post)
After +63: HB/LV+13.6% (offensives resume leadership)−11.8% (defensives keep leading)
Post-entry MAE−1.3%−8.3%
fwd 6m / 12m+20.3% / +24.4%−4.5% / +4.3%

The normal retest is a growth scare: yields fall during the pullback, defensives lead, then offensives resume after a successful hold. The failure signature is when the pullback is rate-driven — yields rising into the retest means the drawdown's cause (tightening/inflation) is still active. Rebound-phase and pullback-phase HB/LV direction are nearly identical in both groups — only the persistence of offensive leadership into the trigger day ( [OFFLEAD]) carries signal.

3. Gate 1 — rate-shock veto (skip if 10Y rose during pullback)

TradesHeldPost-entry MAEfwd 6mfwd 12m
Vetoed (10Y rose)62−5.2%−3.4%+0.5%
Kept (10Y fell/flat)179−4.9%+11.2%+18.7%

4. Gate 2 — OFFLEAD sizing tilt (offensives still leading at trigger)

TradesHeldPost-entry MAEfwd 6m
OFFLEAD on54−3.3%+12.8%
OFFLEAD off187−5.4%+5.9%
Stacked: rate-gate-kept AND OFFLEAD on33−1.6%+20.1% (fwd 12m +30.8%)

5. Relationship to trough depth

7. Magnitude dose-response & sizing simulation (2026-11-03, owner question)

7.1 Does magnitude matter? Yes — at the extremes, and non-linearly

10Y pullback move buckets:

10Y during pullbacknHeldfwd 6mfwd 12mPost-entry MAE
fell >20bp (panic-grade safe-haven bid)66/6 (p=0.012)+23.4%+26.3%−1.8%
fell 0–20bp113/11 (27% — worst bucket)+4.5%+14.5%−6.6%
rose62/6−3.4%+0.5%−5.2%

Dates in the 6/6 bucket: 1998-10, 2010-08, 2011-11, 2016-06, 2019-05, 2020-04. The middle bucket is polluted by slow-bleed secular mid-retests (2001, 2002×2, 2008×3, 2016-01) — a modest yield fall is the signature of grinding bears, not capitulation. Within rate-kept trades, corr(Δ10Y, fwd 6m) = −0.42 (bigger fall → better). Do not size linearly in Δ10Y.

Offensive-lead magnitude: strong (s20 > +10pp) = 3/3 held (2002-11, 2009-03, 2011-11; fwd 6m +20.1%, MAE −1.6%); marginal flag (HB/LV>SMA50 only, s20<0) = 1/2 — and both marginals are the rate-gate conflicts anyway.

The union — "strong" = 10Y fell >20bp OR s20 > +10pp: 8/8 held (adds 2002-11, 2009-03 to the six above), fwd 6m +23.1%, fwd 12m +29.0%, worst MAE −4.7%. Complement: 3/12 held, fwd 6m −1.0%. Binomial p ≈ 0.0027 — the first split in this research program to touch the Bonferroni bar (~0.005). Caveat: the union is itself a post-hoc composite, so effective multiplicity is worse than the raw bar.

7.2 Owner's proposed sizing rule, simulated through the canonical engine

Rule as proposed: at each L5b trigger — 0% if 10Y rose during pullback; 35% if 10Y fell; +35% (→70%) if offensives also lead (s20>0 or HB/LV>50d SMA); residual stays in 2Y cash. Also tested a magnitude-tiered form (70% tier = "strong" union above) and a 0/50/100 scaling.

Variant (19 episodes)Ep retfwd 6m*fwd 12m*MAE meanMAE worstAvg deployedForegone vs BHChained**
L5b pure (100%)+0.6%+10.6%+14.2%−10.4%−34.9%15.7%+3.1%1.80x
V-user 0/35/70+2.0%+15.7%+20.7%−3.4%−13.9%7.2%+4.4%2.40x
V-mag 0/35/70 (70% = strong union)+2.6%+15.7%+20.7%−4.4%−13.9%9.4%+5.0%2.67x
V-mag 0/50/100+3.1%+15.6%+20.5%−6.0%−20.9%13.1%+5.5%2.87x

*fwd per deployed dollar is identical across sized variants by construction (relative weights coincide within multi-buy episodes; single-buy weights cancel). **Chained here = episodes compounded with 2Y cash between; pure L5b reads 1.80x vs the report's 1.89x (minor chain-method detail, identical across variants — comparisons valid).

7.3 Where the user's scheme wins and pays (per-episode ep_ret vs pure L5b)

7.4 Strategist assessment

The 0/35/70 structure is sound and pre-registrable: veto first (rate), tilt second (leadership), never inverted (both conflict cases resolved in the rate gate's favor). Recommended frozen form — L6c: 0% if Δ10Y(pullback) > 0; 35% base if ≤ 0; 70% if "strong" (Δ10Y ≤ −20bp OR s20 > +10pp) — which dominates the literal rule in-sample on every axis and is defensible a priori from the dose-response evidence. Known retained costs: 2024-04-19 gets 0% (clean winner skipped); the 35% floor still bleeds in the fell-0–20bp bucket (8 of 12 historical stops). Statistical status unchanged: gates selected on the same 23 events, secular gain driven by 2 episodes, union split post-hoc — freeze now, validate out-of-sample, no further tier-shopping on this dataset. Analytical only; any allocation role requires explicit owner approval.

8. Drawdown depth at trigger — amplifier, not signal (2026-11-03)

8.1 Depth alone does NOT discriminate hit/miss

Depth measure at triggerHeld (11)Stopped (12)corr vs fwd 6m
Depth below pre-drawdown high−15.8%−21.9%r = −0.09
Cushion above anchor stop+11.6%+8.1%r = +0.20 (weak, mechanical — closer to stop = easier to breach)
Pullback depth from rebound high−5.8%−6.3%r = −0.03 (no info — −5% by construction)

Deep triggers (<−15% below high): 5/11 held. Shallow: 6/12 held. No discrimination.

8.2 But depth AMPLIFIES signal quality — the 2×2

union-strong (10Y fell>20bp OR s20>+10)no signal
Deep (<−15%)4/4 held, fwd 6m +29.2%, fwd 12m +42.8%, worst MAE −2.7% — 1998-10, 2002-11, 2009-03, 2020-04 (the four generational entries)1/7 held, fwd 6m +0.2%, worst MAE −15.2% — falling knives (2001, 2002×2, 2008×3, only 2022-12 held)
Shallow4/4 held, fwd 6m +17.0%2/8 held, fwd 6m −2.1%

Reading: hit/miss is determined by the signal (8/8 vs 3/15); depth scales the payoff (+29.2% vs +17.0% within confirmed trades — deeper entry = bigger discount) and the penalty (deep without signal = serial stop-outs at depth; worst MAE −15.2%). Depth is a leverage knob on signal quality, not a gate.

8.3 Naive 3-factor count (rate-kept + union + deep) — robustness check

Score 3: 4/4 held, +29.2% · score 2: 5/11, +6.3% · score 1: 0/2 · score 0: 2/6, −3.4%. Monotone gradient, but no better than the union alone — "deep + merely-modest yield fall" (score-2 secular retests) is exactly the slow-bleed trap. Keep L6c frozen as defined; do not add a depth tier on the same 23 events.

8.4 "Secular-bear insurance, paid with correction upside" — the formal statement

L5b's anchor stop already converts every failed retest into a bounded ~−8% realized loss. Therefore:

Mandatory caveats — read before interpreting any result