Strategy S2c (hedge-harvest / grid) — pre-implementation smell test — 2026-06-01
Status: exploratory research / learning capture — not a build gate. Third sibling to the S2a
(trend) and S2b (mean-reversion) smell tests. Explores the maintainer’s idea: in “relatively calm”
markets, open both a long and a short (delta-zero), then close legs when profitable and
“close/re-open to mark intermediate profits”, holds 1d–1mo — “worst case 0 minus fees”.
⚠️ This is NOT a backtest. In-sample, single-window, optimistic fills (the grid assumes every
limit order fills at its level — real maker fills suffer adverse selection / missed fills). Grid
funding omitted (negligible at fine resolution). The grid’s positive net is regime-flattered (the
sample ended up). Numbers perishable (~2026-06-01). Re-run:make smell-test-grid.
Question
Four things the maintainer wanted to understand: (1) can you “harvest” PnL from a both-legs hedge in calm
markets; (2) does closing legs to “mark intermediate profits” work; (3) does it need fine-resolution
data (“you can’t see these oscillations on a zoomed-out candle graph”); (4) what are the legitimate
versions (symmetric grid, trend-stopped grid, the literal ratchet, pairs)?
The core result: you cannot manufacture PnL from a delta-zero position
Holding long 1 + short 1 of the same instrument over the full BTC history:
cumulative PRICE PnL (long+short): +0.000000% ← identically zero, every day, by construction
cumulative FUNDING PnL: +0.000000% ← long pays it, short receives it → cancels
While both legs are open there is nothing to harvest — the price legs cancel exactly, the perp
funding cancels exactly, and the only PnL is the fees you pay (~0.28% per round-trip pair). “Worst case
0 minus fees” is also the best case. The instant you “close the winner to bank it”, you hold the
losing leg, naked and directional — the hedge is gone and you’ve made a bet that price reverts. So
acted upon, the idea becomes a directional / mean-reversion bet (= S2b) plus double the fees. Any
“harvest” is a risk you’ve taken on somewhere — there is no free lunch in a hedge.
The legitimate version is a GRID — and resolution is the whole story
“Close the winner, hold the loser, wait for reversion, repeat” is grid trading. A long grid (buy
each −g dip, sell each lot +g up) genuinely harvests — and the maintainer’s instinct that you need fine
resolution is half right. Same 90-day BTC window (B&H +4.9%), grid run at every timeframe, taker vs
maker fills:
| timeframe | grid g | harvests | TAKER net | MAKER net |
|---|---|---|---|---|
| 1d | 1% | 22 | +0.6% | +0.8% |
| 4h | 0.5% | 110 | +2.6% | +3.8% |
| 1h | 0.5% | 193 | +4.2% | +6.2% ← best |
| 15m | 0.2% | 523 | −1.3% | +4.0% |
| 5m | 0.1% | 806 | −7.7% | +0.4% |
| 1m | 0.05% | 1,658 | −17.9% | −3.2% |
| 1m | 0.2% | 703 | −4.2% | +2.9% |
Reading this is the lesson:
- Finer resolution → far more oscillations. Harvests go 1d ~15 → 1m ~1,100–1,658. The oscillations
the maintainer suspected are real and multiply at fine scale. ✅ - But every harvest must clear the fee hurdle (taker ≈ 0.14% round-trip; maker ≈ 0.04%). With taker
fees, finer = worse — at 1m the oscillation amplitude is far below 0.14%, so 1,658 harvests lose
−17.9%. ❌ - A grid is naturally a maker/limit strategy. With maker fees the picture flips positive — but the
sweet spot is intermediate (~1h / 0.5% → +6.2%), not the finest: at 1m even maker fees barely break
even (the amplitude drops below ~0.04% too). - Even the best grid barely beats buy-and-hold (+6.2% vs the window’s +4.9%) — on optimistic fills
(no adverse selection / no missed limits) and with −8…−13% inventory drawdown, in a benign regime.
Verdict on the resolution hypothesis: correct that fine resolution surfaces the oscillations — but
harvesting them is a fee / microstructure game (maker rebates, fill quality, latency, co-location),
not a “free money in calm markets” game. The binding constraint is cost, not oscillation count.
The grid is a sell-volatility bet (capped upside + a bag in trends)
Long grid, full daily history (2% spacing):
| symbol | grid net | buy & hold | maxDD | end state |
|---|---|---|---|---|
| BTC | +122% | +773% | −32% | full-long (10/10 lots) |
| ETH | +112% | +1,529% | −29% | full-long |
| SOL | +130% | +3,101% | −42% | full-long |
It books 250–470 small wins and ends net-positive — it feels like it works — but captures a small
fraction of buy-and-hold (BTC ~1/6th, SOL ~1/24th: it sells winners early) and ends holding a full
inventory bag. The regime split is the tell:
| BTC, 2% grid | net | B&H | maxDD |
|---|---|---|---|
| Ranging (2023-04→2024-02) | +17% | +50% | −3% ✅ |
| Bear (2022) | −35% | −64% | −45% (maxed long, riding it down) |
Classic short-gamma: profits in ranges (tiny drawdown), bleeds in trends (accumulates a losing bag),
caps upside everywhere. Its full-history net is positive only because the sample ended up — the terminal
bag was bailed out by the bull.
The four probes
| Probe | Result |
|---|---|
| Symmetric long/short grid (harvest both ways) | RUIN on BTC/ETH/SOL — the short side’s loss is unbounded in a bull market (a real account is liquidated). +121% long-only → wiped. |
| Grid + trend stop (flatten below 200-MA) | Cuts drawdown (−33%→−20%) but also return (+121%→+33%); still far below B&H. A stop trades return for risk — it doesn’t create edge. |
| Literal ratchet (open both, bank a leg at +θ, re-open, repeat) | RUIN. Stays delta-hedged yet bleeds: banking fixed +θ steps undercounts the loser leg’s compounding loss, and that leg would liquidate. “Marking intermediate profits” actively destroys value — reinforcing the core result. |
| Pairs (OLS hedge ratio, spread z-score) | All negative (−90…−100%): ETH/BTC −90% (Sharpe −0.63), SOL/ETH −100%, SOL/BTC −99%, BNB/ETH −99%. No crypto pair is stationary enough — the spreads trend; naive stat-arb gets run over. |
Verdict
Yellow→red — and the most conceptually valuable of the three. Proven three ways (the no-op hold, the
bleeding ratchet, the arithmetic) that you cannot conjure PnL from a delta-zero position; every version of
“harvest the hedge” collapses into something that isn’t free:
- a directional bet (the naked leg = S2b, plus fees),
- a grid (a sell-volatility bet — capped upside, an inventory tail, viable only with maker fills at
intermediate resolution, and even then it barely beats buy-and-hold on optimistic assumptions), or - a pairs/spread bet that needs real cointegration, which crypto lacks.
The deep lesson — a hedge has no harvestable PnL; resolution surfaces oscillations but the fee hurdle and
fill quality decide everything — is one of the most important in trading, and the maintainer reasoned
their way to the doorstep of it. The value here is the learning, not a deployable strategy.
Reproduce
Read-only, no auth, writes nothing. Source of truth: bot/src/richie_bot/cli/smell_test_grid.py (golden
self-test first: asserts the double-leg nets exactly 0, and that a grid harvests on an oscillation but caps
upside on a trend). The --only resolution 1m pull is the slow part (~1–2 min).
make smell-test-grid # all sections (reproduces this memo)
make smell-test-grid ARGS="--only resolution --res-days 90"
make smell-test-grid ARGS="--only pairs"See also
docs/research/2026-06-01-strategy-2-smell-test.md(S2a trend) and
…-strategy-2b-mean-reversion-smell-test.md(S2b). Contrast: S2c is where the “harvest” idea
reduces to a directional bet (S2b), a grid, or pairs — there is no separate free edge.docs/research/2026-05-30-binance-funding-screen.md— the one genuinely market-neutral edge Richie
does run (funding capture): it’s contractual, not a price-oscillation harvest.