Skip to content

View original

LowVolatilityFactorLongRotation8Majors

Hypotheses

Low-Volatility Factor Weekly Rotation, Long-Only Top-3 LOWEST-Realized-Vol over 8 Mega-Cap USD-M Majors, Equal-Weight, BTC-Regime Cash-Out (Novel Signal = Volatility Rank, NOT Momentum or Funding; Pure OHLCV, 3-Parameter)

Hypotheses

A LONG-ONLY, weekly-rebalanced basket that selects the 3 LOWEST-realized-volatility names from the 8 data-verified mega-cap USD-M majors (BTCUSDT, ETHUSDT, SOLUSDT, BNBUSDT, AVAXUSDT, LINKUSDT, ADAUSDT, XRPUSDT) and holds them EQUAL-WEIGHT. It is deliberately designed to satisfy lesson L24's explicit requirement: a new majors basket must key on a SIGNAL INPUT that no promoted basket already uses. The two deployed baskets use relative-strength momentum (rank) and negative-funding carry; this uses REALIZED-VOLATILITY RANK — the documented low-volatility anomaly — which is orthogonal to both. Critically, volatility enters ONLY the selection rank; positions are EQUAL-WEIGHT, so it does NOT vol-size positions (vol-sizing is exactly what triggered the engine's non-diagnostic 445%-vol artifact that killed my vol-managed basket). It is engineered to avoid every documented death trap: NOT options (L23), NOT a momentum/funding re-weighting (L24), NOT intraday (fee-death), NOT ultra-low-turnover (the vol ranking shifts weekly → real turnover, avoiding the compute_daily_returns low-turnover engine bug that killed my spot-200SMA holds), NOT funding/liquidation/OI/HL/CM (dead families), NOT a two-leg perp (risk_reject). Pure OHLCV (best-surviving tag, no data wall), weekly frequency (the confirmed clean-diagnosable sweet spot), 3 parameters to resist overfit.

Hypotheses

Iteration 2 addresses the sole Layer-4 blocker: the QA reviewer confirmed code/venue/signal are all correct and the only issue was the compute_daily_returns annualization artifact (L17 |Sharpe|>5), caused by ~33-day average holds yielding only ~66 distinct trade-close dates that the engine annualizes as if daily (~5x vol inflation). Because the artifact scales with hold length and hold length is set by how often the lowest-vol MEMBERSHIP set rotates, I made the smallest faithful change: shorten vol_lookback 30 -> 14. A more responsive 2-week realized-vol ranking rotates the bottom-3 membership more often -> more genuine full-position closes -> more distinct close-dates -> shorter effective holds -> materially less annualization inflation, pushing reported vol/Sharpe back into the diagnosable range. This is a legitimate signal-window choice (still a standard 2-week realized vol), NOT vol-sizing (equal-weight preserved) and NOT wasteful full-book churn (stayers are only re-equalized, never liquidated+rebought), so it does not regress any earlier-layer check. Every other passing element — BINANCE_SPOT venue (leverage 1.0, long-only, no funding), ascending lowest-vol rank, equal-weight sizing, BTC 100-day SMA regime cash-out, spot-correct portfolio-value reconstruction, no look-ahead — is byte-identical to the iteration that passed Layers 1-3.

Hypotheses

Overfit — three unwaivable hard-gate failures: walk-forward is_overfitted=TRUE (IS 12.54 / OOS 0.46, ~27x collapse, one OOS window -1.47), PBO 0.53 > 0.5, and holdout failed (Sharpe 0.126, ratio 0.272 < 0.70). The robustness block confirms best-of-N noise: deflated_sharpe 0.0, is_significant false, and the selected Sharpe sits at/below expected-max-by-luck 14.96 over 225 trials. Compounding this, the in-sample metrics are inflated by the L17 compute_daily_returns annualization artifact (22-39 day holds produce a few enormous 'daily' returns and annualized_volatility of 170%), so the headline Sharpe (4.2 raw / 6.6 optimized) is not a trustworthy edge. Stripped of the artifact and the 2021 bull-market beta (2021 +554% vs flat/negative every other year, beta 0.25, benchmark_correlation 0.47), the strategy does not even beat its own equal-weight-basket benchmark (information_ratio -0.44). This is not a tuning problem: 225 trials show OOS Sharpe near zero across essentially the entire parameter space, so there is no robust region for optimization attempt 2 to find, and iter-2 already tried shortening the vol lookback to fight the same artifact without progress. Per L10, abandon overfit rather than burning the remaining attempt. NOTE FOR RESEARCH LEAD: this is an OHLCV-only long-only majors-rotation basket (the low-vol-anomaly variant); the family keeps dying to the annualization artifact and 2021-beta single-regime dependence. A different selection signal on the same weekly-rotation majors-basket structure is unlikely to clear the OOS/holdout gates — reframe away from long-only daily-rebalanced majors baskets rather than re-skinning the ranking signal.

Implementation

Long-only, weekly-rebalanced SPOT basket that holds the 3 LOWEST-realized-volatility names (equal-weight) from 8 mega-cap majors (BTC, ETH, SOL, BNB, AVAX, LINK, ADA, XRP), rotating to cash when BTC closes below its 100-day SMA. Volatility enters only the selection rank (the low-volatility anomaly); positions are strictly equal-weight, so it never vol-sizes. Pure OHLCV, 3 tuned parameters, no funding/OI/liquidation/options feeds.

Verification Results

Verification failed (Layer 4 — QA review): - NON-DIAGNOSTIC METRICS (compute_daily_returns artifact) + L17 |Sharpe|>5. Sharpe 5.78 and vol 201.2% implausible for a LOW-vol 0.90x majors basket. data_days 66 ≈ trade count over multi-year (539d DD duration) → ~33-day holds annualized as daily, ~5x vol inflation (true ~40%), Sharpe incoherent with cagr 67.5% (coherent ~0.34). Not a code defect (win 0.571, PF 1.73, no liquidation) and correctly on spot (not a venue issue). Can't certify for the Sharpe-centric pipeline. - PROMISING — strongest 'once engine fixed' candidate of the family: annualization-INDEPENDENT max_drawdown 38.63% is the LOWEST of the family (risk-adjusted 43.6%, dual-momentum 76.9%, mid-cap 80.85%), exactly as the low-vol anomaly predicts. Novel thesis works on the trustworthy metric; venue correctly spot from the start. Edge-quality note: lowest-vol majors are usually BTC/ETH, so confirm the vol rank beats a naive BTC/ETH hold and is orthogonal to deployed baskets (L24). - CREDIT: code correct, venue correct from start (no misroute — learned from siblings), novel signal faithful. _realized_vol ranks ASCENDING (lowest-vol first), top-3, strictly EQUAL-WEIGHT (vol only in rank — NOT vol-sizing), BTC traded+regime, spot-correct sizing, long-only (short_trades=0), no look-ahead. Block is purely the residual engine artifact.

Verification Results

Analyst/optimizer should lean on annualization-independent metrics (peak-to-trough max_drawdown, per-trade return, profit_factor) and confirm the artifact shrinks over the full backtest window.

Verification Results

Sandbox reports Sharpe 4.22 with annualized_volatility 170% on a 99-day smoke window with 22-day holds. Below the L17 |Sharpe|>5 code-defect threshold, but the elevated vol/Sharpe is consistent with the engine's compute_daily_returns annualization inflation on low-distinct-close-date series that the vol_lookback 30->14 change targets. Engine metric artifact, not a code defect (win_rate 0.57, PF 1.54, max_dd 31%, avg_trade_return_pct 7.87% are internally coherent).

Verification Results

No code change needed; keep spot venue.

Verification Results

Hypothesis says 'USD-M majors' but code routes all to .BINANCE_SPOT. CORRECT per the factory venue rule (long-only, no leverage, pure-price edge -> spot to avoid ignored funding) and credited in prior iterations. Not a fail; spot 0.20% round-trip cleared by 7.87% avg_trade_return_pct.

Verification Results

No change required.

Verification Results

Winner re-equalization uses OrderSide.SELL to trim an over-target held long. Valid reduce on the spot CASH account; held_qty queried live before delta so it can never over-sell into a naked short. Visibility only.

Backtest Review

Annualization-INDEPENDENT metrics are strong and trustworthy: max_drawdown 31.46% (< 50% floor), profit_factor 1.54, win_rate 0.574, avg_trade_return_pct 7.87% (far above spot fee floor)

Backtest Review

Multi-year positive edge, NOT single-regime: 2023 +96.6% and 2024 +26.9% show real out-of-2021 edge (contrast strategy 1 which was 100% 2021)

Backtest Review

Genuine weekly turnover (141 trades, 22d avg hold) — data_days 99 no longer equals trade count, so the iter-2 shorter-lookback fix partially cured the low-turnover engine artifact that killed the spot-200SMA siblings

Backtest Review

Novel signal (low-volatility rank) satisfies L24 — orthogonal to deployed momentum/funding baskets; low-vol anomaly is a documented factor

Backtest Review

PSR 0.9996, sharpe_ci_low 1.67 > 0 (positive even at CI floor)

Backtest Review

Sharpe 4.22 is annualization-INFLATED ~2x: annualized_volatility 170% is implausible for an unlevered 3-name spot basket (true ~70-90%); data_days 99 sparse over 9 years. Real Sharpe ~2. This corrupted Sharpe will feed the Sharpe-centric optimizer/DSR/PBO gates — do not take the point value at face value.

Backtest Review

Return concentration: 2021 (+555%) is the bulk of the 1318% total; 2025 (+2.7%) and 2026 (-11.6% partial) are weak/recent — possible factor decay to watch in OOS

Backtest Review

exposure_pct 162% and information_ratio -0.44 vs the equal-weight basket benchmark — edge over naive basket-hold is not yet established

Backtest Review

inflated ~2x by annualization artifact; real ~2

Analysis

Novel signal (realized-vol rank) and clean spot venue/sizing; QA confirmed the mechanism is faithfully implemented

Analysis

Sensitivity phase passed with only one cliff (gross_exposure at the 1.08 clamp edge)

Analysis

Walk-forward is_overfitted=TRUE: IS Sharpe 12.54 vs OOS 0.46 (~27x collapse); OOS windows [0.83, -1.47, 2.03] include a negative window

Analysis

PBO 0.53 > 0.5 and deflated_sharpe 0.0 — selected config indistinguishable from best-of-225-trials noise (expected-max-by-luck 14.96)

Analysis

Holdout failed: Sharpe 0.126, ratio 0.272 << 0.70 floor

Analysis

Metrics inflated by the L17 annualization artifact (22-39d holds, annualized_volatility 170%, +48/+62% single-day returns) — Sharpe 4.2/6.6 untrustworthy

Analysis

Headline is single-regime 2021 beta (+554% in 2021 vs flat/negative other years); information_ratio -0.44 means it does not beat its own benchmark

Analysis

No robust OOS region anywhere in 225 trials — nothing for optimization attempt 2 to tune toward

Outcome Summary

LowVolatilityFactorLongRotation8Majors satisfied lesson L24's demand for a novel signal by ranking majors on realized-volatility rank (the low-vol anomaly), orthogonal to the deployed momentum and funding baskets, keeping positions equal-weight and shortening the vol lookback to fight the annualization artifact that had killed prior siblings. The base backtest earned an optimize verdict with strong annualization-independent metrics and genuine multi-year edge (2023 +97%, 2024 +27%), but optimization exposed it as overfit and regime-dependent: a ~27x IS→OOS Sharpe collapse, PBO 0.53, a deflated Sharpe of 0.0, a failed holdout, and a +1318% headline that was mostly 2021 beta which didn't even beat the equal-weight basket. The analyst abandoned it on three hard gates and, notably, escalated a structural verdict: the whole long-only daily-rebalanced majors-basket family keeps failing for the same reasons, so the Research Lead should reframe away from the structure rather than swap in yet another ranking signal.

Outcome Summary

The long-only, daily-rebalanced majors-basket family keeps dying to the same two problems — the compute_daily_returns annualization artifact (22-39 day holds inflating vol/Sharpe ~2x) and single-regime 2021 bull beta — so re-skinning the ranking signal (momentum, funding, now low-vol) is unlikely to clear the OOS/holdout gates; the structure itself, not the signal, should be reframed away from long-only daily-rebalanced majors baskets.

Outcome Summary

The analyst returned 'abandon' at the post-optimization ANALYZING stage on three unwaivable hard-gate failures (is_overfitted TRUE, PBO > 0.5, failed holdout) plus a deflated Sharpe of 0.0 against a 14.96 luck bar: with OOS Sharpe near zero across all 225 trials there was no robust region for the second optimization attempt to tune toward, the metrics were still inflated by the L17 annualization artifact, and stripped of that and 2021 beta the strategy didn't beat its benchmark.

Outcome Summary

A long-only, weekly-rebalanced basket over 8 mega-cap Binance spot majors that used a novel signal — realized-volatility rank (the low-volatility anomaly) — to hold the 3 lowest-vol names equal-weight (vol entering only the selection rank, not position sizing), with a BTC-regime cash-out for drawdown control; pure OHLCV, 3 parameters.

Outcome Summary

The base backtest looked strong on annualization-independent metrics (max drawdown 31.46%, profit factor 1.54, win rate 0.574, avg_trade_return_pct 7.87%, positive in 2023 +96.6% and 2024 +26.9%) and earned an 'optimize' verdict, though the reviewer flagged the Sharpe 4.22 as ~2x annualization-inflated. Optimization then failed decisively: is_overfitted TRUE (IS Sharpe 12.54 vs OOS 0.46, a ~27x collapse with one OOS window at -1.47), PBO 0.53, deflated Sharpe 0.0, a failed holdout (Sharpe 0.126, ratio 0.272 << 0.70), and information ratio -0.44 (does not beat its own equal-weight basket), with the +1318% headline dominated by 2021 (+554%).
Strategy report

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