Skip to content

View original

UseqResidualMomentumLargeCapDollarBetaNeutralLS

Hypotheses

Cross-Sectional RESIDUAL (Beta-Neutralized) Momentum Across Individual S&P 500 Large Caps, Dollar- and Beta-Neutral Long-Short (USEQ, Daily Bars, 12-1 Residual Rank, Monthly Rebalance, 3-Parameter)

Hypotheses

A DOLLAR-NEUTRAL, BETA-NEUTRAL, MULTI-INSTRUMENT long-short factor on ~25 individual liquid S&P 500 large caps traded on USEQ (commission-free, Reg-T 2x, shorts allowed). This is deliberately NOT any of the equity anomalies the factory has already buried (L74: SPY dual-timeframe index trend, QQQ calendar seasonality, XLF sector-ETF reversion, KO/PEP cointegration pairs, QQQ vol-regime, pre-FOMC drift). It is the Blitz-Huij-Martens RESIDUAL momentum factor: rank each name by the momentum of its stock-SPECIFIC (idiosyncratic) return after regressing out the market, not by raw price momentum. Residual momentum is the medium-term factor that survives where raw cross-sectional momentum dies, because neutralizing market beta strips out the momentum-crash risk (the violent long-loser/short-winner snapbacks in market rebounds) that produces the deep drawdowns and risk_reject deaths of raw rank-and-rotate baskets. Rationale for the whole choice: (a) VENUE — USEQ is 0.7% of a 70.8%-BINANCE portfolio and is the ONLY venue whose data (decades of split-adjusted daily bars) makes overfit/power deaths structurally avoidable and whose commission-free execution makes a low-per-trade-edge factor survivable; (b) SCOPE — a 25-name cross-section fills the under-mined multi bucket with genuine breadth, not a 9-ETF rotation; (c) DIRECTION — dollar-neutral long-short pushes against the 85.8% long-only concentration; (d) MECHANISM — residual momentum is distinct from every dead crypto class (no funding/OI/liquidation/premium/VWAP/tick-flow) AND from the specific equity anomalies in L74. It is NOT a regime-GATE bolted onto a proven edge (L92): the residualization IS the signal transform, not a trade-count filter.

Hypotheses

Implements the hypothesis literally. (1) MECHANISM: the signal transform IS the residualization — beta is estimated per name against SPY over the 12-1 window and the rank variable is the standardized stock-specific return (residual alpha t-stat), so names are ranked on idiosyncratic, not market-driven, momentum. This is a signal transform, not a regime gate bolted onto a raw-momentum edge (L92): there is no trade-count filter, the book rebalances every month unconditionally, which also keeps trade frequency high enough for the Layer-3 window and for a powered sample. (2) NEUTRALITY: equal-dollar legs give exact dollar neutrality on the stock book (the equal-notional discipline that L59's -100% delta-neutral failures violated), and the SPY overlay removes the residual net beta the two legs do not cancel — the two constraints cannot both be met by scaling legs alone, so a hedge leg is the honest construction; it is capped at 50% of gross so a bad beta estimate cannot dominate. (3) VENUE: USEQ per the hypothesis — the only venue with shorts, Reg-T 2x, near-zero commissions and decades of split-adjusted daily bars; leverage=2.0 is genuinely consumed (gross = equity * gross_exposure * leverage = 1.2x equity notional, margin 0.6x equity). (4) BREADTH: 25 names, all continuously listed since the 1990s, so the multi-leg alignment barrier is satisfied across the whole window instead of waiting on a late IPO, and no name is a delisted/renamed ticker. (5) COST: monthly rebalance with delta orders and a no-churn band keeps per-name turnover near 1-2 round trips a quarter against a ~0.02-0.05% USEQ round trip, so the ~1-2%/month cross-sectional spread clears costs by a wide margin. (6) PERFORMANCE: per-bar work is O(legs) buffer maintenance plus ONE 252-row regression for the primary leg's reported signal; the 25-name regression sweep runs 12x/year, and min_bars_required is deliberately 30 so the base gate does not double the real warm-up (formation+skip aligned return rows). One honest caveat: residual momentum's published edge is strongest on a broad cross-section (hundreds of names) — a 25-name universe halves the spread between the extreme quintiles, so I would expect a real but modest Sharpe rather than the paper's headline; implemented as asked.

Hypotheses

Negative expectancy / premise falsified on a decisive 1131-trade, 32-year sample: avg_trade_return_pct -0.62% (below ZERO, under the USEQ ~0.05% floor), profit_factor 0.906 (<1), expectancy -$50.67/trade, total_return -48.1%, Sharpe -0.0038 with CI straddling zero. USEQ commissions are $0 and impact is 0.0% of gross, so this is a gross-negative signal, not fee-fragility — the residual (beta-neutralized) cross-sectional momentum factor on a 25-name S&P 500 universe is simply absent, exactly as QA feared (the small cross-section halves the extreme-quintile spread). It loses in ALL THREE vol terciles including the calm regime (-13.5%) where a market-neutral factor should be steadiest, and in the majority of 32 calendar years, with a 73% max drawdown. The code is a fair test (balanced L/S legs, correct monthly residual-momentum ranking + SPY beta overlay), so this is not a fixable implementation bug and there is nothing below zero for optimization to lift above costs. Matches L75 (near-frictionless USEQ with PF<1.2 means the anomaly itself is missing, not eaten by fees) and L45 (beta-/dollar-neutral long-short baskets 0/N). abandon_class=negative_expectancy (premise_falsified).

Implementation

Dollar-neutral and beta-neutral cross-sectional RESIDUAL momentum long/short across 25 individual liquid S&P 500 large caps on USEQ daily session bars (AAPL primary + 24 extras, with SPY as the market factor and hedge instrument). Each session, every name's daily returns are regressed by OLS on SPY's returns over the formation_days window ENDING skip_days sessions ago (the 12-1 construction, defaults 252/21); the ranking score is the t-statistic of the stock-SPECIFIC return, alpha_i / stdev(r_i - beta_i*r_m) * sqrt(n) — the Blitz-Huij-Martens residual-momentum transform, not raw price momentum. On the first session of each CALENDAR month (schedule derived from the bar's own timestamp, never a bar counter) the book is moved to: long the top_k residual-momentum names, short the bottom_k, EQUAL DOLLAR weighted so the stock legs carry identical notional (dollar-neutral by construction), plus a SPY overlay of minus the stock book's net beta-weighted notional so the total book's market beta is ~0 (overlay capped at hedge_cap_frac x gross). Gross notional = equity * gross_exposure * config.leverage (0.60 * 2.0 = 1.2x equity gross: 0.6x long + 0.6x short) under the USEQ Reg-T 2x cap. Rebalancing is executed as whole-share netting DELTA orders per leg with a $500 no-churn band, so unchanged names keep their positions and turnover stays at a handful of round trips per month.

Verification Results

No change required; noting the intentional shadow for reviewer awareness.

Verification Results

min_bars_required() overrides the framework method to return 30 rather than the true lookback (formation_days+skip_days ~= 273). This is deliberate and documented (the strategy's own aligned-return buffer is the real warm-up; gating the base on the full lookback too would double it). Behaviorally safe because _window() returns None until the buffer is full, so no signal/rebalance fires before enough data exists.

Verification Results

No fix needed given observed behavior; if any session is skipped due to delivery ordering it degrades gracefully (missed rebalance), not incorrectly.

Verification Results

Multi-leg alignment via _aligned_row requires every leg's latest buffered bar to carry the exact same ts as the primary bar. If same-session bars for the 24 extras and SPY are not all delivered before AAPL's calculate_signal on that session, the row is treated as unaligned and _proxy() is used (no trade). The sandbox produced 680 orders with a balanced long/short book, so alignment is functioning in practice on USEQ daily bars.

Verification Results

Residual momentum's published edge is strongest on a broad cross-section (hundreds of names); the 25-name universe halves the spread between extreme quintiles, so expect a modest Sharpe at best (developer acknowledges this). The unoptimized sandbox is negative (total_return -3.5%, Sharpe -0.01, avg_trade_return_pct -0.58%, PF 0.89), and it loses in the calm vol tercile (-3.77%) where a market-neutral factor should be steadiest. Analyst should watch net-of-cost per-trade edge and the calm-regime behavior on full history; the beta overlay's dependence on noisy 252-day beta estimates is the first thing to sanity-check.

Backtest Review

Clean, honest implementation: 1131 trades over a 32-year daily sample, balanced long/short legs (580 long / 551 short), monthly netting rebalance and a SPY beta overlay — the trades genuinely implement the Blitz-Huij-Martens residual-momentum L/S mechanism, so this is a FAIR test, not a coding artifact.

Backtest Review

USEQ venue removes fee/power excuses: total_commission 0.0, impact only $3116 (0.0% of gross) — costs are not the reason it loses.

Backtest Review

Negative expectancy on a decisive sample: avg_trade_return_pct -0.62% (below ZERO, far under the USEQ 0.05% floor), profit_factor 0.906 (<1), expectancy -$50.67/trade, total_return -48.1%, CAGR -2.24%, Sharpe -0.0038 with CI [-0.30, 0.29] straddling zero.

Backtest Review

Premise falsified across regimes: loses in calm (-13.5%), normal (-15.8%) AND stressed (-33.1%) vol terciles — QA's concern (calm-regime bleed where a market-neutral factor should be steadiest) is borne out on full history.

Backtest Review

Loses in the large majority of the 32 calendar years; 73.2% max drawdown, recovery_factor -0.74.

Backtest Review

Since USEQ costs are near-zero, this is a gross-negative signal, not fee-fragility — the 25-name residual-momentum spread is simply absent (QA flagged the halved quintile spread on a small universe).

Outcome Summary

UseqResidualMomentumLargeCapDollarBe-8854a9273c

Outcome Summary

A 25-name cross-section is too narrow to yield a real residual-momentum spread; PF well under 1 on commission-free USEQ means the anomaly is absent, not fee-eaten.

Outcome Summary

Backtest-review analyst issued an 'abandon' verdict pre-optimization — a gross-negative signal on a frictionless venue, judged a fair test with nothing for optimization to lift above zero.

Outcome Summary

A dollar-neutral, beta-neutral long-short factor on ~25 individual S&P 500 large caps (USEQ, daily bars, monthly rebalance) ranking names by residual (beta-neutralized) 12-1 momentum rather than raw price momentum.

Outcome Summary

Decisively negative over a 32-year, 1131-trade backtest: total_return -48.1%, CAGR -2.24%, Sharpe -0.0038, PF 0.906, avg_trade_return_pct -0.62%, 73.2% max drawdown; lost in all three vol terciles with $0 commissions.
Strategy report

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