EthDaily2155EmaTrendContinuationVolFilterLong
Hypotheses
ETH Daily 21/55-EMA Trend Continuation with Volatility Filter (Long-Only)
Hypotheses
A long-only single-instrument trend-continuation strategy on ETHUSDT perpetual futures using daily bars and OHLCV-only data. Architecturally MIRRORS the highest-performing daily trend-continuation strategy in this pipeline — SOL Daily 21/55-EMA Trend Continuation with Volatility Filter (Sharpe 3.81, paper_stage), applied to ETH. Critically, this proposal addresses the architecture-mirror failure pattern (BNB Golden Cross failed with cliff_count=4 because BNB has stronger mean-reversion than ETH at daily) by selecting ETH specifically: ETH already has empirically validated clean daily trend persistence (ETH Daily Golden Cross Momentum Sharpe 4.04, the highest in this pipeline). The architecture-asset fit is supported by TWO independent empirical proof points: (1) ETH Golden Cross succeeds at 4.04 (proves ETH responds to EMA-based trend-following), (2) SOL Daily 21/55 EMA + volatility filter succeeds at 3.81 (proves the 21/55 + vol-filter architecture works on a higher-vol asset than ETH). ETH is bracketed by these two proof points — a 21/55 EMA + vol-filter on ETH should be at least as clean as on SOL (lower vol means cleaner signals). Existing ETH strategies in pipeline (EthDailyGoldenCrossMomentumLong, EthFourHourVolumeBreakoutLong) use different mechanisms: Golden Cross fires on RARE 50/200 cross EVENTS (typically 1-2 per cycle), while 21/55 trend continuation fires REPEATEDLY DURING the uptrend regime (state-based, multi-trade per regime). So this proposal captures a different signal density profile on the same asset. Mechanism is mechanism-orthogonal to Golden Cross and timeframe-orthogonal to 4H Volume Breakout. Single-dominant-filter design (200-day SMA regime + 21/55 EMA stack + volatility filter), explicitly NOT a multi-condition AND-gate. Calibrated for ~10-25 entries/year — well above the sparsity-failure threshold.
Hypotheses
Iteration 2 addresses the sole reported defect: density (17 entries / ~2.6/yr vs the 10-25/yr target). Root cause per feedback was the three-conditions-on-the-same-bar constraint — regime_up AND vol_ok AND a one-bar EMA21 cross_up all coinciding — which collapsed entry frequency. The smallest fix that reaches deeper without regressing earlier layers: (1) replaced the exact single-bar `cross_up` recross with state-based trend-continuation (`close > EMA21` while in the up-regime), gated by an `entry_cooldown` (bars since last entry) so it fires repeatedly during the trend but not every bar — this is option (2) suggested in the feedback; (2) relaxed the binding volatility gate from vol_max 0.06 to 0.07, since ETH daily ATR/price can exceed 6% in normal uptrends and was over-filtering. The regime + vol architecture, continuous EMA-spread signal, exit stack, and capital-relative sizing (all of which passed Layers 1-3) are untouched. Imports remain clean (numpy + nautilus only), so Layer 1/2 stay green; only trade-generation logic changed to raise density into the optimizable range while preserving the proven long-only ETH trend-following edge.
Hypotheses
Failed deflated Sharpe and every forward gate on attempt 1. DSR=0.0 (vs 0.95 bar) with the optimized Sharpe 0.6035 FAR below the 225-trial expected-max luck bar of 3.741 (is_significant=false, sharpe_ci_low -0.9514 through 0, PBO 0.9206 — near-certain overfitting). The walk-forward is is_overfitted=TRUE with a complete out-of-sample collapse: avg IS 1.273 -> avg OOS 0.0, with ALL THREE OOS windows exactly 0.0 (the sparse continuation entries produce no generalizing trades in any forward window), and the holdout FAILED (0.0). Sensitivity FAILED with 2 cliffs on the two defining structural params (sma_regime, max_hold_bars). The base is a modest, outlier-carried edge: 31 trades over ~6.5 years (~5/yr, far below the hypothesized 10-25/yr even after the iteration-2 re-engagement fix), return_skew ~13, kurtosis ~200, tail_ratio 0.025 — essentially 1-2 fat-tail days (2025-09) carry the entire result. Not iterate (attempt 1 of 2): the walk-forward finds NO edge that generalizes (OOS uniformly 0.0 across all windows), the two core structural params are cliffs, and PBO 0.92 means a second best-of-225 sweep re-selects the same overfit, non-generalizing config — there is no robust region to tune toward. Not revise_hypothesis: ETH is not a dead target (the ETH Golden Cross sibling clears the bar), so this is implementation/asset-selectivity of the 21/55-continuation architecture on ETH, not a proven mechanism stranded on a dead instrument, and the architecture already has a promoted SOL instance — there is no new target to reframe toward. FAILURE PATTERN: mirroring a promoted daily 21/55-EMA + vol-filter architecture (SOL Sharpe 3.81) onto ETH does NOT inherit promotability — the vol-filter + regime gate + cooldown produce a sparse (~5 trades/yr), outlier-carried edge (kurtosis ~200, tail_ratio 0.025) whose walk-forward OOS collapses to exactly 0.0 in every window with a failed holdout, DSR 0.0, and PBO 0.92. A clean low-parameter design and a flat sensitivity grid on the non-structural knobs do not rescue an architecture-mirror whose forward edge is entirely absent out-of-sample; the promoted SOL instance and the ETH Golden Cross remain the configurations where this asset/mechanism clears the bar.
Implementation
Long-only daily 21/55-EMA trend-continuation strategy on ETHUSDT.BINANCE USD-M futures using OHLCV only. Enters long when price holds above EMA21 inside a confirmed up-regime (close>200-SMA and EMA21>EMA55) with normalized ATR<=vol_max, spaced by an entry_cooldown of N bars so it re-engages repeatedly during an uptrend rather than only on a single pullback-recross bar. Exits on ATR stop, EMA21<EMA55 stack break, close below 200-SMA, close below EMA55, or a time stop. Capital-relative sizing capped at position_pct notional and reduced so ATR-stop risk stays within risk_pct of equity.
Backtest Review
Trades faithfully implement the hypothesis: 31 long-only 21/55-EMA trend-continuation entries in vol-filtered uptrends, catching multi-week ETH trends (verified the largest 'win' is a real 60-day 2541->4306 trend capture, not an artifact)
Backtest Review
Healthy trend-follower economics: PF 1.67, Sortino 1.93 >> Sharpe 0.55, avg_win 5789 vs avg_loss 1422 — small controlled losses paid for by occasional large trend captures (positive skew is the desired profile, not a red flag)
Backtest Review
Low risk and fee-cheap: max drawdown 14.6%, Calmar 3.4, commissions just 1.49% of gross, turnover 6.1
Backtest Review
Differentiated from existing ETH strategies (state-based continuation vs rare-event Golden Cross)
Backtest Review
Thin sample: 31 trades = ~10 per walk-forward window, marginal for statistically meaningful optimization
Backtest Review
Entry density (~5/yr) fell short of the hypothesized 10-25/yr despite the iteration-2 density fix
Backtest Review
Thin raw edge: Sharpe 0.55, sharpe_ci_low -1.19 straddles zero; result depends on catching a few large trends, so it is fragile against downstream deflated-Sharpe/holdout gates
Backtest Review
No alpha over buy-hold (information_ratio -0.73); reported kurtosis 197 reflects lumpy exit-day PnL attribution (cosmetic, but inflates tail metrics)
Analysis
Clean, low-parameter, differentiated design (state-based 21/55-EMA continuation vs the rare-event Golden Cross sibling); pure OHLCV, single feed.
Analysis
Low headline drawdown (14.6% base / 16.4% optimized) and cheap to trade (commission 1.5% of gross).
Analysis
Most sensitivity parameters (ema_fast, ema_slow, atr_period, risk_pct, atr_mult_sl, position_pct, entry_cooldown) are flat/robust with no cliffs.
Analysis
Fails the multiple-testing hard gate decisively: deflated_sharpe=0.0 with the optimized Sharpe 0.60 FAR below the 225-trial expected-max luck bar of 3.741 (is_significant=false, sharpe_ci_low=-0.9514 straddling 0, PBO=0.9206 — near-certain overfitting).
Analysis
Walk-forward is_overfitted=TRUE with a total OOS collapse: avg IS 1.273 -> avg OOS 0.0, and ALL THREE OOS windows are exactly 0.0 — the config produces no generalizing edge (near-zero/zero trades) in every out-of-sample window.
Analysis
Holdout FAILED (holdout_sharpe 0.0, ratio 0) — the untouched recent window has no positive edge.
Analysis
Sensitivity FAILED with 2 cliffs on the two defining structural parameters (sma_regime and max_hold_bars) — the edge lives at fragile parameter values, not a robust plateau.
Analysis
Structurally sparse and outlier-carried: only 31 base / 25 optimized trades over ~6.5 years (~4-5/yr, far below the hypothesized 10-25/yr even after the iteration-2 re-engagement fix), with return_skew ~13, return_kurtosis ~200, tail_ratio 0.025 — the entire result rests on 1-2 fat-tail days (e.g. 2025-09 +17-20% single days).
Analysis
Base Sharpe is a modest 0.55 (CI low -1.19); optimization lifted it only to 0.60, nowhere near significance.
Analysis
The strategy fires far too rarely to optimize: it produced only 17 entries (~2.6/year) versus the hypothesis's own design target of 10-25/year — a 5-10x density shortfall. At this count, optimization is meaningless (walk-forward windows get ~5 trades, holdout ~0) and will fail the forward gates. The mechanism is sound (proven on the SOL 21/55+vol-filter sibling at Sharpe 3.81), so this is an entry-calibration defect, not a dead premise. ROOT CAUSE: the re-engagement entry requires three conditions to hold on the SAME bar — regime_up (close>200SMA AND EMA21>EMA55) AND vol_ok (ATR/price <= vol_max 0.06) AND a single-bar cross_up (prev_close<=prev_EMA21 AND close>EMA21). Requiring the exact pullback-recross bar to coincide with the regime and volatility gates is the binding constraint that collapses density. SPECIFIC FIXES to reach the 10-25/yr target before re-submitting for optimization: (1) Diagnose which gate binds — log how often each of regime_up, vol_ok, and cross_up is individually true; (2) Allow the re-engagement to fire within a short window (e.g. 1-3 bars) after the EMA21 recross rather than only on the exact cross bar, OR enter on trend-continuation (close>EMA21 while regime_up) with a cooldown of N bars between entries instead of demanding the precise pullback-recross; (3) Check whether vol_max=0.06 is over-filtering ETH (ETH daily ATR/price can exceed 6% in normal uptrends) and relax it if it is the binding constraint. Re-backtest, confirm ~10-25 entries/year and a still-positive edge, then proceed to optimization.
Outcome Summary
EthDaily2155EmaTrendContinuationVolFilterLong ported the pipeline's best daily trend-continuation architecture — the promoted SOL 21/55-EMA + volatility-filter design (Sharpe 3.81) — onto ETH, betting that ETH's validated daily trend persistence would carry it through. Its initial backtest was clean and cheap to trade but thin, posting Sharpe 0.55 over just 31 trends whose profit rested on a few large winners, so the analyst sent it to optimization rather than abandoning outright. Optimization nudged Sharpe only to 0.60 while every out-of-sample check rejected it: deflated Sharpe 0.0 against a 3.741 luck bar, PBO 0.92, walk-forward OOS collapsing to exactly 0.0 in all three windows, a failed holdout, and two cliffs on its core structural parameters. After two iterations it was abandoned, since the vol-filter-and-regime design produced an outlier-carried, ~5-trades-per-year edge with no forward generalization — the promoted SOL instance and ETH Golden Cross remained the only configurations where this asset and mechanism clear the bar.
Outcome Summary
Mirroring a promoted architecture onto a differently-behaved asset does not inherit its promotability; the vol-filter, regime gate, and cooldown made entries too sparse (~5/yr vs the hypothesized 10-25/yr), leaving an outlier-carried edge (kurtosis ~200, tail_ratio 0.025) whose out-of-sample edge vanished entirely.
Outcome Summary
The analyst abandoned it after optimization failed every forward gate: deflated Sharpe 0.0 (vs 0.95 bar) with the optimized 0.60 far below the 225-trial expected-max luck bar of 3.741, PBO 0.9206, an is_overfitted walk-forward collapsing from avg IS 1.273 to OOS 0.0 across all three windows, a failed holdout, and 2 sensitivity cliffs on the defining sma_regime and max_hold_bars parameters.
Outcome Summary
A long-only, state-based 21/55-EMA daily trend-continuation strategy on ETHUSDT futures, gated by a 200-day SMA regime filter and a normalized-ATR volatility filter, that mirrored the pipeline's promoted SOL 21/55-EMA + vol-filter architecture (Sharpe 3.81) onto ETH on the thesis that ETH's independently validated daily trend persistence (Golden Cross Sharpe 4.04) would inherit its promotability.
Outcome Summary
The base backtest scored a thin but positive edge over 31 trades in ~6.5 years: Sharpe 0.55, total return 27.02, 29% win rate carried by trend outliers (profit factor 1.67, Sortino 1.93, avg win 5789 vs avg loss 1422), with a 14.6% max drawdown. Optimization only lifted it to Sharpe 0.60 (return 36.39, 25 trades, PF 1.86), still nowhere near significance.
Backtest and paper results are hypothetical. Trading involves risk of loss.