VolManagedCrossSectionalMomentumBasketLS
Hypotheses
Volatility-Managed Cross-Sectional Momentum Basket, Long-Short Across Majors (Constant-Volatility Exposure Scaling, Binance USD-M Futures, Pure OHLCV)
Hypotheses
A LONG-SHORT, MULTI-INSTRUMENT cross-sectional MOMENTUM basket across ~10 confirmed-full-history Binance USD-M majors, wrapped in the documented VOLATILITY-MANAGEMENT overlay (Barroso & Santa-Clara 2015 / Moskowitz) that scales the whole book's gross exposure inversely to realized market volatility toward a constant target vol. The base signal is the SAME cross-sectional momentum that this session validated as POSITIVE and currently in optimization (rank majors by trailing return; long the top-K, short the bottom-K, dollar-neutral) -- but the DISTINGUISHING MECHANISM is the exposure overlay: momentum's single worst flaw is the 'momentum crash' (it loses heavily during high-volatility panic-rebound spikes), and de-risking the book exactly when market volatility is high roughly DOUBLES momentum's Sharpe and halves its drawdowns. This is a risk-management overlay on the ONE factor proven to work here, so it is the highest-survival remaining addition -- genuinely additive (a materially different risk/return profile and crash drawdown), not a parameter tweak. EVERY design choice respects this session's binding lessons: (1) MOMENTUM direction -- the only validated edge (fades/reversion all anti-predictive; pairs-MR is the same dead reversion family since crypto majors trend not cointegrate). (2) FUTURES venue -- the analyst's prescribed venue for volatility-targeting (SPOT continuous-rebalance broke the metrics engine; SPOT discrete strategies hit a sizing bug); USD-M futures size cleanly and allow the short leg. (3) PURE OHLCV -- volatility is computed from price; immune to the funding-data-end-2024, supplementary-stream (0-for-7), and HL-data-insufficiency kills. (4) OHLCV-DERIVABLE VOL INPUT -- the scaling uses BASKET-AVERAGE realized volatility (cross-sectional mean of per-name realized vol), avoiding the continuous-single-position accounting incompatibility that killed the spot vol-target. (5) MAJORS-ONLY CONFIRMED-DATA universe with drop-and-continue (no thin-alt/HL data abort). (6) DISCRETE weekly rebalance + exposure adjustment (engine-safe trackable trades; dense, no event-sparsity/trade-starvation). (7) LET-WINNERS-RUN rotation exit, not small-TP/big-SL. Intentionally minimal: 3 tunables (momentum_lookback, target_vol, vol_lookback).
Hypotheses
Iteration-3 fix for `leverage_set_but_unused`: the prior version read config.leverage only as a ceiling on the vol-scaled gross fraction, so it rarely bound and the backtest was byte-identical to 1x. Now `self.config.leverage` is referenced directly and applied as a multiplier on per_leg_notional (`equity * gross_fraction * leverage * 0.5 / per_side_k`), while the vol overlay's downside-scaling — the actual Sharpe-gain mechanism — is preserved by capping gross_fraction at max_gross_fraction (1.0) BEFORE the leverage multiply. This makes the 2x leverage genuinely consume extra notional (dollar-neutral book up to ~2x gross) so the backtest differs from 1x, satisfying the gate. All earlier-passing layers are untouched: imports, class structure, continuous primary-return signal, multi-instrument alignment, and rebalance logic are unchanged; only the leverage wiring in __init__ and the per_leg_notional line were edited.
Hypotheses
Pre-optimization gate: the base is a losing, no-edge config that the 3 tunables cannot rescue. profit_factor 0.936 (<1), negative per-trade expectancy (-314.7), total_return -47.2%, and a Sharpe of 0.049 with a CI [-0.67, 0.66] that straddles zero — statistically no edge. Critically, Sharpe is scale-invariant, so the vol-management tunables (target_vol, vol_lookback) that only rescale gross exposure cannot lift a ~0 Sharpe to promotable, and optimizing momentum_lookback on a ~0-Sharpe surface just fits best-of-N noise. The distinguishing mechanism is self-refuted: the thesis claims vol-management halves drawdowns, yet the book posts an 82.7% max drawdown (the overlay runs ~1.7x gross at exposure 163%, and 2x leverage amplifies the very momentum crash it was meant to contain). This is the recurring failure of the dollar-neutral cross-sectional L/S variant: it removes the net-directional beta that carried the promoted absolute/dual momentum siblings, leaving a near-zero cross-sectional spread on 10 majors — the same reason the sibling long-short basket was abandoned. Spending 2 hours optimizing a 2x-levered, negative-expectancy, zero-Sharpe neutral book is not warranted.
Implementation
Dollar-neutral cross-sectional momentum basket across 10 Binance USD-M majors (BTC/ETH/BNB/XRP/ADA/SOL/DOGE/LTC/LINK/BCH) on 1-DAY bars. Every 7 days it ranks each up-to-date symbol by trailing momentum_lookback return, LONGs the top third and SHORTs the bottom third, with a Barroso & Santa-Clara volatility-management overlay that scales gross book exposure inversely to basket-average realized volatility toward target_vol. Leverage (2x) is a genuine notional multiplier: per-leg notional = equity * vol_scaled_fraction * leverage * 0.5 / per_side_k / price, with the vol-scaled fraction capped pre-leverage at max_gross_fraction. Pure OHLCV, drop-and-continue on missing legs, let-winners-run rotation exit.
Verification Results
Verification failed (leverage_set_but_unused): config sets leverage=2.0 but the strategy never references leverage in sizing. Size positions on it — notional = equity * fraction * leverage / price (read self.config.leverage) — or set leverage=1.0. As written the leverage is inert and the backtest is identical to 1x.
Backtest Review
Mechanism implements the hypothesis: 65 long / 66 short, genuinely dollar-neutral (beta -0.004, correlation -0.007)
Backtest Review
Adequate trade sample (131 trades over 5+ years), pure OHLCV, engine-safe discrete weekly rebalance with balanced legs
Backtest Review
benchmark_meaningful=false correctly flags market-neutral; judged on absolute metrics
Backtest Review
No edge: profit_factor 0.936 (<1), avg_trade_return -314.7 (negative expectancy), total_return -47.2%, CAGR -7.98%, avg_loss > avg_win
Backtest Review
Sharpe 0.049 with CI [-0.67, 0.66] straddling 0 — indistinguishable from no edge; Sharpe is scale-invariant so target_vol/vol_lookback tuning cannot lift it
Backtest Review
82.7% max drawdown directly refutes the distinguishing vol-management thesis ('halves drawdowns'); overlay runs ~1.7x gross (exposure 163%) and 2x leverage amplifies the momentum crash (+59%/-45.6% single days)
Backtest Review
Dollar-neutral cross-sectional L/S strips the net-directional component that made the promoted momentum siblings work — same pattern as the abandoned LS basket variant
Analysis
Two linked defects make the vol-managed-momentum thesis untestable as-is. (1) EXPOSURE BUG: the book runs 163% gross with avg_position_pct 42% despite claiming <=100% gross dollar-neutral at leverage 1.0. Root cause is the sizing: per_side_k = n//3 collapses to 1 long + 1 short when only a few symbols are up-to-date at the rebalance day (per_leg_notional = equity*gross*0.5/per_side_k => 50% per leg), and the entry phase opens legs at full per_leg_notional without accounting for already-open exposure, so gross accumulates above the cap. Fix: (a) require a minimum count of up-to-date symbols before rebalancing (e.g. >=6) so per_side_k stays >=2-3 and the book is genuinely diversified; (b) compute target NOTIONAL per leg against TOTAL desired gross and reconcile against existing positions (resize, don't just add), so summed gross never exceeds gross_fraction*equity; assert summed gross <= leverage each rebalance. (2) THE VOL OVERLAY IS NOT DE-RISKING: the worst single-day returns are the high-vol panic days it is designed to flatten (2020-03-13 +31.2%, 2020-03-20 -20.9%, 2024-03-15 -23.1%), and max DD is 55% with kurtosis 185 — the opposite of the 'halve drawdowns' thesis. Verify gross_fraction = target_vol/basket_vol actually SCALES DOWN on those dates (log the realized gross on 2020-03 and 2024-03; it should be well under 1.0, not over). The likely interaction: the exposure bug overrides the overlay's de-risking. After fixing both, re-run and confirm the vol overlay cuts the crash tails. IMPORTANT EXPECTATION: the underlying signal is cross-sectional momentum on 10 highly-correlated crypto majors, which is net-negative here (Sharpe 0.035, PF 0.97, 4/7 years negative) — a volatility-management overlay is a risk wrapper that cannot manufacture alpha from a base with no edge. If the properly-capped, de-risking re-run is still Sharpe <0.5 / PF <1.2 / net-negative outside 2025, this should be abandoned: the dead family is cross-sectional momentum on correlated majors, not the overlay.
Outcome Summary
This strategy applied a textbook volatility-management overlay to a dollar-neutral cross-sectional momentum basket of 10 Binance USD-M majors, aiming to double momentum's Sharpe and halve its drawdowns while respecting the session's lessons (momentum direction, futures venue, pure OHLCV). In backtest it traded a healthy 131 times but lost money — -47.2% total return, profit factor 0.936, negative expectancy, and a Sharpe of 0.049 statistically indistinguishable from zero. Worse, the distinguishing thesis was self-refuted by an 82.7% max drawdown, as the overlay running ~1.7x gross under 2x leverage amplified the very crashes it was meant to contain. The analyst abandoned it at the pre-optimization backtest-review gate after 3 iterations, judging that no amount of tunable-tuning could rescue a levered, zero-Sharpe, negative-expectancy neutral book.
Outcome Summary
A dollar-neutral cross-sectional long-short book strips out the net-directional beta that carried the promoted absolute/dual-momentum siblings, and a volatility overlay run at ~1.7x gross with 2x leverage amplifies rather than contains the momentum crash.
Outcome Summary
The analyst issued an 'abandon' verdict at the pre-optimization backtest-review gate: it was a no-edge, negative-expectancy config whose scale-invariant ~0 Sharpe cannot be lifted by the vol-management tunables, and the 82.7% drawdown directly refuted the overlay's drawdown-halving thesis. Optimization and all later stages were never reached.
Outcome Summary
A dollar-neutral, long-short cross-sectional momentum basket across ~10 Binance USD-M majors, wrapped in a Barroso & Santa-Clara volatility-management overlay that scales gross exposure inversely to basket-average realized volatility to suppress the 'momentum crash'.
Outcome Summary
Over 5+ years (2019-12-31 to 2026-06-25) it produced 131 trades (65 long / 66 short) with a total return of -47.2%, CAGR -7.98%, a near-zero Sharpe of 0.049 (CI -0.67 to 0.66), profit factor 0.936, and negative per-trade expectancy of -314.7. It was genuinely dollar-neutral (beta -0.004) but suffered an 82.7% max drawdown.
Backtest and paper results are hypothetical. Trading involves risk of loss.