Skip to content

View original

EthCmInverseFourHourVolSqueezeBreakoutLS

Hypotheses

ETH COIN-M Inverse-Perp Volatility-Squeeze Breakout, Long-Short (Single Instrument ETHUSD_PERP.BINANCE_CM, 4h Bars, Trade Directional Range-Expansion ONLY After a Multi-Month Volatility Contraction, ATR Trailing Exit, Low-Fee Venue, 3-Parameter)

Hypotheses

A LONG-SHORT, single-instrument volatility-expansion breakout on the ETH COIN-M inverse perpetual (ETHUSD_PERP.BINANCE_CM). This is deliberately routed to the under-represented, LOW-FEE COIN-M venue (~0.06% round-trip vs ~0.10% on USD-M and ~0.20% on spot), which drops the viability floor to ~0.10% per trade and makes a selective breakout economically easier to clear. It is NOT a majors momentum-rotation basket (L32 exhausted class — this is a single name, event-triggered, no cross-sectional ranking), NOT mean-reversion/VWAP (the fee_edge graveyard), NOT funding-carry (L33), NOT options (L23 trade-count wall), NOT liquidation-feed dependent (data-span wall), and NOT a multi-leg CM carry (L20 data wall — this is single-leg ETH OHLCV, which L20 explicitly says is data-safe). The core insight is volatility CLUSTERING: crypto alternates between low-vol coiling regimes and violent directional expansions, and breakouts that fire OUT OF a genuine volatility squeeze have materially higher follow-through (fewer false breaks) than breakouts fired at random. By requiring a prior volatility contraction as a gate, the strategy trades rarely, holds through the expansion for multi-percent moves, and keeps fee drag negligible relative to the captured range. Only 3 parameters to resist the overfitting that killed the momentum-rotation and defensive-vol variants.

Hypotheses

Iteration-2 change, kept minimal and confined to the exit/sizing path (Layers 1-3 already passed and are untouched): the previous version had NO stop until the chandelier trail 3.0 x ATR below the entry-anchored extreme, so every failed break paid a full 3-ATR loss. QA's own numbers showed the payoff geometry (avg_win $2,388 vs avg_loss $1,014, win_rate 0.367) is the binding constraint on Sharpe, so I added a stage-1 hard stop at 1.5 x ATR from the entry close (ATR frozen at entry so the level is fixed) and re-anchored position_size to that actual stop distance, which halves the per-trade loss tail while leaving the winning-trade trail and the entire entry/signal logic byte-for-byte the same. Honest assessment: I do not expect this to clear the bar. QA is very likely right that the ceiling here is structural — Sharpe 0.246 with CI [-0.43, 0.88], alpha -0.0101, IR -0.57, benchmark_correlation 0.59 means the +22.97% is mostly long-ETH beta, and the BTC sibling of this exact family already failed no_edge at a HIGHER base Sharpe (0.61). Halving loss size can lift PF and shave drawdown but cannot manufacture alpha in a book whose returns are 59% correlated to buy-and-hold; a directional single-name OHLCV squeeze-breakout on a 4H ETH perp has no mechanism to generate market-independent return. Hence recommendation=abandon: if this run comes back with the Sharpe CI still straddling zero, there is no further lever I can name.

Hypotheses

Statistically empty single-perp breakout in the L30/L63 graveyard — not worth 2 hours of optimization, despite a correct reward/risk shape. Over 121 trades in 5.8 years: Sharpe 0.239 with bootstrap CI [-0.608, 1.033] straddling zero, PSR 0.71, profit_factor 1.21, and total_return only +19.5% (CAGR 4.5%) against a max_drawdown of 33.6% (CI to 62%). The reward/risk is correctly asymmetric (RR ~2.9, positive expectancy +$213/trade, avg_trade_return_pct 0.496% well above the COIN-M floor), so it is not fee-dead or RR-inverted, but the base Sharpe of ~0.24 is the ceiling the ~225-trial deflation only lowers. The result leans on 2024 (+19.8%) while 2022 (-7.1%), 2023 (+0.3%) and 2026 (-1.2%) are flat-to-negative, rolling Sharpe turned negative through 2026, and stress windows are mostly negative (FTX -4.7, yen-carry -5.3) — so the last-20% holdout is weak and the deflated-Sharpe/holdout gates would predictably reject it. It is the single-perp channel-breakout family with no survivors (L30/L63) on a thin 121-trade sample. Failure pattern: no_edge/overfit single-perp volatility-squeeze breakout, not significant (L30/L63).

Implementation

Long-short volatility-squeeze breakout on the ETH COIN-M inverse perpetual (ETHUSD_PERP.BINANCE_CM, 4H bars). Entries require an ATR percentile rank in the bottom squeeze_pct of its trailing 90-day distribution (the squeeze gate) AND a close beyond the prior breakout_lookback-bar Donchian channel (the expansion trigger): break up = long, break down = short. Exits are a hard init_stop_mult x ATR stop measured from the entry close, an atr_trail_mult x ATR chandelier trail from the best close since entry, and a max_hold_bars time cap. Sizing risks risk_pct of equity against the initial stop distance, capped at max_gross_frac of equity, floored to whole $10 inverse contracts via contracts_for_notional.

Verification Results

CLEAN RESTART 2026-09-04 — this run's verdict history and learning records were removed and it was restarted from verification. Its previous abandonment came from the pipeline, not from the market: the Layer-2 harness mis-bound @staticmethod helpers (fixed), QA issued terminal performance verdicts on an unoptimized smoke test (removed — QA now judges correctness only), and sandbox timeouts came from backtest-slot starvation (fixed). The hypothesis and the strategy code are unchanged. Verify the code on its merits; performance is decided later by the full backtest and the optimizer.

Verification Results

If tighter tail control matters, use a venue-managed STOP_MARKET bracket leg at the 1.5-ATR level so a failed break is cut intra-bar; analyst to weigh against the abandon recommendation first.

Verification Results

The stage-1 initial stop (init_stop_mult x ATR from entry) is evaluated on the BAR CLOSE on 4H bars, so a bar that runs beyond 1.5 ATR before closing exits past the intended level — largest_loss -$3,709 vs avg_loss $1,428 (~2.6x), i.e. the loss tail is not fully capped at 1.5 ATR. Materially improved over the prior chandelier-only version but not eliminated. Not a code defect (the hypothesis specifies an ATR trailing exit, not a venue bracket), but it weakens the intended per-trade risk control.

Backtest Review

Correct reward/risk asymmetry (avg_win $4071 > avg_loss $1421, RR ~2.9, positive expectancy +$213/trade) — not the RR-inverted mean-reversion failure

Backtest Review

avg_trade_return_pct 0.496% clears the ~0.10% COIN-M floor comfortably; low fee drag (3.6% of gross); clean 3-parameter OHLCV construction, correct inverse sizing

Backtest Review

Squeeze gate keeps turnover low; no liquidation

Backtest Review

Not significant: Sharpe 0.239 with CI [-0.608, 1.033] straddling zero, PSR 0.71, PF 1.21; base Sharpe is the ceiling deflation only lowers

Backtest Review

Anemic vs risk: total_return +19.5% over 5.8 years (CAGR 4.5%) against max_drawdown 33.6% (CI to 62%); calmar 0.30

Backtest Review

2024 carries it; 2022/2023/2026 flat-to-negative; rolling Sharpe negative through 2026; last-20% holdout weak; stress windows mostly negative

Backtest Review

L30/L63 single-perp channel-breakout graveyard; 121 trades over 5.8 years is a thin breakout sample

Iteration History

Verification failed (Layer 4 — QA review) [class=no_edge]: - NO PROMOTABLE RISK-ADJUSTED EDGE — the directional-OHLCV squeeze-breakout null. Full 2113-day sandbox: Sharpe 0.246 with CI [-0.43, 0.88] straddling zero (indistinguishable from no-skill, below the 0.5 OOS floor), alpha -0.0101 (negative) and IR -0.57 vs buy_hold, benchmark_correlation 0.59 so the +22.97% is largely long-ETH beta. avg_trade_return_pct 0.693% clears the CM floor and PF 1.37, but positive per-trade economics don't translate to a durable risk-adjusted edge (win_rate 0.367; avg_win $2,388 > avg_loss $1,014 but the hit rate is too low to lift the Sharpe). ETH sibling of the BTC vol-squeeze breakout that failed no_edge, weaker here (that had Sharpe 0.61). Base Sharpe is the ceiling for this family; no parameter change lifts a straddling-zero, negative-alpha book past the floor. - Safety note: unlike the SOL/BTC reversion-fade siblings that LIQUIDATED, this is a trend-following breakout with an ATR trail on the expansion, so it carries no convex-short blow-up risk (no liquidation, leverage 1.0, max_drawdown 30%). Construction sound; it simply lacks edge.

Iteration History

Verification failed (Layer 4 — QA review) [class=no_edge]: - _entry_bar / _entry_price / _entry_atr are stamped inside _sync_position_state, which runs during calculate_signal BEFORE the entry order actually fills. The first bar on which cache.positions_open() returns the new position is one bar after the entry decision, so entry anchors are recorded ~1 bar late, shifting the max_hold cap and fixed init-stop level by ~1 bar. Immaterial to the result but structurally imprecise. - Faithful, working implementation but the sandbox characterises a single-instrument pure-OHLCV directional Donchian squeeze-breakout with no risk-adjusted edge: Sharpe 0.199 with CI [-0.48, 0.87] straddling zero, alpha -0.0153, IR -0.5755, benchmark_correlation 0.554. avg_trade_return_pct 0.55% clears the ~0.10% COIN-M fee floor and PF 1.238 > 1, so it is not a fee failure or payoff-inversion bug — the +19.5% return is long-ETH beta, not market-independent alpha.
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.