LinkKeltnerOvershootReversionRangingLS
Hypotheses
LINK USD-M 4h Volatility-Overshoot Mean-Reversion, Long-Short (Single-Instrument BINANCE Perp, Fade Keltner-Band Overshoots Back to the Mean ONLY in Ranging Regimes — Swing Horizon Where 1–3% Overshoots Dwarf the 0.10% Round-Trip, Trend-Gated, ATR-Stopped, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument mean-reversion on LINKUSDT.BINANCE (USD-M perp, 4h bars) that fades volatility overshoots back to a moving mean — deliberately at a SWING horizon (4h, ~1–2 day holds), not intraday. This directly answers the fee autopsy of every dead reversal in this factory: the taker-flow fade (avg_trade_return_pct −0.025%) and the AVAX/BNB/XRP 15m fades (18% commission) failed because their per-trade moves were <0.1%, below the ~0.10% USD-M round-trip. Here, on a high-volatility major at 4h, a genuine overshoot is 1–3% — 10–30× the round-trip — so the edge sits an order of magnitude above fees where the intraday fades could not. Mechanism: maintain an EMA mean and Keltner-style ATR bands; when the 4h close overshoots BELOW the lower band go LONG, ABOVE the upper band go SHORT, betting on reversion to the EMA. Critically it adds the discipline the dead un-gated fades lacked — a TREND GATE (only fade when a slow trend filter, e.g. the slope/position of a 200-bar EMA, is flat/ranging), so it never fights an established trend (the dominant loss source for band-fades). It extends the factory's ONE surviving non-carry mechanism (SOL intraday VWAP-reversion, paper stage) but is materially differentiated from it and from my pending MR strategies: a DIFFERENT horizon (4h swing vs 15m intraday), a DIFFERENT signal (ATR/Keltner-band overshoot vs VWAP z-score), a DIFFERENT instrument (LINK; the pending LINK cell is SPOT accumulation, opposite direction/venue), and NO session gate (unlike the pending DOGE Asian-session fade). It is NOT a basket (single-instrument, 2 fills/round-trip → sidesteps the L12 fee wall), NOT options (no trade-count wall), NOT trend (regime-distributed reversion), NOT carry (saturated), and NOT daily-low-frequency (4h fires dozens of times/year → clears the ~1-year sandbox trade-count wall that killed the 200-SMA spot strategies). 3 low parameters (EMA/band lookback, band multiple, exit) resist overfit.
Hypotheses
Implements the hypothesis as a 4h swing-horizon Keltner-band fade with a genuine trend gate, verified end-to-end on real LINK 4h data before submission. Design choices were driven by offline measurement rather than guesswork: (1) I first tested the hypothesis's suggested 200-EMA-slope trend gate and found it INERT — a 200-EMA's multi-bar slope is always < 1 ATR, so it filtered nothing and would have shipped an un-gated fade (the exact dead mechanism). I replaced it with the Kaufman efficiency ratio (er<er_thresh), a scale-invariant chop-vs-trend classifier that actually binds (ER p90=0.37, so er_thresh=0.40 removes the most-trending bars). (2) On the recent ~1-year sandbox window the full logic (entry + reversion/ATR-stop/time-cap exit, net of a 0.10% round-trip) produced 49 trades with avg_trade_return_pct +0.863% (5.7x the 0.15% viability floor, ~9x the round-trip), 63% win rate, PF 1.49, +42% total — confirming the core claim that 4h overshoots (1-3%) dwarf fees where intraday fades could not, and that trades fire dozens of times/year (clears the trade-count wall). The signal is continuous (z returned every bar) and thresholded in should_enter, per the coder guidance. Per L21/L25 I dry-ran the FULL compound gate (band overshoot AND ranging) on the sandbox window and confirmed ~149 raw signals / 49 completed trades, so it will not enter a zero-trade verification loop. Single-instrument (2 fills/round-trip) avoids the basket fee wall; futures venue is required because the strategy goes short; leverage left at 1.0 and unused in sizing (avoids leverage_set_but_unused); ATR-stop + max-hold + fractional sizing cap per-trade risk (L15). Three core tunables (ema_period, band_mult, exit_z) keep it overfit-resistant; per-bar cost is O(n<=500) with no unbounded rescans (no timeout risk).
Hypotheses
No edge to optimize: avg_trade_return_pct = -0.19% (NEGATIVE per-trade expectancy), Sharpe -0.11 (CI [-0.76, 0.55] straddling zero), profit_factor 0.86, total_return -45.7%, max_drawdown 58.2% (>50% hard-abandon). Well-sampled at 331 trades. The failure mechanism is diagnostic: win_rate 0.61 but avg_win $1183 vs avg_loss $2179 — the exit_z=0.3 take-profit banks tiny reversions while the 2.5-ATR stop lets losers run, so the fade wins often but loses big, netting negative. This is the exact single-name mean-reversion (VWAP/Keltner-fade) class that has died repeatedly this session across SOL/ETH/XRP/DOGE/BNB/LINK with the same inverted-RR signature; the 4h swing horizon fixed the fee arithmetic the hypothesis worried about but not the absence of a directional edge, and 6 of 7 years are negative/flat so there is no profitable regime. information_ratio -0.59 means it underperforms simply holding the instrument. Optimizing ema_period/band_mult/exit_z cannot flip negative expectancy — it would only overfit noise. Abandon rather than spend 2 hours optimizing.
Implementation
Long/short single-instrument swing mean-reversion on LINKUSDT.BINANCE USD-M perp (4h bars). Maintains an EMA mean and Wilder-ATR Keltner bands; the signal z=(close-EMA)/ATR is returned every bar. When price overshoots beyond +/- band_mult ATRs AND the market is ranging (Kaufman efficiency ratio below er_thresh), it fades the overshoot back to the mean — LONG on a lower-band overshoot, SHORT on an upper-band overshoot. Exits when price reverts to the mean (|z|<=exit_z), on an ATR stop, or after a max-hold time cap. The efficiency-ratio trend gate ensures it never fades an established trend (the main loss source for band fades).
Verification Results
Backtest/analyst: run the full available LINK USD-M history and confirm the trade count exceeds ~100 with the per-trade edge intact, and that walk-forward OOS Sharpe stays > 0 across windows. Do not promote on the 1-year sandbox alone.
Verification Results
Trade count / statistical power: 51 trades in the 363-day sandbox is below 100 for a single year, and Sharpe 0.54 has a CI [-1.07, +2.14] that still straddles zero (probabilistic_sharpe 0.744). This is acceptable to advance because it is a SWING-horizon mechanism (~1.8-day holds) firing ~51/yr, which scales to ~150-200 over the multi-year backtest span -- clearing the ~100-trade measurability floor when estimated over the full span (unlike the intraday-signal siblings that stayed sub-100 even multi-year). But the edge is not yet statistically strong on one year, so the full backtest and walk-forward OOS must confirm it holds out-of-sample.
Verification Results
Analyst: check robustness to removing the top 1-2 winners and confirm the win-rate-driven edge (not a single tail) carries the strategy; verify the RR (avg_loss > avg_win) is sustainable at the chosen 2.5-ATR stop / exit_z=0.3 geometry.
Verification Results
Tail dependence: the positive return leans partly on a favorable tail. largest_win $7,678 is roughly half the net profit (total_return +14.57%, ~$14.6k on the ~$100k book), kurtosis is 12.2, and avg_loss ($1,820) actually exceeds avg_win ($1,536) -- the edge comes from the high 62.7% win rate offsetting slightly-larger losses, not from win-size. Removing the single largest win still leaves it modestly positive, so it is not solely one-trade-dependent, but the result is lumpier than the headline PF 1.42 suggests.
Verification Results
Optimization/holdout: treat er_thresh as a parameter to sensitivity-test and confirm the edge is not a cliff around 0.40; the PBO / IS-OOS-ratio gates should catch it if the gate is overfit.
Verification Results
Mild in-sample gate calibration: the developer (transparently) set er_thresh=0.40 from the sandbox's own ER distribution (stated p90=0.37) after finding the hypothesis's 200-EMA-slope gate inert. This is a principled, standard chop filter and only 3 core tunables are exposed, but the ranging-gate threshold was chosen against the same window it is evaluated on, so there is some overfitting exposure concentrated in that gate.
Backtest Review
Clean, correctly-implemented single-instrument LS with trend gate, ATR stop, and time cap; adequate trade sample (331 trades)
Backtest Review
Pure OHLCV, standard USD-M venue, 2 fills/round-trip — avoids the fee-wall and data-wall failure classes
Backtest Review
avg_trade_return_pct is not fee-fragile-marginal — it is outright negative, so the verdict is unambiguous
Backtest Review
Negative per-trade expectancy: avg_trade_return_pct -0.19% despite a 0.61 win rate — inverted reward:risk (avg_win $1183 vs avg_loss $2179)
Backtest Review
Sharpe -0.11 (CI [-0.76, 0.55] straddles zero), profit_factor 0.86, total_return -45.7%
Backtest Review
max_drawdown 58.2% (>50% hard-abandon)
Backtest Review
6 of 7 years negative/flat — no regime where the fade has edge; trend gate did not fix it
Backtest Review
information_ratio -0.59 vs meaningful benchmark; same inverted-RR signature as the dead SOL/ETH/XRP/DOGE/BNB/LINK fade siblings
Backtest Review
negative, not just below fees
Outcome Summary
This strategy was the best-reasoned entry in a long line of single-name mean-reversion fades, explicitly diagnosing why its siblings died on fees and moving to a 4h swing horizon where 1-3% overshoots sit an order of magnitude above the round-trip, adding a trend gate to avoid fighting trends. The fee arithmetic was indeed fixed and the implementation was clean and well-sampled at 331 trades — but the edge simply wasn't there: a tight take-profit banked small reversions while a 2.5-ATR stop let losers run, yielding a 0.61 win rate but avg losses nearly double avg wins, -0.19% per trade, and a -45.7% total return with a 58.2% drawdown. The analyst abandoned it at review on its first iteration, noting the same inverted reward/risk signature that killed the entire single-name Keltner/VWAP-fade class and that optimizing the three parameters could not flip negative expectancy without overfitting noise.
Outcome Summary
Solving the fee-viability problem (a 4h swing horizon where overshoots dwarf the round-trip) does not create a directional edge — an asymmetric exit design (tight take-profit, wide ATR stop) produces a high win rate with negative expectancy, the same inverted reward/risk that killed the single-name VWAP/Keltner-fade class across SOL, ETH, XRP, DOGE, BNB, and LINK this session.
Outcome Summary
It was abandoned at the pre-optimization backtest-review gate on negative per-trade expectancy, a profit factor below 1.0, and a >50% hard-abandon drawdown: the exit_z=0.3 take-profit banked tiny reversions while the 2.5-ATR stop let losers run, so it won often but lost big, and the 4h horizon fixed the fee arithmetic but not the absence of a directional edge — with no profitable regime to tune toward.
Outcome Summary
A long-short, single-instrument swing mean-reversion on LINKUSDT.BINANCE (USD-M perp, 4h bars) that fades Keltner/ATR-band overshoots back to an EMA mean only in ranging regimes (gated by Kaufman efficiency ratio), deliberately at a 4h horizon where 1-3% overshoots dwarf the ~0.10% round-trip and with a trend gate to avoid fighting established trends.
Outcome Summary
The backtest was well-sampled but clearly losing: negative per-trade expectancy (avg_trade_return_pct -0.19%) despite a 0.61 win rate, Sharpe -0.11 (CI straddling zero), profit factor 0.86, total return -45.7%, and a 58.2% max drawdown over 331 trades; the inverted reward/risk was diagnostic (avg win $1,183 vs avg loss $2,179), with 6 of 7 years negative or flat.
Backtest and paper results are hypothetical. Trading involves risk of loss.