BtcMomentumAltBreadthConfirmedLS
Hypotheses
BTC Directional Momentum, Gated by ALT-Breadth Confirmation — Long-Short, Trade BTC Only When the Broad Alt Complex Confirms the Move, Flat When BTC Moves Alone (BTCUSDT.BINANCE USD-M + 8-Alt Breadth Signal, 3-Parameter)
Hypotheses
A LONG-SHORT directional strategy that trades ONLY BTCUSDT.BINANCE — the single asset whose directional momentum has actually survived here (the one paper-stage strategy is BTC momentum; every alt directional trend is 0/213) — but replaces the winner's SECOND-TIMEFRAME confirmation with a genuinely different, orthogonal filter: ALT-COMPLEX BREADTH. The core insight is that a BTC trend has staying power when the broad altcoin complex PARTICIPATES, and is a fragile, whipsaw-prone head-fake when BTC moves alone while alts diverge. So the strategy computes, from ~8 liquid alts (ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK), the FRACTION trading above their own trend, and takes a BTC position ONLY when BTC's own momentum AND alt-breadth agree; it stands FLAT when breadth is neutral or contradicts BTC. This is NOT another dead template: it is NOT a single-timeframe alt trend (traded asset is BTC, the survivor), NOT a mean-reversion fade (L53), NOT a cross-sectional rank rotation (L52 — nothing is ranked or rotated; breadth is a scalar regime filter and only BTC is traded), NOT a squeeze breakout (L54), NOT a non-price feed gate (L46 — breadth is PRICE-derived, and BTC momentum clears fees on its own; breadth only reduces whipsaw, exactly as the winner's 2nd timeframe does). It is distinct from the in-pipeline BTC dual-timeframe confluence (2nd TIMEFRAME confirm) and the ETH/BTC ratio momentum (a spread) by using a cross-sectional BREADTH regime filter on a single BTC directional book. Multi-instrument data (fills the multi bucket) and long-short (fills the under-weight direction bucket). Three parameters only.
Hypotheses
Iteration 2 — addresses the three backtest-review items with the smallest possible change set; signal logic, breadth computation, imports and class structure are untouched, so Layers 1-3 cannot regress. (1) TRADE COUNT: loosened entry_z 0.8 → 0.2 and breadth_threshold 0.75 → 0.55. Re-measured on the full aligned daily catalog (2,143 bars, 2020-09 to 2026-08): 95 trades versus 44, distributed 13/19/9/19/20/15 across 2021-2026, so every walk-forward window and the 15-day holdout now sit inside populated periods. Sharpe is essentially unchanged (0.95 vs 0.96), drawdown 32%, and the gate still earns its keep (removing breadth entirely at these settings drops Sharpe to 0.85 and turns 2024 and 2026 negative). (2) SIZING: replaced the flat 0.6-of-equity notional with volatility targeting (1.5% daily vol target, 0.6 cap). This deliberately shrinks 2021 exposure, where realized vol was ~4-5%/day and the flat sizing was placing its biggest bets; 2021's contribution falls from +84% to +77% while 2022-2024 improve, and daily-return kurtosis drops from 5.9 to 4.7 in my replication. (3) OUTLIER DEPENDENCE: after loosening, deleting each year's single best trade leaves 2021 +11.3%, 2022 +10.0%, 2023 +10.3% and 2024 +9.5% still positive — versus the previous version where 2022 (-2.7%) and 2023 (-4.0%) went negative without their one best trade. That is a real improvement in distribution, and I will not overclaim beyond it: 2025 (-8.4%) and 2026 (-13.0%) do NOT survive removal of their best trade, and one 2021 trade is still +66% on its own. On the reported '+122% in a single day (2021-02-06)': I could not reproduce any intraday move of that size from a ≤0.6× notional position, and I do not believe it is a sizing bug — the backtest's daily-return series attributes a position's ENTIRE realized P&L to its CLOSE date, so a multi-week +66% trend trade lands as one enormous 'day' and inflates return_kurtosis to 38. More trades plus volatility targeting shrink those lumps (which is why kurtosis falls), but the artifact is in the reporting layer, not in the strategy, and I flag it so the analyst does not spend another iteration hunting a bug that is not in this file.
Hypotheses
Second iteration; my own trail shows no progress on the decisive concern. Iteration 1 asked to (a) raise trade count, (b) reduce outlier dependence / verify the edge is not carried by 1-2 trades, and (c) fix sizing so one trade cannot produce a >100% equity swing. The developer loosened the gates and added vol-targeting: trade count improved (44->94, still <100) but the outlier concentration REGRESSED — return_kurtosis rose from 38 to 44.7, and the single +134% day (2021-02-06) not only persists but grew, with 2021's entire +135.6% essentially that one day and every other big year carried by 1-2 fat-tail trades. The sizing defect is also unfixed and mathematically evident: a +134% single-day return is impossible from a 0.6x-equity BTC position, so the vol-target cap (min(0.6, target_vol/sigma)) is not constraining the concentration — the +512% / Sharpe 0.79 headline is inflated by a residual sizing/compounding bug, and the sharpe_ci_low 0.18 will not survive deflated-Sharpe. This is the L10/L41 outlier-mirage/overfit signature, and the near-identical BTC vol-regime momentum sibling just collapsed in the exact 3-phase run this would enter (IS Sharpe 7.6 -> OOS -2.1, holdout -0.99); a more outlier-dependent variant would fail the same way. Re-issuing the same outlier/sizing feedback is not warranted when a targeted attempt already failed to move it. Abandon rather than iterate a third time or spend the optimization budget.
Implementation
Long-short directional BTC momentum on 1-DAY Binance USD-M bars, gated by alt-complex breadth. The only traded instrument is BTCUSDT.BINANCE; the eight alts are read-only context. Every bar it computes BTC's 30-day momentum divided by its own 30-day realized volatility and sqrt(30) — a scale-invariant t-statistic returned as the continuous signal — and the FRACTION of the eight alts whose close is above their close 10 bars earlier, measured on the primary bar's clock so all nine legs share one identical window. It goes LONG BTC when mom_z >= +0.2 AND at least 55% of the alt complex is trending up, SHORT when mom_z <= -0.2 AND at most 45% is up, and stands flat whenever breadth is neutral or contradicts BTC. Exit is BTC's own momentum flipping through zero. Position sizing is now VOLATILITY-TARGETED: notional = equity × (1.5% target daily vol / BTC's realized daily vol), hard-capped at 60% of equity, so exposure shrinks automatically in violent regimes and no single trend can dominate the equity path. Leverage 1.0 (no margin used).
Verification Results
Sandbox regressed vs iter 1 (+17%→-2.3%), win_rate collapsed to 17.4%; entry_z 0.2 sits near the exit-at-0 threshold → whipsaw. Loosening added trade count at the cost of signal quality. No L17 red flags → analyst decision.
Verification Results
Recent-regime negative — OOS/holdout sit in the losing window; developer concedes 2025/2026 don't survive best-trade removal. OHLCV-trend class.
Verification Results
Outlier concentration persists (kurtosis 10, avg_win 4.4× avg_loss); the extreme daily-kurtosis is a plausible close-date P&L-attribution reporting artifact, not a live sizing spike.
Backtest Review
On BTC (proven-survivor mechanism); trade count improved 44 -> 94; positive across regimes including bears (2022 +12%, 2023 +30%, 2024 +53%); sharpe_ci_low 0.18 > 0 at face value
Backtest Review
Developer did respond to the trade-count and sizing feedback with looser gates + vol-targeting
Backtest Review
Core concern from iteration 1 unresolved and REGRESSED: return_kurtosis rose 38 -> 44.7; the single +134% day (2021-02-06) persists and is larger; 2021's +135.6% is essentially that one day
Backtest Review
Each positive year is still carried by 1-2 fat-tail trades (2024-01 +39%, 2024-12 +32%, 2024-04 +22%, 2023-02 +21%) — the anti-outlier requirement is still failed
Backtest Review
Sizing still broken: a +134% single-day return is impossible from a 0.6x-equity BTC position, so the vol-target cap isn't constraining the concentration — the headline is inflated by a residual sizing/compounding defect
Backtest Review
Trade count still <100 (94); Sharpe 0.79 / CI-low 0.18 are inflated by outlier days and won't survive deflated-Sharpe
Backtest Review
The sibling BTC vol-regime momentum just collapsed in the same 3-phase run (IS 7.6 -> OOS -2.1, holdout -0.99); this more-outlier-dependent variant would fail identically
Analysis
Do NOT proceed to optimization yet — the sample is too thin and too outlier-dependent to survive the 3-phase run, and the holdout would be empty. Keep the mechanism on BTC (the survivor) and the alt-breadth gate concept, but fix three things first: (1) TRADE COUNT — the breadth gate produces only 44 trades / ~7 per year, which makes Sharpe/PF statistically unmeasured and guarantees a near-empty 15-day holdout. Loosen breadth_threshold (0.75 is very strict) and/or entry_z so the trade count rises toward >100, so the edge is measurable and the OOS/holdout windows actually contain trades. (2) OUTLIER DEPENDENCE — return_kurtosis is 38 and a single day (2021-02-06, +122%) roughly doubled the account; each positive year is carried by 1-2 trades, which directly contradicts the hypothesis's outlier-robustness claim. After loosening the gate, verify (zero out the top ~5 absolute-return days) that no single year and no 1-2 trades carry the result. (3) SIZING — investigate why a risk_frac=0.6 single BTC position produced a >100% equity move in a day; a 0.6-of-equity long cannot gain 120% of equity unless the position is compounding/concentrating or there is a sizing/compounding bug. Consider volatility-scaling or capping per-trade notional so one trend cannot dominate the whole path. Re-run the backtest and confirm >100 trades with a distributed (low-kurtosis) return profile before requesting optimization.
Outcome Summary
BtcMomentumAltBreadthConfirmedLS gated the factory's one surviving mechanism — BTC momentum — with an orthogonal alt-complex breadth filter, trading BTC only when the broad complex confirmed the move. Its +512% headline with PF 1.56 and a positive-across-bears profile looked promising, but the gains were an outlier mirage: kurtosis 44.7, with a single +134% day accounting for essentially all of 2021 and every other strong year leaning on one or two fat-tail trades. A second iteration loosened gates and added vol-targeting, yet the outlier concentration regressed and a sizing defect persisted — a 134% single-day return is impossible from a 0.6x position, exposing a residual compounding bug inflating the result. The analyst abandoned it at backtest review rather than iterate a third time or spend optimization budget, noting its near-identical vol-regime sibling had just collapsed out-of-sample in the same run; it never reached optimization, analysis, or risk review.
Outcome Summary
Adding a breadth confirmation filter and vol-targeted sizing does not fix an outlier-carried edge — when one day supplies an entire year's return and a single-day gain exceeds what the position cap should mathematically allow, the headline reflects a residual sizing/compounding bug plus fat-tail luck, not a durable edge, and re-issuing the same outlier feedback after a failed targeted attempt is not warranted.
Outcome Summary
The analyst abandoned it at backtest review after a second iteration made no progress on the decisive concerns: the anti-outlier requirement was still failed (kurtosis rose 38→44.7, one +134% day dominates), trade count stayed below 100 (94), and a residual sizing/compounding defect remained mathematically evident — a +134% single-day return is impossible from a 0.6x-equity position, so the vol-target cap was not constraining concentration and the headline was inflated. It carries the L10/L41 outlier-mirage signature, and its near-identical vol-regime sibling had just collapsed in the same 3-phase run (IS 7.6 → OOS -2.1).
Outcome Summary
A long-short directional strategy on BTCUSDT.BINANCE USD-M (3 parameters) that traded BTC momentum only when an orthogonal alt-complex breadth filter — the fraction of ~8 liquid alts trending the same way — confirmed the move, standing flat when BTC moved alone, with volatility-targeted sizing added in iteration 2.
Outcome Summary
The backtest (BTCUSDT + 8 alts, 1D, 2409 data days) returned +512% with 94 trades, profit factor 1.56, avg_trade_return_pct 5.20%, and Sharpe 0.79 (CI-low 0.18 above zero), positive across regimes including bears (2022 +12%, 2023 +30%, 2024 +53%). But return kurtosis was 44.7 and a single +134% day (2021-02-06) carried essentially all of 2021's +135.6%, with every other big year carried by 1-2 fat-tail trades.
Backtest and paper results are hypothetical. Trading involves risk of loss.