Skip to content

View original

CrossSectionalBettingAgainstBetaLS

Hypotheses

Cross-Sectional Betting-Against-Beta (Low-Volatility Anomaly), Beta-Neutral Long-Short (Multi-Instrument BINANCE USD-M — Rank ~8 Majors by Realized Beta to the Crypto Complex, LONG the Low-Beta Names / SHORT the High-Beta Names Scaled to Zero Net Beta, Monthly Rebalance, 3-Parameter)

Hypotheses

A MARKET-NEUTRAL, MULTI-INSTRUMENT factor strategy that harvests the BETTING-AGAINST-BETA / low-volatility anomaly across ~8 liquid BINANCE USD-M major perps (BTC, ETH, SOL, BNB, XRP, DOGE, AVAX, LINK). It is a genuinely DIFFERENT factor from everything in my pending set — momentum ranks names by past RETURN; funding carry ranks by FUNDING; this ranks by realized BETA/volatility to the crypto complex, an orthogonal dimension. The documented anomaly: leverage-constrained and lottery-seeking investors systematically overpay for high-beta, high-volatility assets (the speculative alts), so those assets deliver POOR risk-adjusted returns, while boring low-beta assets (BTC) deliver better risk-adjusted returns; going LONG low-beta and SHORT high-beta, scaled to zero net beta, earns the spread (Frazzini-Pedersen BAB, one of the most robust cross-asset factors known). Mechanically: estimate each name's beta to an equal-weight crypto index over a slow lookback, LONG the 2-3 lowest-beta names and SHORT the 2-3 highest-beta names, sizing so the LONG book's total beta = the SHORT book's total beta (net beta ≈ 0, which typically means larger notional on the low-beta longs). It is NOT a return-ranked rotation (distinct factor, distinct embedding from my cross-sectional momentum), NOT single-name directional (diversified, no blow-up), and NOT carry. Beta is slow-moving so rebalance is MONTHLY → very low turnover → the ~0.10% perp round trip is negligible (no fee_edge fragility, the killer of the trend variants). Beta-neutrality removes market direction, keeping drawdown well below the risk-reject line. Fills under-represented buckets: market-neutral, multi-instrument (18.4%), long_short (13.5%). 3 parameters (beta lookback, N per side, rebalance cadence).

Hypotheses

Addresses the iteration feedback directly and minimally, starting from previous_code. (1) The unbounded 1/beta weighting was the leverage artifact: min_beta=0.05 permitted w_long=20 when a rolling beta was mis-estimated near zero, which is what produced the +188.95% day, kurtosis 137, and the symmetric -33%/-25% days. min_beta is raised to 0.35 (1/beta <= 2.86), the w_long/w_short ratio is clamped to [0.4, 2.5] so neither side can dominate regardless of beta estimates, and every leg is capped at 40% of equity. (2) The per-leg cap is applied as a single book-wide scale factor rather than a per-leg clip, so the long/short beta cancellation is preserved instead of being broken by asymmetric clipping. (3) Realized gross exposure, realized net beta, the applied ratio, both side betas, and the largest leg fraction are logged at every rebalance, so the bounds are verifiable from the run log per the request. With defaults (n_side=2, gross 1.0, ratio<=2.5) each long leg is at most 35.7% of equity and each short leg at most 14.3%, total notional <= 1.0x equity — no leverage, so no compounding blow-up path. Everything that already passed is untouched: imports, class structure, the synchronized single-panel alignment, the continuous beta-spread signal, the calendar-anchored rebalance schedule, and the inert entry/exit interface are unchanged. I have not run the backtest myself (verification is the pipeline's job), so the cleaned metrics will come back in the next Layer-3/backtest report; I note for the analyst that if the de-levered version does not show a controlled drawdown and a Sharpe CI clearing zero, the honest read is that the BAB spread in an 8-name crypto universe is too thin and the strategy should be abandoned rather than optimized.

Hypotheses

Betting-against-beta beta-neutral basket — the L45 zero-survivor class (dollar/beta-neutral major-perp baskets 0/84; L45 names betting-against-beta at PF 1.33/42% DD as an optimize->die case), here a near-duplicate at PF 1.39/41% DD — carrying a leverage artifact the iteration-2 bounds failed to contain. Despite a stated gross_exposure 1.0 and beta-neutral construction with per-leg caps (max ~1.6x gross), exposure_pct is 408% and the run shows a +155.8% single-day return (2021-03-04) plus +52%, +44%, +35%, -28%, -27% days (return_kurtosis 118, skew 5.6) — physically impossible from real market moves at that gross, so the book is running far more leverage than the design claims and the min_beta/max_weight_ratio/max_leg_frac fixes did not actually bind. The 346% headline is carried by that artifact (the +155% March-2021 day ~triples the account and compounds through every later year), not by per-name edge; underneath, Sharpe is 0.65 with bootstrap CI [-0.074, 1.323] straddling zero and max_drawdown 41.3% (CI to 76.6%), above the promotion floor (benchmark_meaningful correctly false). The developer already spent iteration 2 on this exact leverage blow-up and it recurred, and the underlying BAB edge is what the 0/84 class has never demonstrated, so re-iterating the sizing would not surface an edge and the clean-book version is a reject anyway. Per L45, the zero-survivor class prior overrides the attractive book-level Sharpe. Failure pattern: no_edge/leverage-artifact market-neutral betting-against-beta basket (L45).

Implementation

Beta-neutral cross-sectional betting-against-beta across 8 liquid BINANCE USD-M majors on 1-DAY bars. Each name's realized beta to an equal-weight crypto-complex index is estimated over a 60-day lookback; the book goes LONG the 2 lowest-beta names and SHORT the 2 highest-beta names, sides scaled by 1/beta so the beta contributions cancel (net beta ~0). Rebalanced on a calendar-anchored 14-day cadence via netting delta orders with a 10% no-trade band. Iteration 2 adds three independent leverage bounds: min_beta floored at 0.35 (caps 1/beta at 2.86), the long/short weight ratio capped at 2.5x, and a hard 40%-of-equity per-leg notional cap applied by scaling the entire book down with one common factor so beta neutrality survives. Gross exposure is normalized to 1.0x equity (leverage=1), and realized gross exposure plus realized net beta are logged at every rebalance.

Verification Results

CLEAN RESTART 2026-09-04 — this run's verdict history and learning records were removed and it was restarted from verification. Its previous abandonment came from the pipeline, not from the market: the Layer-2 harness mis-bound @staticmethod helpers (fixed), QA issued terminal performance verdicts on an unoptimized smoke test (removed — QA now judges correctness only), and sandbox timeouts came from backtest-slot starvation (fixed). The hypothesis and the strategy code are unchanged. Verify the code on its merits; performance is decided later by the full backtest and the optimizer.

Verification Results

Imperfect market-neutrality: net beta ~0 at each rebalance, but realized max_drawdown 42.4% (CI to 64%) and a stress window (luna 2022) lost 16% — residual factor/dispersion exposure and stale betas through fast moves mean the book isn't drawdown-immune as the hypothesis argues. Not a code defect (FP construction correct); a risk-profile finding. Read the per-rebalance net_beta log to confirm neutrality OOS; weight the holdout drawdown and stressed-regime behavior heavily.

Verification Results

Minor cadence deviation: hypothesis says MONTHLY, config uses rebalance_days=14 (bi-weekly). It's one of the 3 searched params and beta is slow-moving, so within the slow-cadence spirit (turnover low, fees immaterial). Noting only so the analyst knows the tested cadence isn't the hypothesized monthly one. Acceptable as a tunable.

Backtest Review

Genuinely orthogonal factor (realized beta, not return or funding) and a clean Frazzini-Pedersen construction with monthly cadence (low fee drag)

Backtest Review

Positive in several years and stressed-regime Sharpe > 1 — the mechanism engages during dislocations as intended

Backtest Review

Leverage/sizing artifact: exposure_pct 408% despite a stated 1.0x gross, and a +155.8% single-day return (2021-03-04) plus multiple >40% days — impossible at <=1.6x gross; return_kurtosis 118, skew 5.6. The iteration-2 leverage bounds did not contain the book

Backtest Review

Headline 346% is carried by the artifact (the +155% day ~triples the account) and a few outlier days, not by per-name edge

Backtest Review

No significant edge: Sharpe 0.65 with CI [-0.074, 1.323] straddling zero; max_drawdown 41.3% (CI to 76.6%), above the promotion floor

Backtest Review

L45 zero-survivor class (beta/dollar-neutral major-perp baskets 0/84; betting-against-beta specifically died at PF 1.33/42% DD) — this is PF 1.39/41% DD, a near-duplicate
Strategy report

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