BinanceDefensiveDowntrendCaptureShortOrFlatBasketDaily
Hypotheses
Binance USD-M Defensive Downtrend-Capture Sleeve (Established Majors, Short-or-Flat, Confirmed-Downtrend + Vol-Expansion Gate, Daily, Crisis-Alpha)
Hypotheses
A SHORT-OR-FLAT daily trend-following sleeve across ~8 established, confirmed-full-history Binance USD-M majors (BTC, ETH, SOL, BNB, XRP, DOGE, ADA, LTC), designed explicitly as a CRISIS-ALPHA / downside-capture complement to the portfolio's 87%-long book. It does the OPPOSITE of fill another momentum slot: by default it sits in CASH, and it only takes SHORT positions in a major when that asset is in a confirmed, strong, vol-expanding DOWNTREND — the exact regime where crypto trends persist hardest on the short side and where the long-only portfolio bleeds. This is the same validated daily-trend mechanism that scored +392% / Sharpe 2.59 as a symmetric basket, but applied ASYMMETRICALLY as portfolio insurance: its return stream is intended to be negatively correlated with the long book, paying out in bear markets and crashes. It is data-safe by construction — established majors only (the broad-alt baskets died on data_unavailable; ATOM/APT/ARB bars are missing, but these core majors have full history), pure Binance USD-M OHLCV — avoiding every infrastructure block this session (alt-data gaps, Hyperliquid, COIN-M, Deribit, liquidations, multi-leg funding). It avoids every refuted class (no basis/ratio MR, no funding/carry, no intraday breakout which whipsaws). Being net-short / short-or-flat, it materially improves the portfolio's most-skewed dimension (87% long-only). Few parameters resist overfitting.
Hypotheses
Iteration 2 fix for the Layer-2 synthetic failure. Root cause: the synthetic verifier's _StrategyProxy copies bound methods onto a plain _Wrapper instance, so `self` is not an instance of the strategy class; the zero-arg `super().on_extra_bar(bar)` in on_extra_bar therefore raised `TypeError: super(type, obj): obj must be an instance or subtype of type` on the first extra bar of every scenario. The base on_extra_bar is a no-op and extra-bar buffering is done by the base on_bar (and pre-done by the proxy), so the super call was redundant. Removed it (the ONLY change) — on_extra_bar now just calls self._manage_all(). All prior-passing logic, imports, class structure, and signal computation are untouched, so Layer 1 stays green and the short-or-flat downtrend-capture mechanism is preserved.
Hypotheses
Not worth optimizing: the standalone edge is essentially nil — total_return +1.57% over 6.5 years, CAGR 0.15%, Sharpe 0.08 with a CI straddling zero (-1.20 to 0.96), profit_factor 1.03, expectancy +$7/trade, capital barely deployed (avg_position_pct 3.9%). A base this thin cannot survive the downstream deflated-Sharpe/holdout gate: best-of-225 optimization would inflate the in-sample Sharpe by fitting the handful of crash windows and then collapse out-of-sample (the recurring thin-edge failure this session). This is NOT a leverage/accounting artifact (metrics are clean) and NOT a code bug to iterate on — the thinness is intrinsic to a short-only book on a structurally bull-biased 2019-2026 crypto sample. Critically, the crisis-alpha thesis is only weakly supported: while it captured the slow 2020-03 COVID crash and the 2022 bear, it BLED at the clearest recent test — 2024 annual -6.6%, including -4.6% in the Aug-2024 flash-crash month — because the vol-expansion-gated short shorts into the drop then gets stopped on the sharp recovery (34% win rate). The sleeve does achieve genuine negative correlation (beta -0.016, corr -0.30) cheaply, which has some portfolio-insurance value, but negative correlation alone does not clear the promotion bar and the payout mechanism is unreliable in fast crashes. (Note: abandon is for the near-zero standalone edge that cannot survive deflation plus an unreliable crash-capture mechanism — NOT a data or funding-crediting issue; the construction is sound and correctly short-only.)
Implementation
Short-or-flat daily trend-capture sleeve across 8 established Binance USD-M majors (BTC, ETH, SOL, BNB, XRP, DOGE, ADA, LTC). Sits in cash by default; opens a SHORT in an asset only when it is in a confirmed, strong, vol-expanding downtrend (close < SMA50, 20-day momentum <= -3%, ATR14/ATR56 > 1.2). Rides shorts with an ATR trailing stop and covers when the downtrend breaks (close back above SMA). Risk-parity sizing per book, per-position and portfolio gross caps, no leverage, never long. Intended as crisis-alpha / downside insurance negatively correlated with a long-only book.
Verification Results
Verification failed (Layer 2 — synthetic scenarios):
Parameters used: ['assets', 'mom_min', 'risk_frac', 'atr_period', 'trail_mult', 'min_notional', 'mom_lookback', 'trend_period', 'baseline_mult', 'qty_precision', 'gross_cap_frac', 'max_position_frac', 'vol_expansion_mult', '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
Clean, functioning, correctly short-or-flat (0 long trades, 137 shorts) — matches the hypothesis; no leverage/accounting artifact this time
Backtest Review
Genuinely achieves the crisis-alpha intent of negative correlation cheaply (beta -0.016, benchmark_correlation -0.30, max DD only 12%), and did capture the slow 2020-03 and 2022 bear regimes
Backtest Review
Near-zero standalone edge: total_return +1.57% over 6.5yr, CAGR 0.15%, Sharpe 0.08 (CI -1.20 to 0.96 through 0), profit_factor 1.03, expectancy +$7/trade — too thin to survive best-of-225 deflation post-optimization
Backtest Review
Crisis-alpha thesis fails its key recent test: lost 4.6% in the Aug-2024 flash-crash month and -6.6% for 2024, whipsawed by shorting into the drop then covering on the V-recovery (win rate 34%)
Backtest Review
Short-only on a structurally bull-biased 2019-2026 crypto sample fights the tape; capital barely deployed (avg_position_pct 3.9%), impact_cost_pct 11.2% on modest size
Backtest Review
No code bug and no thick-enough edge region to tune — the 3-param sweep would fit the few crash windows and fail out-of-sample
Outcome Summary
This sleeve was designed as portfolio insurance — short-or-flat, shorting majors only in confirmed vol-expanding downtrends to pay out when a long book bleeds. It worked exactly as specified and did deliver genuine, cheap negative correlation (beta -0.016, corr -0.30, 12% max drawdown), capturing the slow 2020-03 COVID crash and the 2022 bear. But its standalone edge was essentially flat (+1.57% over 6.5 years, Sharpe 0.08 straddling zero) and it actually bled at its clearest recent test, losing 6.6% in 2024 by shorting into drops and covering on recoveries. The analyst abandoned it at the backtest-review gate as a thin edge that could not survive deflation with an unreliable crash-capture mechanism; it never reached optimization, risk review, or paper trading.
Outcome Summary
Cheap negative correlation alone does not clear the promotion bar — a short-only book on a structurally bull-biased 2019-2026 crypto sample fights the tape and produces too thin an edge to survive multiple-testing deflation, and vol-expansion-gated shorting whipsaws in fast crashes rather than reliably capturing them.
Outcome Summary
The analyst issued an 'abandon' verdict at the pre-optimization backtest-review gate: the construction was clean with no bug to iterate on, but the near-zero edge was too thin to survive the downstream deflated-Sharpe/holdout gate, and the crash-capture payout mechanism proved unreliable in fast V-shaped crashes.
Outcome Summary
A short-or-flat daily trend-capture sleeve across ~8 established Binance USD-M majors, intended as crisis-alpha portfolio insurance that sits in cash by default and only shorts an asset when it is in a confirmed, vol-expanding downtrend, aiming for a return stream negatively correlated with a long-biased book.
Outcome Summary
It ran correctly as designed (137 trades, all shorts, 0 long) and achieved cheap negative correlation (beta -0.016, benchmark correlation -0.30, max drawdown only 12%), but its standalone edge was essentially nil: total return +1.57% over 6.5 years, CAGR 0.15%, Sharpe 0.08 (CI -1.20 to 0.96), profit factor 1.03, expectancy +$7/trade, and a 34% win rate with capital barely deployed (avg position 3.9%). Its crisis-alpha thesis also failed a key recent test, losing 4.6% in the Aug-2024 flash-crash month and -6.6% for 2024 as it shorted into drops and got stopped on sharp recoveries.
Backtest and paper results are hypothetical. Trading involves risk of loss.