Skip to content

View translation

CrowdingFilteredMomentumRotationLong

Hypotheses

Crowding-Filtered Cross-Sectional Momentum Rotation, Long-Only (BINANCE USD-M, 8 Majors, Weekly Hold Top-3 by Relative Strength BUT SKIP Any Leader Whose Funding Is Extreme-Positive/Over-Crowded — Add a FUNDING Risk-Filter to the DEPLOYED Momentum Winner So It Avoids Buying Leveraged-Long Blowoff Names, 2-Parameter)

Hypotheses

IMPORTANT PROCESS NOTE: my two prior abstain 'directives' were force-coded by the developer and wasted iterations — so this is a REAL, codeable strategy, not a meta-note. It is the single most-defensible remaining proposal: reuse the strongest LIVE, non-options, non-decayed deployed winner — the cross-sectional relative-strength momentum rotation (Sharpe 2.6) — and add the one genuinely new, L24-sanctioned signal input it does NOT currently use: FUNDING, as a CROWDING RISK-FILTER. Mechanism: weekly, rank the 8 deep majors (BTC, ETH, SOL, BNB, AVAX, LINK, ADA, XRP) by trailing relative strength exactly as the deployed winner does, but EXCLUDE from the held set any momentum-leader whose current 8h funding is extreme-positive (over-leveraged long crowd = fragile, disproportionately prone to a long-liquidation blowoff), substituting the next-ranked non-crowded name. The thesis: momentum leaders that are ALSO over-crowded on leverage give back the most in the sharp mean-reversions that cap momentum-strategy drawdowns; filtering them keeps the proven momentum edge while trimming its worst tail. This is NOT a re-weight of relative strength (L24's duplicate caution) — it adds a distinct funding-based EXCLUSION the deployed basket lacks; NOT a funding-CARRY strategy (funding is a filter, not the return source, so it is immune to the funding-carry decay); NOT order flow (fee-dead), NOT options, NOT pure single-signal OHLCV. The return engine is the LIVE momentum premium; funding only removes fragile names. Long-only, diversified (equal-weight top-3), weekly, USD-M. 2 core parameters (momentum lookback, funding-crowding exclusion threshold).

Hypotheses

Implements the hypothesis faithfully: it reuses the deployed cross-sectional relative-strength momentum rotation (the live, non-decayed winner) and adds exactly one distinct new input the deployed basket lacks — FUNDING as a crowding EXCLUSION (not a re-weight of relative strength, so not L24's duplicate; not funding-carry, so immune to funding-decay; funding only removes fragile leveraged-long-blowoff-prone leaders). Mechanism in _target_set: rank by momentum, then skip any top candidate whose as-of 8h funding > funding_crowd_thresh and substitute the next-ranked non-crowded name; equal-weight the resulting top-3, weekly. Data wiring is deliberate and verified against the backtest engine: per-leg funding for BINANCE perp legs is auto-loaded into supplementary_data['funding_rates_by_instrument'] (unlike primary-only supp such as metrics), so the filter can read each candidate's funding cross-instrument; the code references 'funding_rates' and 'funding_rates_by_instrument' as literals so the loader includes them. Per-leg funding is parsed once in __init__ into sorted arrays and queried with searchsorted (O(log n), no per-bar history rescans) -> timeout-safe. All trading (all 8 legs, including BTC) happens in the rebalance routine 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: long-only with leverage 1.0 would normally route to spot, but the crowding edge REQUIRES perp 8h funding (only exists on USD-M futures) and the hypothesis explicitly specifies USD-M — a sanctioned venue override, noted here. Risk is bounded (long-only, <=3 names x 0.30 = 0.90 gross equity, no leverage, no compounding blowup). All 8 majors are actively-traded deep-history USD-M perps with funding, so every leg has data (no data_unavailable). If per-leg funding were ever unavailable the filter simply abstains from excluding (funding was never the return source), degrading to the proven momentum rotation rather than switching edges.

Hypotheses

max_drawdown 63.26% (CI high 82%) is a hard abandon (>50% floor, L19), and the funding crowding filter — whose entire justification was to trim the worst tail of the momentum basket — demonstrably failed to do so: the book still ate -58% in 2022 and -39% in 2026. The +1564% total_return is single-regime (2021 +675% carries everything) and partly illusory (end_unrealized_pct 214.9, so much of it is un-exited open-position MTM, not realized). This is the same always-invested long-only crypto-beta structure (per_name_frac 0.30 × top-3 ≈ 90% gross, benchmark_correlation 0.62) that hard-abandoned every long-only momentum basket this session, and the crowding filter adds no measurable alpha over the plain equal-weight basket (information_ratio -0.09 vs its meaningful benchmark). Optimizing momentum_lookback/funding_crowd_thresh cannot create the drawdown protection the structure fundamentally lacks — it would only overfit the 2021 bull. The deployed cross-sectional momentum winner already captures this premium; this variant reproduces its beta exposure and its fatal bear drawdown without delivering the promised tail reduction. Not worth 2 hours of optimization.

Implementation

Long-only weekly cross-sectional momentum rotation over 8 deep BINANCE USD-M majors (BTC/ETH/SOL/BNB/AVAX/LINK/ADA/XRP, 1-DAY bars). Each week it ranks the names by trailing relative strength (return over momentum_lookback days) and holds an equal-weight top-3, BUT excludes any momentum-leader whose current 8h funding exceeds a crowding threshold (over-leveraged long crowd = fragile), substituting the next-ranked non-crowded name. Funding is a pure risk-FILTER, not the return source — the return engine is the momentum premium. Only positive-momentum names are held (defensive in bear regimes). Per-leg funding is read as-of via O(log n) sorted-array lookups precomputed once; all 8 legs are traded through the extra-instrument path in the weekly rebalance routine. 2 core parameters: momentum_lookback and funding_crowd_thresh.

Verification Results

At backtest_review, confirm whether the negative result is window-specific vs. the filter removing the winners; consider abandon if the base rotation has no positive regime on the available window.

Verification Results

The hypothesis's core premise is that this reuses a 'deployed momentum winner (Sharpe 2.6)' and merely trims its tail with a funding filter. The sandbox does NOT reproduce that: total_return -39.93%, Sharpe -1.38 (CI [-2.78, +0.29]), profit_factor 0.15, win_rate 0.30, avg_trade_return_pct -5.6%. This is a genuine directional-edge result (not a code-defect signature — PF is 0.15 not 0.0, |Sharpe| is not >5), so it is the analyst's call at BACKTEST_REVIEW, not a QA block. But the analyst should note the base momentum recipe is NOT a winner on this 1-year window, and the crowding filter (funding_crowd_thresh 0.0003 = 0.03%/8h, a fairly aggressive threshold) may be substituting away the strongest names.

Verification Results

Ensure the full backtest spans multiple years so the rotation produces >=100 trades; do not promote on a sub-100-trade sample regardless of metrics.

Verification Results

Low trade count for a decisive read: total_trades 27 over 362 days. Structural (weekly top-3 rotation), not a bug, but cannot distinguish edge from noise. A full multi-year backtest will raise the count; if still negative there, abandon.

Backtest Review

Funding-as-crowding-filter is a genuinely distinct, L24-sanctioned addition to the proven momentum winner (not a relative-strength re-weight)

Backtest Review

Well-sampled (237 trades), funding feed available (16454 events), avg_trade_return_pct 7.4% clears fees

Backtest Review

max_drawdown 63.26% (CI high 82%) — far past the 50% hard-abandon floor; the crowding filter did NOT trim the tail as claimed

Backtest Review

Single-regime: 2021 +675% carries the +1564% headline; 2022 -58%, 2026 -39% — always-invested long-only crypto beta eats the full bear drawdown

Backtest Review

214.9% end_unrealized_pct — much of the headline is un-exited open-position MTM, not realized

Backtest Review

information_ratio -0.09 vs its equal-weight-basket benchmark — the filter adds ~no alpha over plain equal-weight momentum

Backtest Review

profit_factor 1.28 modest; Sharpe 0.776 with edge concentrated in bull years

Outcome Summary

CrowdingFilteredMomentumRotationLong took the live momentum-rotation winner and bolted on a funding-based crowding filter, hypothesizing that skipping over-leveraged-long leaders would trim the strategy's worst drawdowns. The backtest ran cleanly with 237 trades and a headline +1564% return, but that number was single-regime (2021 +675% carried it) and largely unrealized open-position MTM (end_unrealized 214.9%). Critically, the filter did not deliver its promised tail reduction: the book still ate -58% in 2022 and -39% in 2026, pushing max drawdown to 63.26% — past the 50% hard-abandon floor — while its information ratio of -0.09 showed no alpha over the plain equal-weight benchmark. The analyst abandoned it at backtest-review, judging that optimization could only overfit the 2021 bull rather than fix a structure whose fatal bear drawdown mirrored the deployed winner's beta exposure.

Outcome Summary

An entry-side crowding/exclusion filter layered on an always-invested long-only crypto-beta basket cannot manufacture the drawdown protection the structure fundamentally lacks; tail risk driven by directional beta needs a structural hedge or exit rule, not a name-substitution filter.

Outcome Summary

It was abandoned at backtest-review (verdict: abandon) because the 63.26% drawdown breached the 50% hard-abandon floor and the funding crowding filter demonstrably failed to trim the tail — the book still lost -58% in 2022 and -39% in 2026 — while adding no measurable alpha over plain equal-weight momentum (IR -0.09).

Outcome Summary

It reused the deployed cross-sectional relative-strength momentum rotation across 8 USD-M majors (weekly equal-weight top-3) and added a funding-based crowding filter that excludes momentum leaders whose 8h funding is extreme-positive, aiming to trim the worst mean-reversion tail while keeping the proven momentum premium.

Outcome Summary

Over 2,397 days it produced 237 well-sampled trades with a headline +1564% total return, but Sharpe was only 0.776, profit factor 1.28, win rate 45%, and max drawdown 63.26% (CI high 82%); its information ratio versus the equal-weight-basket benchmark was -0.09 and end_unrealized_pct was 214.9%.
Strategy report

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