The design, in plain terms
Sleeve A's universe is now survivorship-free common stocks only — the top-500 by dollar volume after excluding ETFs (intersect with the survivorship-free common-stock list). Everything else is identical to S-037: ETF-factor residual (SPY + 9 sector SPDRs, rolling 60d), OU s-score (open |s|>1.25, close |s|<0.5, κ-filter <30d), κ-sizing × sector-reversion tilt, market-on-close execution, net@3bps; sleeve B unchanged (top-1000 SPY-only 9-1 residual momentum + risk-off switch, frozen threshold 0.045961); static 70/30, vol-scaled by the frozen in-sample vols.
*(Descriptive — added 2026-07-20; gate/confirmation unchanged. Editable master figure alongside the PNG:
Picture each stock tied by a rubber band to its "fair value" — the mix of the market (SPY) and its sector that normally explains where it trades.
Sleeve A — the daily rubber band (70%). When a stock stretches too far from its twin, the band tends to pull it back, and we bet on that snap-back. The distance is an s-score: past ±1.25 we open (short the one stretched too high, buy the one stretched too low) and we close once it returns inside ±0.5. We run this across ~188 stocks a day, longs ≈ shorts, each bet tiny, so no single name can hurt the book — and only on names whose band is springy enough to revert within 30 days (the κ-filter). It wins most often when the market is choppy and stocks keep reverting.
Sleeve B — the monthly trend rider (30%). A slower, complementary engine: once a month it ranks the 1,000 most liquid stocks by their ~9-month trend (skipping the last month), buys the strongest and shorts the weakest, and otherwise sits still. Its brake is the risk-off switch — if the market turns hostile (SPY down >10% over a year, or unusually wild) it steps aside and holds nothing. It wins when strong stays strong — a trending market.
The blend (70/30). Because every bet is hedged and longs ≈ shorts, the whole book is market-neutral (β ≈ 0) — it barely cares whether the market rises or falls. And because reversion shines in choppy markets while momentum shines in trending ones, the two together are steadier than either alone, dialled to roughly 10% up-and-down swings a year.
On liquidity (why slippage stays bounded). Both universes are chosen for liquidity, not despite it: Sleeve A trades the top-500 by dollar volume and Sleeve B the top-1,000 by trailing dollar volume (3-month average, $5 price floor, refreshed monthly) — so even the 1,000th name is a mid-cap that turns over real volume, not a micro-cap. Sleeve B trades only the momentum extremes (top/bottom deciles, ≈100 names each) and rebalances just monthly, so its turnover — and its cost — is small. The genuinely cost-sensitive engine is Sleeve A (daily, needs marketable ~3 bps fills; passive limits adverse-select), and it was stress-tested directly: the combined book's holdout Sharpe holds from 1.47 at 3 bps to 1.11 at 10 bps + a 1-day fill lag. The one real-world residual is borrow/spread on Sleeve B's beaten-down short decile — bounded (still top-1,000 liquid names) but the place to watch first.
How it earned a forward slot
| n | net/yr | maxDD | Sharpe | beta | |
|---|---|---|---|---|---|
| in-sample ≤2022 | 196 | +7.6% | 21% | 0.98 | |
| HOLDOUT 2023+ | 40 | +13.8% | 7% | 1.50 | −0.03 |
Holdout sleeves: A (reversion) 1.26, B (momentum) 0.90 — both positive. Gate: Sharpe>0.5 ✓, |beta|≤0.15 ✓ (−0.03), drawdown (DD)≤1.5×IS ✓, both sleeves+ ✓ → PASS. Higher Sharpe than the contaminated S-037 (0.92 IS / 1.52 holdout) with a cleaner beta; the stray bond/gold ETFs had inadvertently damped drawdown, so the clean book has slightly higher in-sample DD. Deflate 1.50 → ~0.9-1.0 (40 months; large exploration arc).
Forward record so far
Forward paper-trading against the frozen gate is under way; the record here is machine-generated from the live track and updates on its own. It is interim — no result is claimed until the gate's window completes.
The live forward track has not yet accumulated a reportable window — the frozen promotion gate below states what it must show.
Conditions & caveats
- Hedging (clarified): each stock is hedged against the β-weighted combination of ALL 9 sector ETFs
- SPY (multivariate regression = its ETF twin), not a single assigned basket — so the argmax “dominant sector” label (used only for the tilt weight + figures) does not affect the hedge. Limitation: no Communication-Services ETF (XLC, only 2018+) in the factor set, so comm-services mega-caps (META/GOOGL/NFLX) can’t be perfectly replicated — their residual carries a little sector risk. Minor, known.
- Execution = market-on-close (entry-day reversion is overnight; see the entry-timing study).
- Automation-gated for live (breadth-dependent ~180 names, daily); the monthly momentum sleeve budget — logged transparently, not a new fishing search).
The promotion gate
S1/S2 satisfied via D-009 (in-sample + sealed holdout). S3 forward-paper gate — FROZEN, identical to S-037: ≥12 months, combined net Sharpe ≥0.6, |beta|≤0.15, maxDD ≤20%, both sleeves net-positive, sleeve-A realised execution cost ≤4 bps/side. S4 live: gate cleared + sleeve-A automation + sizing.
This is a broad, small-per-name, signal-exit book — not a handful of concentrated bets. There is no fixed %-profit-take and no fixed %-stop: entries and exits are triggered by an s-score (how far a stock has strayed from its ETF-replication), and risk is bounded structurally (hedge + diversification + a mean-reversion-speed filter), not by a price bracket.
How trades are entered. Both sleeves execute market-on-close (the entry-day reversion is overnight, so an intraday fill would give away the edge — see the entry-timing study). No limit chasing, no discretion.
Sleeve A — the daily reversion engine (70%). Each stock is regressed on its ETF twin (SPY + 9 sector SPDRs,
rolling 60d); the residual's OU s-score is the signal.
- Open long when s < −1.25 — the stock is ≥1.25σ below where its ETF replication says it should be (oversold).
- Open short when s > +1.25 — ≥1.25σ above (overbought).
- Only names whose implied mean-reversion time is < 30 trading days (the κ-filter) are eligible — slow
reverters are skipped, which is the first line of risk control.
- "Profit-take" (exit) = the s-score reverting inside ±0.5 (the gap closes; the trade has done its job).
- "Stop-loss" = there is no explicit price/time stop in the frozen config. A position that keeps
diverging stays open, waiting for reversion — the loss is bounded instead by (a) the κ-filter, (b) the
dollar-neutral SPY+sector hedge (per-name market β ≈ 0), (c) κ-sizing (smaller size for slower reverters)
× the frozen sector-reversion tilt, and (d) a force-close if the name drops out of the universe / gaps. This
is the classic statistical arbitrage trade-off (ride the divergence, no stop) — deliberately bounded by size + hedge +
breadth, and it is why the book must be many small names, not few large ones.
Sleeve B — the monthly momentum overlay (30%). A long/short book across the top-1000 SPY-only 9-1 residual momentum ranks (lookback 9m, skip 1m), rebalanced monthly (~12 rebalances/yr). Its only "stop" is the risk-off switch: flat whenever SPY's 12-month drawdown < −10% or 6-month vol > 0.045961 (frozen).
Typical trade (sleeve A, illustrative). Long a liquid large-cap at the close because it sits ~1.4σ under its SPY+sector replication; size ≈ a few tenths of a % of gross, hedged so its market β ≈ 0; hold ~5 days; close when the residual narrows back inside ±0.5σ. Dozens of these run in parallel, longs ≈ shorts.
| Sleeve A — trade & holding profile | value |
|---|---|
| Active names / day | ~188 |
| Daily turnover | 18.7% |
| Avg holding period | ~5.3 trading days |
| New positions / day | ~35 |
| Round-trips / yr | ~8,900 |
| Execution | market-on-close |
| Rule | Sleeve A (reversion) | Sleeve B (momentum) |
|---|---|---|
| Universe | survivorship-free top-500 common stocks, px ≥ $5 | top-1000 SPY-only residual momentum |
| Open | s < −1.25 (long) / s > +1.25 (short), κ < 30d | monthly rank: long top / short bottom |
| Exit ("profit-take") | s reverts inside ±0.5 | monthly rebalance (~12/yr) |
| Stop | none explicit — hedge + κ-filter + κ-sizing bound it | risk-off switch → flat |
| Sizing | κ-sizing × sector-reversion tilt | rank-weighted, vol-scaled |
| Cadence | daily | monthly |
Return distribution (monthly, vol-scaled to 10%/yr — the numbers behind the histogram):
| Book | Window | n | Sharpe | ann | maxDD | hit-rate | best mo | worst mo |
|---|---|---|---|---|---|---|---|---|
| combined 70/30 | in-sample ≤2022 | 196 | 0.98 | +7.6% | 21% | 59% | +8.5% | −4.8% |
| combined 70/30 | holdout 2023+ | 40 | 1.50 | +13.8% | 7% | 68% | +8.4% | −4.3% |
| sleeve A (reversion) | holdout 2023+ | 40 | 1.26 | +14.7% | 12% | 70% | +9.5% | −4.9% |
| sleeve B (momentum) | holdout 2023+ | 40 | 0.90 | +10.6% | 7% | 48% | +10.1% | −5.2% |
Sleeve A hits ~70% of months (many small mean-reversion wins); sleeve B hits ~48% (fewer, larger momentum months) — the two are complementary, which is why the 70/30 blend lifts the Sharpe above either sleeve alone.
Because this is the book slated for live automation, a quant-review directly measured the load-bearing live risk: does the edge survive real execution cost and entry lag? The combined 70/30 book's ~0.4%/yr flat net-borrow drag):
| entry lag | cost 3 bps | cost 5 bps | cost 10 bps |
|---|---|---|---|
| lag 0 | 1.47 | 1.39 | 1.20 |
| lag 1 day | 1.38 | 1.30 | 1.11 |
Robust to both cost (3→10 bps) and a 1-day fill lag — even the pessimistic corner holds at 1.11. The sleeve-A-alone full-sample fragility (net 0.48 @3bps, gross halving at lag 1) does not extrapolate to the combined book on this window: holdout sleeve-A is 1.22 and barely lag-sensitive, and the momentum sleeve lifts it further. So the make-or-break for live is less about execution fragility and more about regime-persistence — the grid is on a favorable 2023+ holdout; the forward is the real test of whether that regime holds. Borrow is mild (top-500 liquid / general-collateral names + owner lends the longs). Full write-up:
Individual trades — the mechanism in action
A sample of real round-trips drawn as s-score paths + price-vs-ETF-twin. It is also why S-055 loosens the κ exit filter: the “misses” mostly revert just after the old forced exit.
Misses — ineligible (dislocation persisted / squeezed)
entry s -2.07 → exit s -1.22 · 2008-09-25 → 2008-10-20
entry s -1.90 → exit s -1.18 · 2008-06-19 → 2008-07-09
entry s -1.46 → exit s -0.68 · 2022-05-12 → 2022-06-09
entry s +1.31 → exit s +1.10 · 2020-07-21 → 2020-08-10
entry s -2.03 → exit s -1.19 · 2007-11-20 → 2007-12-17
entry s -1.42 → exit s -1.27 · 2006-02-01 → 2006-02-21
entry s -1.48 → exit s -1.51 · 2019-07-17 → 2019-08-13
entry s +1.41 → exit s +nan · 2020-10-26 → 2020-11-13
entry s +1.73 → exit s +1.07 · 2008-09-16 → 2008-10-02
entry s +1.33 → exit s +1.27 · 2016-12-16 → 2017-01-25
Reverted but lost money (longer holds, friction/adverse path)
entry s -1.28 → exit s -0.45 · 2011-09-13 → 2011-10-17
entry s +1.38 → exit s +0.28 · 2008-07-08 → 2008-08-27
entry s -1.45 → exit s +0.08 · 2009-01-23 → 2009-03-12
entry s +1.39 → exit s +0.49 · 2012-10-19 → 2013-01-03
entry s -1.59 → exit s -0.21 · 2022-03-09 → 2022-04-18
entry s -1.27 → exit s -0.19 · 2022-04-01 → 2022-05-25
entry s -1.27 → exit s +0.21 · 2009-09-09 → 2009-11-24
entry s +2.61 → exit s -0.11 · 2009-10-23 → 2009-12-04
entry s +1.50 → exit s +0.47 · 2005-11-04 → 2006-01-26
entry s +1.30 → exit s +0.44 · 2005-08-31 → 2005-10-12
Textbook reversion (entered ~1.5σ, closed inside ±0.5) — for contrast
entry s +2.53 → exit s +0.49 · 2021-11-02 → 2021-11-09
entry s +1.26 → exit s +0.10 · 2008-05-15 → 2008-05-21
entry s +1.56 → exit s -0.47 · 2022-01-31 → 2022-02-02
entry s -1.31 → exit s +0.23 · 2013-01-17 → 2013-01-24
entry s +1.61 → exit s -0.46 · 2020-03-26 → 2020-03-30
entry s +1.39 → exit s +0.23 · 2009-04-03 → 2009-04-13
entry s +1.39 → exit s +0.11 · 2006-08-22 → 2006-09-22
entry s -3.26 → exit s -0.22 · 2020-02-26 → 2020-03-20
entry s -1.40 → exit s +0.20 · 2014-02-19 → 2014-02-25
entry s -1.40 → exit s +0.03 · 2022-12-13 → 2022-12-28
Running it on margin — does leverage give you L× the return?
A fair question for a market-neutral book: if you trade it on a margin account at 2×, 3× or 4× your own money, do you get that multiple of the return and the drawdown? The intuition is half right. The tables and chart below are computed on S-055’s own monthly backtest path (same series as the equity curve above), charging 6.5%/yr financing on the borrowed capital.
| Leverage | “L× return” (the naive guess) | Actual annual return | Worst drawdown | Sharpe | Worst month |
|---|---|---|---|---|---|
| 1× | +9% | +8.9% | -23% | 1.10 | -5% |
| 2× | +18% | +10.5% | -50% | 0.70 | -10% |
| 3× | +27% | +11.4% | -70% | 0.57 | -16% |
| 4× | +36% | +11.6% | -83% | 0.50 | -21% |
Two things break the tidy “4× means 4×” picture:
- The return does not scale up. Compounded return goes from ~9% (1×) to only ~12% at 4× — not ~36%. This is volatility drag: you compound the swings, and bigger swings lose more on the way down than they gain back. The return even peaks near 3.8× and then declines — past that point more leverage means less money and far more risk.
- The drawdown does scale — brutally. The worst drawdown deepens from −23% (1×) to −50% at 2× and −83% at 4×. Past roughly about 2.0× the historical worst drawdown already reaches the margin-call zone (shaded), where the broker force-liquidates you at the bottom — so the “it recovers afterwards” scenario never happens for you.
Assumptions: leverage = multiple of the book’s P&L swings on your equity; 6.5%/yr financing on the borrowed turns (real all-in margin + short-borrow cost is often higher); margin-call zone drawn at a conservative −50% equity drawdown. This uses month-end data, which understates the risk — real margin calls fire intraday on maintenance margin, so liquidation would hit earlier and deeper than shown. Note the book already runs ~2× gross by construction (long + short); the leverage here is on top of that. Illustration on backtested data, not advice — S-055 is a forward-paper candidate, not a live product.
Methodology appendix — gates, exact parameters, look-ahead audit — is visible to subscribers. See the plans →