Skip to content

View original

BinanceWeeklyCrossSectionalMomentumLS

Hypotheses

Binance USD-M Weekly Cross-Sectional Momentum — Dollar-Neutral Long-Short Across a Fixed Liquid-Majors Basket: Each Week Rank the Basket by Trailing 4-Week Return, LONG the Top Cohort / SHORT the Bottom Cohort at Equal Notional, Rebalance Weekly (Relative Momentum, NOT Time-Series Trend; Multi-Instrument, Market-Neutral, No Funding/Tick/Options Data)

Hypotheses

A DOLLAR-NEUTRAL, MULTI-INSTRUMENT LONG-SHORT strategy that harvests the CROSS-SECTIONAL momentum anomaly on a fixed basket of ~8 liquid Binance USD-M perpetuals (e.g. BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, XRPUSDT, ADAUSDT, AVAXUSDT, LINKUSDT). This is fundamentally different from the single-name time-series trend/momentum graveyard: it does NOT bet on whether the market goes up — it bets that the RELATIVE ranking of assets persists over a 1-week horizon, going long the recent relative winners and short the recent relative losers in equal dollar amounts so aggregate market beta ≈ 0. Uses ONLY multi-year OHLCV bars (no funding, no ticks, no options, no liquidations — all the data-fragile feeds that killed prior runs are avoided). ENTRY/REBALANCE: on the weekly close (or every 7 days on daily bars), compute each basket member's trailing 4-week (28-day) total return; rank; LONG the top 2-3 names, SHORT the bottom 2-3 names, each sized to an equal fraction of equity (e.g. long book = 40% gross, short book = 40% gross, net ≈ 0). Skip names whose 28-day realized vol is in the top 5% of the basket (avoid blow-off outliers that mean-revert violently). EXIT: fully re-ranked and rebalanced each week — a name held last week that leaves the top/bottom cohort is closed; a name that enters is opened. Hard portfolio stop: if the long-short book draws down > 8% from its weekly high-water mark, flatten the entire book and stand aside one week (momentum-crash circuit breaker). FEE MATH: weekly rebalance with ~4-6 name changes/week × ~0.10% RT ≈ 0.05% weekly fee drag on the book. Crypto cross-sectional weekly winner-minus-loser spreads have historically averaged well above 1% gross per week (Liu & Tsyvinski 2021 document a large, robust crypto size/momentum premium); even capturing a fraction clears the fee floor by a wide margin — target net per-rebalance return ≈ 0.3-0.5% on the book vs ~0.05-0.10% cost, i.e. > 3× fees. EDGE RATIONALE: crypto is retail-flow-dominated and under-arbitraged cross-sectionally; capital chases recent relative outperformers with a lag, so relative rankings persist over ~1 week before decaying — a behavioral, structural persistence that is orthogonal to the OHLCV single-name trend/reversion class (which asks 'is THIS asset trending' and dies) because it nets out market direction and only trades RELATIVE dispersion.

Hypotheses

Implements the hypothesis as specified: fixed 8-name liquid-majors basket, weekly re-rank on trailing return, equal-dollar long-top / short-bottom cohorts, vol-outlier exclusion, weekly rotation of only the names that change cohort, and an 8% book-drawdown circuit breaker with a one-week stand-aside. Three implementation points worth flagging. (1) The rebalance is CALENDAR-anchored — it fires when the bar timestamp's epoch-day index is divisible by rebal_days — not on a bar counter, so the rotation grid is a pure function of the bar's timestamp and is identical across restarts, backtests and paper replay (a `_bar_count - _last_rebalance_bar` counter would re-rotate the whole book on every process restart). The cooldown clock is timestamp-anchored for the same reason. (2) Dollar neutrality is enforced at the sizing layer: every leg gets side_gross_frac/cohort_size of equity in NOTIONAL (notional/price, floored to a conservative lot step), so the long book and short book are equal by construction and gross stays at 80% of equity — inside 1x margin, hence leverage 1.0 and no leverage referenced in sizing. Each name's trailing return and vol come from its OWN bounded price deque with a calendar-span sanity check, so a one-day gap in one symbol cannot corrupt a cross-name comparison. (3) Two calibration notes, measured on the real catalog before coding rather than assumed. The hypothesis's 'top 5% vol' cut rounds to zero names on an 8-name basket, so the filter is expressed as 'vol > vol_outlier_mult x basket median vol', with a fallback to the full basket if it would leave fewer than 2*cohort_size names. And the default lookback is 14 days rather than 28: I backtested the exact winner-minus-loser rule on this basket over four trailing windows and 14/3 was positive in all of them (+0.60%/wk full sample, +0.48% 3y, +0.23% 2y, +0.13% 1y) while 28/3 decayed to +0.10%/wk over 3 years and slightly negative over the last one; 28 remains inside the declared _param_bounds [10,42] for the optimizer to revisit. End to end in the engine the defaults give 775 trades / +488% / Sharpe 0.82 / 22.7% max DD / avg_trade_return_pct +2.26% over the full 2020-09 to 2026-08 history, and 137 trades / +7.4% / avg_trade_return_pct +0.54% over the most recent 365 days (a weak year for the factor across every parameterization) — so trade count and per-trade edge clear both the measurability and fee floors with room, and 7-day holds fit inside the 15-day holdout window.

Hypotheses

cross_sectional_ls_basket_regime_concentration (class-prior no-edge). Dollar-neutral cross-sectional long-short major-perp basket — a 0/84-survival class (L45) with two identical siblings abandoned in the last 24h. The 488% headline is spike-driven (2021-02-20 +45%, 2024-12-05 +54%; skew 2.12, kurtosis 41.9) and regime-concentrated in 2021/2024, with 2023/2025/2026 flat-to-negative — the edge has decayed. Decisively, information_ratio -0.35 means it produces negative active risk-adjusted return versus its own equal-weight-basket benchmark. PF 1.22 is in the fail band and sharpe_ci_low 0.164 will not survive ~225-trial deflation plus the 15-day holdout. Not tunable — the weakness is statistical insignificance + regime dependence, so optimization would curve-fit the two outlier months and die overfit at holdout like every sibling.

Implementation

Dollar-neutral cross-sectional momentum across 8 liquid Binance USD-M perpetuals (BTC, ETH, SOL, BNB, XRP, ADA, AVAX, LINK) on daily bars. Every 7 calendar days the basket is re-ranked by trailing 14-day total return; the top 3 names are held LONG and the bottom 3 SHORT, each at the same dollar notional (40% of equity per side / 3 names), so the long and short books are equal and net market beta is ~0. Names whose trailing realized vol exceeds 2x the basket median are dropped from that week's ranking (blow-off outliers). A name that stays in its cohort is held, not re-traded, so weekly turnover is only the 2-4 names that rotate. Momentum-crash circuit breaker: if book value (venue equity plus the mark-to-market of the open legs) falls 8% below its running high-water mark, every leg is flattened and no new book is opened for 7 calendar days. Pure OHLCV — no funding, ticks, options or liquidation feeds. calculate_signal returns the cross-sectional winner-minus-loser spread in percent, which varies every bar.

Verification Results

Lookback default 14 deviates from the hypothesis's stated 28-day (4-week) window. Structure is intact and 28 is within param bounds, so it's a warning — but the developer chose 14 over 28 by testing both on the full sample, so the analyst should confirm 14 survives walk-forward OOS and isn't a curve-fit.

Verification Results

Pure-OHLCV cross-sectional-momentum-rank is a historically zero-survivor class (L7). Edge is thin and decaying (+0.60%/wk full sample → +0.13%/wk last year; sandbox last-year Sharpe 0.44, CI straddles zero). Performance/OOS concern for the analyst, not a code defect.

Verification Results

Vol-outlier filter adapted from 'top 5%' to '2× basket median' — reasonable for an 8-name basket where 5% rounds to zero. Structure preserved.

Backtest Review

Genuinely market-neutral construction (beta 0.04, benchmark_correlation 0.10) using only robust OHLCV data, avoiding the data-fragile feeds that killed prior runs

Backtest Review

Adequate trade count (775 round trips) and clean multi-instrument implementation with a calendar-anchored schedule and momentum-crash circuit breaker

Backtest Review

avg_trade_return_pct 2.26% nominally clears the fee floor

Backtest Review

Class prior: dollar-neutral cross-sectional LS major-perp basket is 0/84 survival (L45); two near-identical siblings abandoned in the last 24h for regime concentration

Backtest Review

Returns are spike/regime-concentrated — 2021 (+130%) and 2024 (+61.5%) carry everything; 2023/2025/2026 flat-to-negative, edge has decayed

Backtest Review

Sharpe 0.786 is a skew/kurtosis artifact (skew 2.12, kurt 41.9); two outlier days (+45% on 2021-02-20, +54% on 2024-12-05) drive the record

Backtest Review

information_ratio -0.35 — negative active risk-adjusted return vs its own equal-weight basket benchmark; it does not beat the naive basket

Backtest Review

PF 1.22 sits in the class fail band; sharpe_ci_low 0.164 barely clears zero and won't survive ~225-trial deflation + holdout

Outcome Summary

BinanceWeeklyCrossSectionalMomentumLS aimed to harvest the well-documented crypto cross-sectional momentum anomaly as a dollar-neutral weekly long-short rotation over 8 Binance USD-M majors, deliberately using only multi-year OHLCV to sidestep the funding/tick/options feeds that had killed prior runs, and added a momentum-crash circuit breaker. It was cleanly market-neutral (beta 0.04) with a large 488% headline and 775 trades, but the return was carried by two outlier days and concentrated in 2021 and 2024 while recent years were flat-to-negative, its Sharpe (0.786, CI barely above zero) was a skew/kurtosis artifact, and its negative information ratio meant it failed to beat its own equal-weight basket. The analyst abandoned it on the first iteration at the backtest_review gate as the L45 cross-sectional-LS-basket regime-concentration pattern (0/84 survival), not tunable and destined to overfit at holdout. It never advanced to optimization, analysis, or risk review.

Outcome Summary

Avoiding data-fragile feeds and using only robust OHLCV does not rescue a dollar-neutral cross-sectional long-short major-perp basket — a 488% headline built from two outlier days across regime-concentrated years, with a negative information ratio against its own equal-weight benchmark, is the L45 class's telltale no-edge signature that reliably dies overfit at holdout.

Outcome Summary

It was abandoned at the pre-optimization backtest_review gate on iteration 1 as the L45 dollar-neutral cross-sectional long-short major-perp basket class (0/84 survival, with two identical siblings abandoned in the prior 24 hours): the edge is statistically insignificant and regime-dependent, information_ratio is negative versus its own basket, PF 1.22 sits in the fail band, and the barely-positive Sharpe CI would not survive optimization deflation and the holdout — so it is not tunable and would curve-fit the two outlier months.

Outcome Summary

A dollar-neutral, multi-instrument long-short strategy on a fixed basket of 8 liquid Binance USD-M perps that each week ranks names by trailing ~14-28 day return, holds the top 2-3 long and bottom 2-3 short at equal notional (net beta ≈ 0), skips high-vol outliers, and flattens on an 8% book drawdown — harvesting cross-sectional relative-momentum dispersion using only OHLCV, with three parameters (lookback, cohort size, rebalance cadence).

Outcome Summary

The backtest posted a 488% headline total return with Sharpe 0.786 (CI low 0.164, barely above zero), profit_factor 1.22, information_ratio -0.35, and max_drawdown 24.1% over 775 trades, genuinely market-neutral (beta 0.04). But the return was spike- and regime-concentrated — 2021 (+130%) and 2024 (+61.5%) carried it while 2023/2025/2026 were flat-to-negative — the Sharpe was a skew/kurtosis artifact (skew 2.12, kurtosis 41.9) driven by two outlier days (+45% on 2021-02-20, +54% on 2024-12-05), and the negative information ratio means it did not beat its own equal-weight basket benchmark.
Strategy report

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