Skip to content

View translation

DiversifiedImpulseBarContinuationBasketLS4H

Hypotheses

Diversified Multi-Asset Impulse-Bar Continuation Basket, Long-Short (Binance USD-M, 4H Bars, Fee-Favorable Cadence of the Analyst-Endorsed Diversified Impulse Portfolio, Per-Asset Magnitude-Outlier Trigger, Tight Initial Stop, Trailing-Stop Winners, Equal-Risk Capital-Capped)

Hypotheses

A LONG-SHORT, MULTI-INSTRUMENT, pure-OHLCV CONTINUATION basket that runs the factory's single strongest validated trigger — the magnitude-outlier IMPULSE-bar continuation — across ~10 deep-history Binance USD-M majors (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, LINK, LTC, AVAX) at the FEE-FAVORABLE 4-HOUR cadence. This is a deliberate COMPOSITION of three independently-established facts, NOT a new mechanism or a single-alt coin-flip: (1) the impulse-continuation trigger is the factory's most-promoted edge (ETH-1H promoted ~1.40, ETH-4H promoted, SOL-4H in pipeline); (2) the analyst explicitly named the DIVERSIFIED impulse PORTFOLIO (PF 1.033, dense) 'the live, better-constructed candidate' of this family — basket diversification is the proven robustness lever that makes the just-PROMOTED absolute-momentum BASKET (Sharpe 1.48) more robust than any single-asset version; and (3) the 4H cadence is what lifted the single-asset ETH impulse to promotion (fewer, larger, cleaner impulses → lower fee drag). The only thing not yet built is the diversified impulse basket at 4H — the existing diversified version is 1H (BinanceDiversifiedIntradayImpulseContinuationLS1H). Pooling many assets diffuses the single-asset regime-concentration that abandoned every single-alt port (the winners ETH/SOL carry the edge; the break-even assets add trade-count and diversification without material drag), while the 4H cadence cuts fee drag versus 1H. The book is naturally long-short and net exposure floats with which assets are impulsing. Per-asset equal-risk, capital-capped sizing; ~5 clamped parameters to resist overfitting. This avoids EVERY dead class confirmed this session (no funding carry, no basis, no cross-venue arb, no ratio MR, no cross-sectional dollar-neutral momentum) and stays inside the only repeatedly-promoted engine.

Hypotheses

Iteration 2 fix (Layer 2 synthetic). The reported TypeError 'super(type, obj): obj must be an instance or subtype of type' originated from the zero-arg `super().on_extra_bar(bar)` call: the Layer 2 _StrategyProxy rebinds the strategy methods onto a plain _Wrapper instance that is NOT a subtype of the strategy class, so any zero-arg super() invoked through it fails. The base on_extra_bar is a documented no-op and extra-bar buffering is already handled by the proxy's feed_extra_bar (and base on_bar in the real engine), so the super() call was both unnecessary and the sole crash source. Removed only that one line; all Layer 1 imports/structure and the passing signal/management logic are untouched. This implements the hypothesis as the diversified impulse-continuation basket at the fee-favorable 4H cadence: pooling 10 majors diffuses single-asset regime concentration while the impulse-continuation trigger (the factory's most-promoted edge) and ~5 clamped tunables resist overfitting.

Hypotheses

Failed deflated Sharpe and the forward holdout. DSR=0.3307 (vs 0.95 bar) with the optimized Sharpe 1.327 BELOW the expected-max best-of-225 luck bar 1.5416 (is_significant=FALSE, PBO 0.5635 >0.5) — the selected config is statistically indistinguishable from best-of-N noise. Decisively, the time-ordered HOLDOUT FAILED and is NEGATIVE (holdout_sharpe -0.678, ratio -0.458 vs WF-OOS 1.48): the untouched recent window loses money, reflecting genuine regime decay (optimized annual 2024 -0.62%, 2026 -2.62%; rolling Sharpe negative across 2026) that the shuffled, non-overfit walk-forward masks. The PSR=0.9966 / DSR=0.3307 split is the diagnostic tell of 225-trial selection inflation. Not iterate (attempt 1 of 2): the failure is a structural squeeze, not an under-explored region — the optimizer climbed the lone sensitivity cliff on impulse_atr_mult (1.5->2.17), thinning trades 3556->766 to manufacture the fragile, holdout-failing config, while the dense base alternative (impulse=1.5) achieves only full-period Sharpe 0.63 with a 20.7% drawdown. No parameter region simultaneously clears the luck bar and survives the holdout, so a second best-of-225 sweep re-selects another cliff-fit config below the same bar. Not revise_hypothesis: the impulse-continuation mechanism is already promoted on ETH-1H/ETH-4H siblings — this is that proven mechanism in a 10-asset basket composition failing the forward/multiple-testing gates, not a sound mechanism stranded on a dead target. FAILURE PATTERN: pooling the promoted single-asset impulse-continuation trigger into a diversified 4H basket does NOT automatically inherit promotability — diversification yields a clean, non-overfit walk-forward with all-positive OOS, but the modest underlying edge (dense base Sharpe 0.63) cannot survive best-of-225 deflation (optimized Sharpe below the 1.54 luck bar, DSR 0.33, PBO 0.56) and the optimizer's climb up the impulse-threshold cliff produces a thinned config whose recent untouched holdout is NEGATIVE. A non-overfit walk-forward plus PSR≈1.0 does not rescue a strategy that fails deflated Sharpe and a forward holdout.

Implementation

Long-short magnitude-outlier impulse-bar continuation basket across ~10 deep-history Binance USD-M majors on 4-HOUR bars. Each asset is monitored independently; an impulse bar (|close-open|/ATR >= impulse_atr_mult with a volume confirm) opens a discrete position in the thrust direction, ridden with a tight initial stop that ratchets into a wider ATR trailing stop plus a max-hold. Equal-risk sizing over the initial-stop distance, a per-position notional cap, and a 1.0x portfolio gross cap (no leverage). Event-driven per-asset management swept from both calculate_signal and on_extra_bar with a per-asset timestamp guard.

Verification Results

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['assets', 'vol_mult', 'risk_frac', 'atr_period', 'vol_window', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'trail_atr_mult', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - steady_downtrend: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - flat_ranging: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - volatility_spike: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - zero_volume: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - price_gap: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000)

Backtest Review

Dense, balanced trade base: 3,556 trades (1,818 long / 1,738 short) across 10 majors — ample sample for meaningful parameter sensitivity, not noise-fitting

Backtest Review

Trades match the hypothesized mechanism: balanced long/short impulse continuation, ~1-day holds under an 18-bar max-hold with trailing exits

Backtest Review

Fee-survivable: commission only 5.24% of gross — fees are NOT dominating despite high count (the key viability check for a basket)

Backtest Review

Genuine, broad edge: positive every year 2020-2026, PF 1.14, Sharpe 0.63, Sortino 1.07, recovery factor 12.4, max DD 20.7%

Backtest Review

Sits inside the factory's single most-promoted engine (impulse continuation) with the proven diversification robustness lever; avoids every dead class flagged this session

Backtest Review

Strong return decay: annual returns fall from 41%/48% (2020-21) to 4-6% (2024-26); recent edge is much thinner than headline CAGR suggests

Backtest Review

Rolling Sharpe goes deeply negative in early 2026 (to ~-12) before recovering — recent-regime fragility

Backtest Review

Modest base Sharpe (0.63) and thin PF (1.14); sharpe_ci_low is -0.11 (CI straddles 0), so significance will hinge on optimization/holdout

Backtest Review

Impact cost 14.9% of gross — meaningful capacity drag to watch

Analysis

Walk-forward is non-overfit (is_overfitted=FALSE, avg IS 2.13 vs avg OOS 1.48) with all three OOS windows positive (1.04/1.02/2.38) — genuinely more robust than the abandoned single-asset impulse siblings

Analysis

Sensitivity passes with only 1 cliff; basket diversification (benchmark_meaningful=false, low beta 0.008, correlation 0.06) is real market-neutral construction

Analysis

Optimized config has a clean capital profile: max_drawdown 11.4%, sortino 2.94, modest exposure 28%, end_unrealized only 2.1% (headline is realized, not MTM)

Analysis

Holdout FAILED and is NEGATIVE: holdout_sharpe -0.678, ratio -0.458 vs WF-OOS 1.48 — the untouched recent window loses money

Analysis

Failed deflated Sharpe: DSR=0.3307 (<0.95), is_significant=FALSE; optimized Sharpe 1.327 is BELOW the expected-max best-of-225 luck bar of 1.5416 — indistinguishable from selection noise

Analysis

PBO=0.5635 (>0.5): the parameter selection is more likely than not overfit; PSR=0.9966 vs DSR=0.3307 is the classic best-of-N inflation tell

Analysis

Recent decay drives the negative holdout: optimized annual returns 2024 -0.62%, 2026 -2.62%, with rolling Sharpe negative across most of 2026

Analysis

Structural squeeze: the optimizer climbed the impulse_atr_mult cliff (1.5->2.17), thinning trades 3556->766; the alternative dense base config has only Sharpe 0.63 with a 20.7% drawdown — no parameter region clears both the luck bar and the holdout

Outcome Summary

This strategy bet that combining three independently-validated ingredients — the impulse-continuation trigger, basket diversification, and the fee-favorable 4H cadence — would compound into a promotable edge. The initial backtest was encouraging in breadth (3,556 balanced long-short trades, +257% return, fees only 5.24% of gross) and the backtest-review gated it through to optimization, but its base Sharpe was only 0.63 with a confidence interval straddling zero. Optimization delivered a reassuringly non-overfit walk-forward, yet the selected config's Sharpe of 1.327 fell below the 1.54 best-of-225 luck bar (DSR 0.33, PBO 0.56) and its untouched recent holdout actually lost money, the classic PSR-vs-DSR inflation tell. After two iterations it was abandoned as a structural squeeze where no parameter region could clear both the luck bar and the holdout.

Outcome Summary

Pooling a promoted single-asset trigger into a diversified basket does not automatically inherit promotability — a non-overfit walk-forward and PSR≈1.0 cannot rescue a modest underlying edge that fails best-of-N deflation and a forward holdout.

Outcome Summary

Despite a passing backtest-review and a clean walk-forward, the analyst abandoned it because the optimized Sharpe of 1.327 sat below the best-of-225 luck bar of 1.5416 (DSR 0.3307, is_significant FALSE, PBO 0.5635), and the time-ordered holdout was negative (holdout_sharpe -0.678, ratio -0.458 vs WF-OOS 1.48), reflecting genuine recent-regime decay the optimizer masked by climbing the impulse-threshold cliff and thinning trades from 3,556 to 766.

Outcome Summary

Compose the factory's most-promoted edge — the magnitude-outlier impulse-bar continuation trigger — into a long-short basket across ~10 deep-history Binance USD-M majors on fee-favorable 4H bars, using equal-risk capital-capped sizing with a tight initial stop ratcheting into a wider trailing stop.

Outcome Summary

The dense base config traded heavily and broadly — 3,556 balanced trades (1,818 long / 1,738 short), +257% total return, profit factor 1.14, max drawdown 20.7% — but only a modest Sharpe of 0.63 (sharpe_ci_low -0.11). Optimization produced a non-overfit walk-forward (avg IS 2.13 vs OOS 1.48, all three OOS windows positive) and an optimized Sharpe of 1.327 over 766 trades, yet failed the deflated-Sharpe and holdout gates.
Strategy report

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