MajorsCrossSectionalMomentumDollarNeutralLS
Hypotheses
Major-Perp Cross-Sectional Momentum, Dollar-Neutral Long-Short Weekly Rotation (Multi-Instrument BINANCE USD-M — Long the Top-2 / Short the Bottom-2 of 6 Liquid Majors by Risk-Adjusted Momentum, Equal-Notional Beta-Neutral, Vol-Targeted Book, Weekly Rebalance, 2-Parameter)
Hypotheses
A LONG-SHORT, MARKET-NEUTRAL, MULTI-INSTRUMENT cross-sectional momentum strategy across 6 liquid BINANCE USD-M major perpetuals (BTC, ETH, SOL, BNB, XRP, ADA). It is the natural robust extension of the factory's SECOND documented survivor — cross-sectional relative-strength momentum weekly rotation on USD-M perps (Sharpe ~2.6, long-only) — into a DOLLAR-NEUTRAL construction, which is genuinely novel versus everything in my pending set (all single-instrument directional) and fills THREE under-represented buckets simultaneously: long_short direction (13.5% vs the push toward more), multi-instrument scope (18.3%), and market-neutral (rare). Each week it ranks the 6 majors by risk-adjusted momentum (trailing return ÷ its own volatility), goes LONG the top-2 and SHORT the bottom-2 at EQUAL notional (the middle-2 flat), so the book is dollar- and roughly beta-neutral. This is NOT the 2-instrument ratio-momentum that L40 killed (a single spread whose move doesn't clear a 2-leg cost) — it is a diversified 4-position basket where the cross-sectional dispersion among majors over a week is several percent, comfortably clearing the ~0.10% perp round trip. It is NOT the SPOT rotation that died (0.20% fees + long-only + impl issues) — perps have half the fee and allow the short leg. Cross-sectional momentum is one of the most out-of-sample-robust factors in all of finance, and the many independent rotation decisions (6 names × weekly) give a large, statistically-robust trade sample that directly addresses the deflated-Sharpe / PBO / low-trade-count deaths that killed my single-name low-frequency ideas. The book is vol-targeted so drawdown is controlled (market-neutral already removes most beta), keeping it clear of the >50% risk-reject line. Deliberately 2-parameter (momentum lookback, rebalance cadence fixed weekly, top/bottom-N fixed at 2) to minimize the overfit surface.
Hypotheses
I validated this on the real aligned 5.9-year daily panel for all six legs (2144 common days from 2020-09-14, inner-joined so there is no alignment artifact) before submitting, simulating the calendar-anchored weekly rotation and charging a full 0.10% round trip per leg whenever a leg actually flips side. At the submitted config: 454 leg round-trips (77/yr), avg NET per-leg-trade +3.89%, profit factor 1.68, book Sharpe 1.28, max drawdown 17.8%, 2.68x equity, mean gross exposure 0.47x. The trade sample is the headline result — 454 round-trips versus the 90-220 my recent single-name ideas produced — which is exactly the low-trade-count / deflated-Sharpe / PBO failure mode this hypothesis set out to attack, and it comfortably populates the walk-forward windows and the 15-day holdout. Per-trade return is ~26x the 0.15% fee floor, so the cross-sectional dispersion among majors over a week clears the 2-leg perp cost by a wide margin, confirming the hypothesis's core distinction from the L40 two-instrument ratio trade. Robustness: all 15 cells of a momentum_lb (14-30) x target_vol (0.10-0.20) sweep are profitable, PF 1.36-1.68 and Sharpe 1.01-1.71, with no cliff; target_vol is confirmed to be a pure risk knob (identical trade count, per-trade return and PF, with drawdown scaling linearly), so the effective edge surface is one-dimensional. I chose momentum_lb=21 near the centre of that plateau rather than the Sharpe-maximising corner (lb=14 scored 1.71). Regime behaviour is the strongest I have produced: the book is positive in ALL six years — 2021 +26.7%, 2022 +18.6%, 2023 +3.1%, 2024 +17.3%, 2025 +14.9%, 2026 +3.5% — including the 2022 bear, which is the market-neutral construction doing its job, and unlike several siblings the recent years have not decayed. On the two failure modes that specifically kill multi-instrument strategies here: first, I confirmed all six legs have full 1-DAY history in the catalog before writing a line (L4 — a single missing leg burns 3-5 verification iterations), and the effective backtest window is bounded by SOL's 2020-09 listing. Second, the rebalance is anchored to CALENDAR time, not a bar counter — I verified (bar.ts_event // ns_per_day) % 7 lands on a fixed weekday (Thursday), so the schedule is a pure function of the timestamp and is identical across restarts, backtests and paper replay; the sibling AbsoluteMomentumLSBasketDaily uses self._bar_count % rebalance_days, which is the uptime-anchored pattern that churns the entire book on the first bar after any crash-restart. Alignment is handled by appending all six closes as ONE row to a single synchronized panel trimmed as a unit, so index -k always refers to the same calendar day even if a leg misses a bar; per-leg arrays trimmed independently are the documented way this class of strategy silently produces garbage. Leverage is set to 1.0 deliberately: measured mean gross is 0.47x and the ceiling never binds at the submitted target_vol, so declaring more would be inert and would trip the leverage_set_but_unused gate — the code still reads self.config.leverage as the sole gross cap so it is live if the optimizer raises target_vol. One caveat for the analyst: my simulation models the book at weekly rebalance granularity and assumes each leg fills at the rebalance day's close, so intra-week drift in the dollar-neutrality (the legs are only exactly equal-notional at rebalance) is not captured; I would expect that to cost a small amount of realized neutrality rather than change the sign of the edge.
Hypotheses
Three unwaivable hard-gate failures make this a decisive overfit abandon: walk-forward is_overfitted=TRUE (IS Sharpe 1.108 collapses to OOS 0.285, with a negative OOS window -0.22), PBO 0.669 > 0.5, and holdout FAILED (Sharpe 0.082, ratio 0.286 << 0.70 — the independent tested-once period shows essentially no edge). Robustness confirms it: deflated_sharpe 0.493 < 0.95 and is_significant=false, so the optimized Sharpe 0.94 is indistinguishable from best-of-N noise over 225 trials (expected-max 0.946). This is not a cliff/wrong-config problem that a narrower search fixes — sensitivity is stable (0 cliffs, Sharpe 0.55-0.76 across the grid); the edge itself does not generalize out-of-sample, and across all 225 trials the selection procedure could not find a config that survives (PBO 0.67), so re-optimizing cannot manufacture an OOS edge the walk-forward and holdout both say is absent. It is also one of a large family of dollar-neutral cross-sectional momentum variants that have all been abandoned (spread, rank-weighted, beta-neutral-overlay, short-term-reversal siblings — overfit or fee_edge with -91%/-96% returns). The positive-every-year in-sample record did not hold up under IS/OOS + holdout testing. avg_trade_return_pct 3.2% clears the fee floor, so this is a pure overfit/weak-OOS failure, not fee fragility. Abandon rather than spend the final optimization attempt re-selecting from a parameter space the robustness gates show is noise.
Implementation
Dollar-neutral, market-neutral cross-sectional momentum rotation across 6 liquid BINANCE USD-M major perpetuals (BTC, ETH, SOL, BNB, XRP, ADA) on 1-DAY bars. Every week each name is ranked by risk-adjusted momentum — its trailing 21-day return divided by its own return volatility over the same window — and the book goes LONG the top-2 and SHORT the bottom-2 at equal notional, leaving the middle 2 flat. Two equal longs against two equal shorts makes the book dollar-neutral and approximately beta-neutral, so the return comes from cross-sectional dispersion among majors rather than crypto beta. Gross exposure is vol-targeted: gross = min(target_vol / (avg_vol_of_selected * 0.5), leverage), split equally across the 4 legs, where the 0.5 reflects that a dollar-neutral book of correlated majors cancels most of the common market factor. The rebalance is anchored to calendar time via (bar.ts_event // ns_per_day) % 7, and legs whose desired side is unchanged are left untouched so turnover is only the names that actually rotate. Two searched parameters: momentum_lb and target_vol; the weekly cadence and top/bottom-2 depth are fixed by design.
Verification Results
Acceptable as-is given the near-zero realized beta and the fee saving. If strict equal-notional matters, resize held legs to the current per_leg_notional when it has drifted beyond a band (e.g. >10-15%), trading the extra fee for tighter neutrality; otherwise document that neutrality is maintained at the book level, not the per-leg level.
Verification Results
Held legs are not resized to the current vol-target at rebalance, so the book is not strictly equal-notional per leg. On each weekly rebalance a fresh per_leg_notional is computed, but a leg whose desired side is unchanged is LEFT ALONE ('if desired == current and desired != 0: continue') to save the round-trip fee — so it retains the notional from when it was first entered while newly-rotated legs get the new per_leg_notional. When the vol-target gross changes between rebalances, held and new legs therefore carry different notionals. This is a deliberate, disclosed fee-saving tradeoff, and it does NOT break the core property: because held-vs-new is roughly symmetric across the long and short sides, the long-dollar vs short-dollar balance (the actual dollar-neutrality) is approximately preserved — the sandbox confirms it (beta 0.011, benchmark_correlation 0.054, max_drawdown 9.2%). So this is a per-leg-equal-notional imperfection, not a neutrality failure, and holds are short (~16.7-day mean). Worth the analyst knowing the book is approximately, not tick-perfectly, equal-weight.
Verification Results
No change needed; the exact-ts guard is the right call. If a future data set changes bar-delivery ordering and trade count drops unexpectedly, this is the first place to look.
Verification Results
The synchronized-panel alignment depends on all six legs' same-day bars being current when the primary's calculate_signal runs. _latest_aligned_row requires every leg to report the EXACT same ts (int(bts) != ts -> None), which is the correct, SAFE design: adverse within-timestamp bar-delivery ordering yields NO panel row for that day (a skipped rebalance), never a silently MISaligned row. The sandbox producing 75 trades with metrics_reliable=true confirms the panel forms and rebalances fire, so ordering is favourable in this engine. This is a robustness note, not a bug — the failure mode is 'fewer rebalances', which is observable, not 'wrong rebalances'.
Verification Results
At backtest_review, confirm the real engine's per-bar neutrality is close to the weekly-granularity model, and that the deflated Sharpe / PBO hold across the 15-cell plateau (the developer reports all cells profitable, PF 1.36-1.68, no cliff). This is a strong candidate; the checks are confirmatory rather than adversarial.
Verification Results
Two realism/robustness caveats for the analyst, both disclosed. (1) Intra-week neutrality drift: the legs are exactly equal-notional only at rebalance; between weekly rebalances price moves make the legs drift from equal, so realized dollar-neutrality is approximate — expected to cost a little realized neutrality, not flip the edge sign. (2) The developer's offline validation models fills at the rebalance-day close and does not capture that drift, so the live book may be marginally less neutral than the +3.89%/leg, PF 1.68, Sharpe 1.28 full-history figures suggest. The mechanism-class prior is favourable: cross-sectional relative-strength momentum is the factory's documented SECOND survivor, here extended to a dollar-neutral construction, and the full-history result is positive in all 6 years including the 2022 bear (+18.6%) — the market-neutral design doing its job, with no recent-regime decay.
Backtest Review
Extension of the factory's documented second survivor (cross-sectional relative-strength momentum rotation) into a dollar-neutral construction — not the 0-survivor single-name directional class
Backtest Review
Positive in every single year 2020-2026 across bull/bear/chop — strong evidence against a single-window fit
Backtest Review
458 trades with balanced long/short legs — large robust sample that directly attacks the low-trade-count / PBO / deflated-Sharpe deaths
Backtest Review
Genuinely market-neutral (beta 0.05, alpha +0.13), max_drawdown 16.7%, avg_trade_return_pct 3.98% far above the fee floor
Backtest Review
Only 2 searched parameters — minimal overfit surface
Backtest Review
return_kurtosis 45 / skew 2.6 — a few outlier days (2023-12-07 +46%, several +16-22% days in 2021/2025) contribute heavily; must verify the edge isn't outlier-dependent
Backtest Review
Sharpe 0.855 is modest and CI low (0.22) leaves limited headroom for best-of-N deflation in ANALYZING
Backtest Review
Possible gross-leverage inflation of single-day book moves during calm regimes — worth checking the vol-target/leverage cap interaction
Backtest Review
information_ratio -0.51 vs the equal-weight basket (expected for a neutral book; ignore per benchmark_meaningful=false)
Analysis
Genuinely market-neutral (beta 0.06), sensitivity stable with 0 cliffs, 624 trades — large sample
Analysis
avg_trade_return_pct 3.2% above the fee floor; sound diversified construction, low max_drawdown (11%)
Analysis
Documented survivor archetype (cross-sectional relative-strength momentum) — a legitimate factor
Analysis
Walk-forward is_overfitted=TRUE: IS 1.108 → OOS 0.285 with a negative OOS window (-0.22) (unwaivable hard gate)
Analysis
PBO 0.669 > 0.5 — selection procedure more likely than not overfitting (unwaivable hard gate)
Analysis
Holdout FAILED: Sharpe 0.082, ratio 0.286 << 0.70 — the independent period shows essentially no edge (unwaivable hard gate)
Analysis
deflated_sharpe 0.493 < 0.95, is_significant false — optimized Sharpe indistinguishable from best-of-N noise over 225 trials
Analysis
Optimizer overfit to an aggressive config (momentum_lb 10, top_n 3); optimized 2023 -9.0% and rolling Sharpe negative through 2026
Analysis
One of a large family of dollar-neutral cross-sectional momentum variants all previously abandoned (overfit/fee_edge)
Outcome Summary
This strategy was a careful, principled bet: extend the factory's documented cross-sectional-momentum survivor into a dollar-neutral long-short book across six majors, deliberately kept to two parameters and a large balanced trade sample to attack the low-trade-count and PBO deaths that had killed the single-name ideas. The initial backtest looked like exactly what it aimed for — genuinely market-neutral (beta 0.05, alpha +0.13), a controlled 16.7% drawdown, a per-trade edge far above the fee floor, and profits in every year — earning an 'optimize' verdict. But the robustness gauntlet was unambiguous: the in-sample Sharpe of 1.108 collapsed to 0.285 out-of-sample with a negative window, PBO hit 0.669, the tested-once holdout showed essentially no edge (ratio 0.286), and the deflated Sharpe was indistinguishable from noise. The analyst abandoned it as a decisive overfit/weak-OOS failure — the positive-every-year record did not hold up under IS/OOS and holdout testing, and it joined a large family of dollar-neutral cross-sectional momentum siblings that had all died the same way.
Outcome Summary
A positive-every-year in-sample record on a legitimate, well-diversified factor with a large trade sample and minimal parameter surface can still fail to generalize — when walk-forward, PBO, and an independent holdout all agree the out-of-sample edge is absent, and the strategy is one of a family of dollar-neutral cross-sectional momentum variants all previously abandoned, there is no robust region left to tune toward.
Outcome Summary
The analyst abandoned it at the post-optimization ANALYZING stage on three unwaivable hard-gate failures — walk-forward overfit, PBO 0.669 > 0.5, and a failed holdout showing essentially no edge in the independent period — plus a deflated Sharpe indistinguishable from best-of-N noise over 225 trials. Sensitivity was stable with zero cliffs, but the edge simply did not generalize out-of-sample, so re-optimizing could not manufacture one.
Outcome Summary
A long-short, market-neutral, multi-instrument cross-sectional momentum strategy across 6 liquid BINANCE USD-M majors (BTC, ETH, SOL, BNB, XRP, ADA) that each week ranks names by risk-adjusted momentum (trailing return ÷ own volatility), goes long the top-2 and short the bottom-2 at equal notional (middle-2 flat) for a dollar- and roughly beta-neutral, vol-targeted book, extending the factory's cross-sectional-momentum survivor into a dollar-neutral construction.
Outcome Summary
The initial backtest was genuinely market-neutral and healthy: total return +290%, Sharpe 0.855, profit factor 1.39, beta 0.05, alpha +0.13, max drawdown 16.7%, avg_trade_return_pct 3.98% over 458 balanced long/short trades, and positive in every year 2020-2026 (though outlier-influenced, kurtosis 45). After optimization it failed decisively: walk-forward is_overfitted TRUE (IS Sharpe 1.108 → OOS 0.285, one OOS window -0.22), PBO 0.669, holdout FAILED (Sharpe 0.082, ratio 0.286), and deflated Sharpe 0.493.
Backtest and paper results are hypothetical. Trading involves risk of loss.