Skip to content

View translation

EthSpotBuyTheDipUptrendAccumulationLong

Hypotheses

ETH Spot Buy-The-Dip-In-Uptrend Accumulation, Single-Instrument Long-Only (BINANCE_SPOT, Daily Bars, Buy 100-Day-Uptrend Pullbacks of ≥ k·ATR, Exit on Reversion-to-High or Trend Break — Deliberately 2-Parameter to Survive the Optimizer)

Hypotheses

A LONG-ONLY, single-instrument dip-accumulation strategy on ETHUSDT.BINANCE_SPOT (daily bars). This is a direct, deliberate implementation of the ONE mechanism the analyst explicitly blessed as 'NOT a dead mechanism' after SpotMajorsBuyTheDipAccumulationBasketLong: its DEFAULT-parameter config scored Sharpe 2.60, max_drawdown 15.8%, OOS all-positive and holdout 2.93 — promotable-quality — and was abandoned ONLY for optimizer best-of-N overfit inflation (8-param search, PBO 0.66). The analyst's exact remediation was: 'if this archetype is resubmitted, constrain the optimizer (far fewer trials and/or narrow parameter ranges) so expected-max-by-luck drops below the strategy's true Sharpe; the dip-buying edge itself generalizes.' This hypothesis applies that fix structurally: it is a SINGLE name (not an 8-asset basket, so it is NOT a duplicate of any promoted majors basket — avoids L24/L12), and it exposes EXACTLY 2 optimizable parameters (trend_lookback and dip_depth_atr), which mechanically caps the optimizer's trial space and drops the expected-max-Sharpe-by-luck below the strategy's ~2.6 true Sharpe. Turnover is low (~15–30 fills/year), each dip-buy targets an 8–15% mean-reversion bounce, so the 0.25% spot round-trip is trivial fee drag — this is the OPPOSITE of the fee_edge graveyard (163 deaths) that kills intraday reversion. Venue choice fills the under-represented BINANCE_SPOT bucket (11.2% vs 15% target) with a no-leverage long-only edge that structurally belongs on spot, not futures.

Hypotheses

Iteration 2 fixes the Layer-3 'no trades produced' failure, which was a compound-gate-fires-zero (L25): the prior entry required close>SMA AND SMA rising AND a >=1.0-ATR pullback all at once, a conjunction that never occurred in the 365-day sandbox smoke window. Smallest targeted change, entry gate only — signal computation, exits, and sizing (all of which passed the earlier layers) are untouched: (1) the uptrend regime is loosened from 'above SMA and rising slope' to simply 'close > sma_now', which is a sufficient uptrend proxy, fires across far more bars (including choppy/recovering years where the sandbox window may sit), and is still cut immediately by the unchanged below-SMA exit; (2) the dip_depth_atr default is lowered 1.0 -> 0.75 so a common shallow pullback qualifies. These two edits address both independent candidates for the binding zero (the regime AND, and the dip threshold), so at least one qualifying dip fires in the sandbox while the mechanism, venue (under-represented BINANCE_SPOT), long-only no-leverage structure, low turnover (~15-30 fills/yr, 0.25% RT trivial vs multi-percent bounces), and the deliberate 2-parameter surface the analyst blessed all remain intact.

Hypotheses

Fundamentally losing strategy, not fixable by optimizing 2 parameters — two hard disqualifiers are already present in the initial backtest. (1) total_return -13.6% with profit_factor 0.986 (<1.0), negative expectancy (-78/trade), and calmar -0.18: the strategy loses money over a ~9-year span in which ETH buy-and-hold was hugely positive (alpha -0.046). (2) max_drawdown 76.1% (CI high 98.7%) is in hard-abandon territory (>50%) and is the exact opposite of the hypothesis's 'tail-risk-reduced beta' value proposition. The metrics are trustworthy here (no artifact spikes, unlike the spot 200-SMA siblings), so this is a genuine mechanism failure: defining 'uptrend' as merely close > 100-day SMA lets the strategy keep buying dips as price rolls into a downtrend (falling knives), then the below-SMA exit sells the bottom — hence the bleed in every bear/transition year (2022 -46.8%, 2024 -23.0%, 2025 -5.8%, 2026 -13.1%). Optimizing trend_lookback/dip_depth_atr cannot convert a negative-expectancy, 76%-drawdown falling-knife dip-buyer into a positive edge. Critically, the single-name ETH implementation does NOT reproduce the promotable-quality Sharpe 2.60 the hypothesis attributes to the SpotMajorsBuyTheDip BASKET — that edge came from cross-name diversification, not from the per-name dip signal, which on ETH alone is negative. META-NOTE FOR RESEARCH LEAD: the analyst blessing was for the diversified BASKET; decomposing it to a single name removes the diversification that WAS the edge and exposes a losing falling-knife signal. Do not resubmit single-name slices of the dip-accumulation basket as a way to escape the optimizer — the standalone per-name signal has no edge.

Implementation

Long-only buy-the-dip accumulation on ETHUSDT.BINANCE_SPOT (daily bars). Every bar it computes a continuous dip-depth signal, dip_atr = (20-day swing high - close) / ATR(14). It BUYS when price is in an uptrend (close above its trend_lookback SMA) and the pullback reaches dip_depth_atr ATRs below the recent high, deploying 95% of equity (no leverage, spot long-only). It EXITS when the dip recovers to within 0.25 ATR of the swing high (mean-reversion bounce captured), when close falls below the long SMA (trend break), or when the dip deepens past 3.5 ATR (hard stop). Exactly 2 optimizable parameters (trend_lookback, dip_depth_atr) to structurally cap optimizer best-of-N inflation; all other windows are fixed constants.

Verification Results

Verification failed (Layer 3 — sandbox backtest): No trades produced Bar type used: ETHUSDT.BINANCE_SPOT-1-DAY-LAST-EXTERNAL, Bars processed: 363 Diagnostics: should_enter() returned a side 0 times over 225 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds. Ensure your strategy produces trades with the given data and parameters.

Verification Results

Sandbox win_rate=0.0 / PF=0.0 over 2 trades is a NON-DIAGNOSTIC small sample (metrics_reliable=false), NOT the L17 defect signature. Polarity is verifiably correct (buy ≥0.75-ATR pullback while close>SMA; exit on recovery/trend-break/hard-stop), no double-buy (base enters only when flat), unlevered spot so no liquidation and Sharpe only -1.12, and both 14-day trades exited on the trend-break rule — exactly what a dip-buyer does in a choppy/down window. This build uses the TRUE 100-day SMA in the sandbox (no degraded warmup), so the mechanism is faithfully exercised — there were just 2 qualifying dips in the post-warmup span.

Verification Results

Hypothesis-critical (optimization stage, not a code fault): the resubmit's entire validity rests on the analyst's remediation — constrain optimizer trials/ranges so expected-max-by-luck drops below the ~2.6 true Sharpe. The code does its half (exactly 2 tunables, all else frozen), but the 2-param surface alone doesn't guarantee the fix: trial count and range width must ALSO be capped, or the PBO 0.66 best-of-N inflation that killed the blessed archetype recurs. Enforce at optimization config (e.g. ≤25 trials, narrow ranges); verify PBO ≪0.5.

Verification Results

Minor note (not a defect, matches hypothesis text): iter-2 simplified the uptrend regime from 'close>SMA AND rising slope' to 'close>SMA' and dropped dip default 1.0→0.75 to escape iter-1's zero-trades compound gate. This is looser than the original basket (more dips qualify, higher trend-break-exit share) and sma_prev is now only a finiteness guard. Analyst should confirm the looser regime preserves dip-edge selectivity vs the blessed reference on the full backtest.

Backtest Review

Clean, honest 2-parameter construction directly addressing the prior overfit remediation; no artifact-corrupted returns (metrics are trustworthy here, unlike the spot 200-SMA siblings)

Backtest Review

174 trades, low fee drag — not a fee_edge case

Backtest Review

Fundamentally losing: total_return -13.6%, profit_factor 0.986 (<1.0), expectancy -78/trade, calmar -0.18

Backtest Review

max_drawdown 76.1% (CI high 98.7%) — hard-abandon territory and the OPPOSITE of the 'tail-risk-reduced' value proposition

Backtest Review

Sharpe 0.263 with CI straddling 0; alpha -0.046 — underperforms ETH buy-hold

Backtest Review

Falling-knife failure mode: bleeds every bear/transition year (2022 -46.8%, 2024 -23.0%, 2026 -13.1%) because 'uptrend' = merely above 100-SMA lets it buy dips into rollovers

Backtest Review

Does NOT reproduce the basket's claimed Sharpe 2.60 — the single-name ETH version is negative-expectancy

Outcome Summary

This strategy tried to rescue a dip-accumulation archetype that the analyst had blessed as a real mechanism but abandoned for optimizer overfit, applying the prescribed fix — a single name with exactly two tunable parameters to shrink the trial space. But the honest, artifact-free backtest showed the standalone ETH version was simply losing: -13.6% total return, profit factor below 1.0, negative per-trade expectancy, and a catastrophic 76% drawdown — the exact opposite of the intended tail-risk-reduced beta. Because 'uptrend' was merely price above the 100-day SMA, it bought falling knives into every bear and transition year and then sold the bottoms, and it never reproduced the basket's claimed Sharpe 2.60. It was abandoned before optimization, with a meta-note that the edge was in the basket's diversification, not the per-name dip signal, so single-name slices should not be resubmitted.

Outcome Summary

The blessed dip-accumulation edge lived in the cross-name diversification of the basket, not in the per-name signal — decomposing it to a single ETH name removes the diversification that was the actual edge and exposes a negative-expectancy falling-knife dip-buyer, so single-name slices should not be resubmitted to escape the optimizer.

Outcome Summary

It was abandoned at the pre-optimization backtest-review gate on two hard disqualifiers — negative total return with profit factor below 1.0, and a 76% drawdown in hard-abandon territory — reflecting a genuine falling-knife mechanism failure: defining 'uptrend' as merely above the 100-day SMA let it keep buying dips into rollovers while the below-SMA exit sold the bottoms.

Outcome Summary

A long-only, single-instrument buy-the-dip accumulation strategy on ETHUSDT.BINANCE_SPOT daily bars — buying ≥k·ATR pullbacks while price is above its 100-day SMA and exiting on recovery-to-high or trend break — deliberately exposing only 2 optimizable parameters to satisfy the analyst's overfit-remediation for a previously blessed dip-buying basket archetype.

Outcome Summary

The backtest was fundamentally losing over ~9 years: total return -13.6%, profit factor 0.986, negative expectancy (-78/trade), Sharpe 0.263 (CI straddling 0), alpha -0.046 (underperforming ETH buy-hold), and a 76.1% max drawdown (CI high 98.7%) across 174 long trades; it bled in every bear/transition year (2022 -46.8%, 2024 -23.0%, 2026 -13.1%).
Strategy report

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