MomentumRotationEquityCurveBreakerLong
Hypotheses
Cross-Sectional Momentum Rotation with a HARD EQUITY-CURVE Drawdown Circuit-Breaker, Long-Only (BINANCE USD-M, 8 Majors, Weekly Top-3 by Relative Strength — go FULLY FLAT to cash whenever the STRATEGY'S OWN equity draws down >25% from peak, re-enter only after recovery: a MECHANICAL DD cap that filters/hedges could not deliver, 3-Parameter)
Hypotheses
A REAL, codeable strategy that targets the EXACT binding constraint now killing every reuse of the only LIVE edge (cross-sectional momentum, deployed Sharpe 2.6): the >50% max-drawdown hard-abandon floor (L19). The evidence is now unambiguous — my Crowding-Filter (63% DD) and Dispersion-Gate (67% DD) momentum variants both died BECAUSE a SIGNAL FILTER cannot protect the tail (the book still ate −55% to −58% in 2022), and the fully-hedged version removed the edge. The one DD control none of them used is a HARD EQUITY-CURVE CIRCUIT BREAKER: a mechanical stop on the STRATEGY'S OWN equity that liquidates the entire book to cash when its drawdown from peak exceeds a fixed threshold, re-entering only after recovery. Unlike a signal filter (which only changes WHAT you hold, not your total exposure in a crash), an equity-curve stop caps max_drawdown at ~the threshold BY CONSTRUCTION, regardless of signal — directly clearing the 50% floor. Mechanism: run the deployed weekly top-3 relative-strength rotation on the 8 majors; track the strategy's equity peak; if equity falls ≥ dd_stop (default 25%) below peak, go 100% CASH and stop trading; resume the rotation only after a recovery condition (the equal-weight majors basket reclaims its level from when the stop fired, or a fixed cooldown elapses). This is distinct from all my pending momentum variants (crowding/dispersion filters, partial-hedge, mid-cap, spot) — the differentiator is a portfolio-equity circuit breaker, the only DD mechanism that mechanically guarantees the cap. Reuses the proven signal (no L30 new-indicator risk). Long-only, weekly, USD-M. 3 core parameters (momentum lookback, drawdown-stop threshold, re-entry recovery).
Hypotheses
Targets the exact binding constraint killing every momentum reuse: the >50% max-drawdown hard-abandon floor (L19). The evidence is now unambiguous — the Crowding-Filter (63% DD) and Dispersion-Gate (67% DD) variants died because a SIGNAL FILTER cannot protect the tail (it changes what you hold, not total exposure in a crash), and the full hedge removed the edge. The one untried DD control is a MECHANICAL equity-curve circuit breaker, which caps max_drawdown at ~the threshold BY CONSTRUCTION. Implementation detail that makes it actually work: get_account_equity() returns realized cash only, so the breaker computes mark-to-market equity (cash + Σ unrealized PnL of open legs, via get_position_pnl_pct x entry notional) EVERY daily bar — otherwise it would only see drawdown at the weekly realized rebalance and blow through the cap. On a >=dd_stop drawdown from the tracked peak it liquidates all legs to cash and halts; re-entry requires the equal-weight majors basket (an internally-tracked equal-weight return index) to reclaim re_entry_recovery x its level when the stop fired (so it doesn't re-enter into a continuing crash), with a cooldown fallback, and the peak resets on re-entry for fresh DD tracking. This is distinct from all pending momentum variants (filters, partial-hedge, mid-cap, spot) — the differentiator is a portfolio-equity circuit breaker, the only DD mechanism that mechanically guarantees the cap — and it reuses the proven signal (no L30 new-indicator risk). Purely price-driven (no supp/tick data) so it avoids cross-instrument-supp and tick-timeout pitfalls and is timeout-safe (bounded per-bar work: 8 O(1) momentum reads + an equity mark; rebalance weekly). All trading happens in _rebalance/_go_flat via _submit_entry_instrument/close_position; the default primary entry path is neutralized (should_enter None, should_exit False, position_size 0) so the base never double-trades BTC. VENUE: USD-M matches the deployed momentum winner and USD-M taker fees (0.05%) are half spot's; leverage stays 1.0 (long-only, <=3 names x 0.30 = 0.90 gross equity, no compounding blowup). All 8 majors are deep-history liquid USD-M perps, so every leg has data (no data_unavailable). 3 core parameters shared across names (not per-name tuned) to resist overfit.
Hypotheses
The strategy's central thesis is empirically falsified. It claimed a hard equity-curve circuit breaker (25% dd_stop) would cap max_drawdown at ~the threshold 'by construction, regardless of signal' — but realized max_drawdown is 56.06%, above the 50% hard-abandon floor (L19) and more than DOUBLE the 25% cap it promised, with 2022 still at -51.1%. The breaker fails mechanically for two reasons visible in the result: (1) the trip-to-flat/re-enter logic whipsaws — it goes flat at -25% from peak, re-enters on the basket-reclaim/cooldown condition into continued declines, and the repeated losses compound past the threshold; (2) checking daily MTM against a weekly rotation lets a fast crash blow through 25% before the flat fires. Tellingly, this dedicated DD mechanism controlled drawdown WORSE than its own simpler siblings (the spot and partial-hedge momentum variants both held 38%). The result is also single-regime (2021 +1448% carries the +3304% headline) and the headline is massively MTM-inflated (end_unrealized_pct 461 — the bulk is un-exited open-position value, not realized). Optimizing dd_stop/re_entry_recovery cannot fix a breaker whose whipsaw and re-entry losses compound past its own cap, and it would only overfit the 2021 bull. This definitively resolves the hypothesis's own stated question — the equity-curve circuit breaker does NOT salvage long-only momentum under the drawdown floor — so abandon.
Implementation
Long-only weekly cross-sectional momentum rotation over 8 BINANCE USD-M majors (BTC/ETH/SOL/BNB/XRP/ADA/AVAX/LINK, 1-DAY bars) with a HARD equity-curve drawdown circuit breaker. Weekly it ranks names by trailing relative strength and holds equal-weight top-3 (positive-momentum only). Every daily bar it computes the strategy's mark-to-market equity (cash + unrealized PnL of open legs), tracks the peak, and if equity draws down >= dd_stop (25%) from peak it LIQUIDATES the whole book to cash and stops trading. It re-enters the rotation only after the equal-weight majors basket reclaims re_entry_recovery x its level at the moment the stop fired (or a cooldown elapses), resetting the peak on re-entry. The equity-curve stop caps max drawdown at ~the threshold by construction, regardless of signal. Pure-price, no supp data, no ticks. 3 core parameters: momentum_lookback, dd_stop, re_entry_recovery.
Verification Results
Analyst: treat the DD-cap claim as unproven — an equity-curve stop with re-entry cannot bound global DD across cycles.
Verification Results
Hypothesis's central thesis — the equity-curve breaker 'caps max_drawdown at ~the threshold BY CONSTRUCTION' — is empirically unmet: sandbox max_drawdown 50.16% vs a 25% dd_stop (2x, and over the >50% hard-abandon floor L19). This is NOT a coding bug — the code faithfully implements the described mechanism. It is inherent to the design: (a) peak-reset-on-re-entry lets sequential trip→re-enter cycles compound global peak-to-trough DD well past the stop; (b) daily-bar granularity means the trip is detected at close and the market exit fills next bar, realizing more than 25% in a crash. The 'by construction' cap is a hypothesis-level overclaim, not a developer-fixable defect.
Verification Results
Route to analyst for the no-edge / DD-floor abandon decision.
Verification Results
Well-sampled negative result (metrics_reliable=true): avg_trade_return_pct -5.69%, PF 0.148, win_rate 0.281, total_return -44.57%, Sharpe -1.69 (CI entirely below zero), inverted reward/risk (avg_win $878 vs avg_loss $2319). PF/Sharpe/win-rate do NOT match the L17 code-defect signature (win 0.0 / |Sharpe|>5 / PF 0.0), so this is a genuine no-edge/fee failure for the analyst, not a QA polarity bug. Cross-sectional momentum rank is also an L7 zero-survivor OHLCV class.
Verification Results
Optionally prime the closes buffers during warmup.
Verification Results
Conservative warmup: closes append only inside calculate_signal (after the base min_bars_required barrier) and the rebalance gate needs _bar_i >= momentum_lookback+1, delaying the first trade ~2 months and trimming sample on shorter windows. Not a correctness bug.
Backtest Review
Well-motivated: directly targets the binding DD-floor constraint with a mechanical circuit breaker; reuses the proven momentum signal; functions correctly (203 trades)
Backtest Review
Core thesis FALSIFIED: max_drawdown 56.06% (>50% floor, L19) — more than double the 25% dd_stop the breaker was supposed to enforce 'by construction'; 2022 still -51.1%
Backtest Review
The trip-flat/re-enter breaker whipsaws (re-enters into continued declines) and the daily-MTM vs weekly-rebalance lag lets fast crashes blow through 25% — so losses compound past the cap
Backtest Review
WORSE drawdown control than its simpler siblings (spot 38%, partial-hedge 38%)
Backtest Review
Single-regime: 2021 +1448% carries the +3304% headline, of which end_unrealized_pct 461 is un-exited open-position MTM (not realized); 2026 -18.7%
Backtest Review
Sharpe 0.797 below the 1.5 floor; a weaker port of the deployed momentum winner
Outcome Summary
MomentumRotationEquityCurveBreakerLong was the fourth attempt this session to salvage the deployed momentum rotation against the 50% drawdown floor, this time targeting the constraint directly with a hard equity-curve circuit breaker meant to cap max drawdown at ~25% 'by construction, regardless of signal.' The backtest ran correctly (203 trades, +3304% headline, PF 1.436) but decisively falsified the thesis: realized max drawdown was 56.06% — more than double the promised cap and past the hard-abandon floor — because the trip-flat/re-enter logic whipsawed back into continued declines and the daily-MTM stop lagged the weekly rebalance, letting fast crashes compound through the threshold. Tellingly, this dedicated drawdown mechanism controlled the tail worse than its own simpler spot and partial-hedge siblings (both ~38%), and the headline was single-regime and 461% unrealized MTM. The analyst abandoned it as a definitive resolution of the hypothesis's own question — an equity-curve circuit breaker does not rescue long-only momentum under the drawdown floor.
Outcome Summary
A mechanical equity-curve circuit breaker does not guarantee its drawdown cap in practice — re-entry whipsaw into ongoing declines and the lag between a daily-checked stop and a weekly rebalance let losses compound well past the threshold, so a portfolio-equity stop is not a reliable substitute for structurally lower directional exposure.
Outcome Summary
It was abandoned at backtest-review (verdict: abandon) because its central thesis was falsified: the breaker failed to cap drawdown — whipsaw re-entries into continued declines and the daily-MTM-vs-weekly-rebalance lag let fast crashes blow past 25% so losses compounded to 56%, actually controlling drawdown worse than its simpler spot and partial-hedge siblings (both ~38%).
Outcome Summary
It reused the deployed weekly top-3 relative-strength momentum rotation on 8 USD-M majors and added a hard equity-curve circuit breaker — liquidate the entire book to cash whenever the strategy's own mark-to-market equity drew down more than 25% from peak, re-entering only after a basket-reclaim recovery or cooldown — on the thesis that a portfolio-equity stop would cap max drawdown at ~the threshold by construction and clear the 50% hard-abandon floor.
Outcome Summary
Over 2,397 days it made 203 trades with a +3304% headline return (single-regime, carried by 2021 +1448% and 461% unrealized MTM), profit factor 1.436, and avg_trade_return_pct 12.1%, but Sharpe was only 0.797 and max drawdown was 56.06% (CI high 83%) — more than double the 25% stop and above the 50% floor, with 2022 still at -51.1%.
Backtest and paper results are hypothetical. Trading involves risk of loss.