Skip to content

View translation

BtcMajorityVoteMomentumConfluenceLS

Hypotheses

BTC Majority-Vote Momentum Confluence (2-of-3 Across 4H + 1D + 1W) — Recover the Trade Count That Sank the High-Sharpe Triple-Screen While Keeping Its Proven Selectivity Edge (BINANCE USD-M, 4H Primary, Long-Short, 3-Parameter)

Hypotheses

A LONG-SHORT, SINGLE-INSTRUMENT BTC momentum model that is a DIRECT, evidence-based fix to the single most informative result of this session. The pending Triple-Screen (unanimous 3-of-3 agreement across 4H/1D/1W) produced the BEST headline the factory has generated outside the promoted survivor — Sharpe 1.04, sharpe_ci_low 0.533, profit factor 2.41, drawdown 8.5%, positive in 6 of 7 years — PROVING the multi-timeframe momentum-selectivity edge is real and robust. It was abandoned for ONE reason only: requiring UNANIMITY thinned the book to 82 trades (~12/yr), below the 100-trade measurability floor. The fix is not another signal or symbol (L62) — it is to loosen the agreement rule from UNANIMOUS (3-of-3) to MAJORITY (2-of-3), which keeps most of the demonstrated selectivity but keeps the strategy in-market far more often, roughly doubling the trade count to clear the 100-trade floor while (per the triple-screen evidence) retaining a Sharpe well above the ≈0.6 single-signal deaths. It uses the PROVEN momentum signal (not the slope/VWAP/Supertrend substitutes that all died at ≈0.6) on the survivor's proven substrate — single-instrument Binance USD-M pure-OHLCV (the only artifact-free, non-fragile one this session found: COIN-M times out, HL is history-capped, Deribit options span ~34 days, multi-instrument collapses OOS / produces artifacts). It is distinct from the promoted 2-of-2 (4H+1D) survivor by adding the weekly screen and a majority rule, and from the abandoned 3-of-3 triple-screen by the majority (not unanimous) vote — the specific change that targets its lone failure. Exactly 3 tunable parameters: the momentum lookback (scaled per timeframe), the chandelier ATR multiple, and the flat-band tolerance.

Hypotheses

Implements the hypothesis as a minimal, surgical change to the abandoned unanimous triple-screen: identical signal (vol-normalized regression slope), identical substrate (single-instrument BTCUSDT.BINANCE 4H pure OHLCV), identical risk plumbing and identical 3-tunable parameter set (trend_lookback scaled per timeframe, trail_atr_mult, flat_band) -- the ONLY change is the agreement rule, from unanimous 3-of-3 to majority 2-of-3. Because each screen votes in {-1,0,+1}, score >= +2 is exactly 'at least two screens agree and none dissents', and the old unanimous rule is the strict subset score == +3, so every trade the high-Sharpe triple-screen took is retained and the added trades are those where the third horizon is merely NEUTRAL rather than opposed -- preserving the selectivity that produced Sharpe 1.04/PF 2.41 while roughly doubling entries to clear the 100-trade measurability floor. Exit is loosened symmetrically (score crossing 0 rather than any single screen flipping) so the wider entry does not turn into churn; the 0 vs +/-2 gap gives explicit hysteresis. Warmup is deliberately ATR-only in min_bars_required() because the daily/weekly series are appended inside calculate_signal() -- a larger gate would double-count warmup and starve the trailing-365d Layer-3 window (the defect fixed in the predecessor's iteration 3). Venue is futures BINANCE because the strategy trades both directions; leverage stays 1.0 and is read from self.config.leverage in the notional cap.

Hypotheses

The majority-vote loosening falsified its own thesis: recovering trade count (82→271) came at the cost of the edge — Sharpe fell from the triple-screen's 1.04 to 0.707 and sharpe_ci_low from 0.533 to 0.101, landing in the ~0.6 single-signal death band the hypothesis claimed it would beat. It is a diluted duplicate of the two-screen (4H+1D) confluence sibling already in optimization at the stronger CI-low 0.34. As an L41/L63 multi-timeframe momentum-confluence construction (0/213 OHLCV survival), base Sharpe 0.707 is the ceiling and the deflation/holdout only lower it; the record is outlier-carried (kurtosis 32.9) and both recent years are negative (2025 -3.7%, 2026 -3.75%), placing the holdout and recent OOS windows in an adverse regime. Every stronger trend/momentum sleeve this session failed the same 3-phase gates (pullback OOS -1.13/PBO 0.66, TSMOM basket OOS -3.34/holdout -0.64, MACD always-in abandoned at 0.70/0.09). Failure pattern: momentum_confluence_dilution (loosening recovered trade count but collapsed CI-low to ~0.10, redundant with stronger two-screen sibling already in optimization).

Implementation

Long/short BTCUSDT USD-M perp on 4H bars. Three vol-normalized OLS log-price trend slopes are computed on calendar-anchored 4H, daily and weekly close series (daily/weekly indices derived from bar.ts_event, never from a bar counter). Each fast/mid screen votes +1/-1 outside a shared flat band and abstains (0) inside it; the weekly screen is a sign-only directional vote. The votes sum to a score in [-3,+3]: score >= +2 goes long, score <= -2 goes short, anything else stays flat -- a 2-of-3 MAJORITY with no dissenting screen. Positions exit when the vote decays to neutral-or-against (LONG: score <= 0) or on a chandelier ATR trailing stop; the gap between the exit level (0) and the re-entry level (+/-2) is a built-in hysteresis band. Sizing is fixed-fractional risk (risk_pct of equity over the initial ATR stop) capped independently by max_notional_pct * leverage, so losses cannot compound position size.

Verification Results

Analyst should confirm the multi-year backtest reproduces the triple-screen-class edge (Sharpe well above the ~0.6 single-signal deaths) and that the majority rule did not merely add losing marginal trades; abandon if the full span does not clear the DSR/fee gates.

Verification Results

Sandbox performance is negative on the trailing-365d slice: total_return -10.14%, Sharpe -0.69, profit_factor 0.66, win_rate 0.27, avg_trade_return_pct -0.32%. This is NOT a code defect (polarity, vote logic, multi-TF construction and risk plumbing are all correct) and none of the code-defect signatures (win_rate 0, |Sharpe|>5, PF 0.0) are present. It is the expected profile of a trend-follower in an unfavourable window: 27% win rate with avg_win 1500 vs avg_loss 824 (ratio 1.8) needs a ratio > ~2.7 to profit, which a single choppy year did not deliver. The hypothesis's Sharpe-1.04 claim rests on a 7-year, 6/7-positive-years record, so a negative recent slice does not falsify it — but it must be scrutinized at BACKTEST_REVIEW on the full multi-year window before optimization budget is spent.

Verification Results

Check long vs short win rate and per-side avg_trade_return_pct across the full backtest; a persistent one-sided loss would indicate the weekly sign-only screen is mis-gating direction.

Verification Results

Directional skew warrants a look: 34 shorts vs 15 longs in the sandbox, both with ~26% win rate. The code polarity is verifiably correct (score>=+2 -> BUY on bullish confluence), so this is a property of the recent window's price path plus the weekly sign-only filter, not a wiring bug. Flagging only so the analyst verifies the long/short balance and per-side edge over the full span rather than a single year.

Verification Results

Treat any full-backtest Sharpe/PF as provisional until the trade count is large enough that a few outlier trades do not dominate.

Verification Results

return_kurtosis 9.08 with largest_win 4869 / largest_loss -1774 shows the (already negative) sandbox result is outlier-driven and low-sample (49 round trips over 363 days). Trade rate ~49/yr extrapolates to well above the 100-trade floor over the full span — which was the stated purpose of loosening 3-of-3 to 2-of-3 — but the recent-slice sign/magnitude is not yet reliably measurable.

Backtest Review

The loosening worked mechanically: 271 trades cleared the 100-trade measurability floor that killed the triple-screen, with clean no-dissent 2-of-3 construction and adequate risk plumbing (DD 13.4%)

Backtest Review

avg_trade_return_pct 1.015% clears the fee floor decisively; profit_factor 1.383 and DD 13.4% are acceptable in isolation

Backtest Review

Self-falsified thesis: loosening 3-of-3→2-of-3 dropped Sharpe from the triple-screen's 1.04 to 0.707 and CI-low from 0.533 to 0.101 — the selectivity edge did NOT survive; it landed in the ~0.6 single-signal death band it was meant to beat

Backtest Review

Redundant with a strictly stronger two-screen confluence sibling already in optimization (224 trades, CI-low 0.34) — this is a diluted duplicate of the same edge

Backtest Review

L41/L63 multi-timeframe momentum-confluence template (0/213 OHLCV survival): base Sharpe 0.707 is the ceiling; deflation/holdout only lower it, and CI-low 0.101 straddles near zero

Backtest Review

Outlier-carried: return_kurtosis 32.9, skew 2.53 — a handful of +15% to +28% single days drive the record

Backtest Review

Adverse recent regime: 2025 -3.7% and 2026 -3.75% both negative, rolling Sharpe negative through much of 2026 — the 15-day holdout and recent OOS windows sit in a losing stretch

Backtest Review

Stronger siblings all failed the same gates this session (pullback OOS -1.13/PBO 0.66, TSMOM basket OOS -3.34/holdout -0.64, MACD always-in abandoned at 0.70/0.09)

Outcome Summary

This strategy was an evidence-based fix to the session's most informative result: the unanimous triple-screen had the best headline outside the promoted survivor (Sharpe 1.04) but was abandoned solely for thinning to 82 trades. Relaxing the rule to a 2-of-3 majority did double the sample to 271 and clear the measurability floor, but it simultaneously collapsed Sharpe to 0.707 and CI-low to 0.101, self-falsifying the thesis that selectivity would survive the loosening. The analyst abandoned it at BACKTEST_REVIEW after one iteration as a diluted, redundant duplicate of a stronger two-screen sibling already in optimization — confirming that within this multi-timeframe momentum-confluence template, trade count and edge strength cannot both be had.

Outcome Summary

Loosening a confluence rule to buy back trade count also dilutes the selectivity that created the edge — the trade-count and edge-strength constraints trade off against each other, so a majority vote cannot simultaneously clear the measurability floor and retain the unanimous version's Sharpe.

Outcome Summary

The analyst abandoned it at the pre-optimization BACKTEST_REVIEW gate: recovering trade count came at the cost of the edge, dropping it into the ~0.6 single-signal death band it was meant to beat (Sharpe 0.707 below the 1.0 threshold, CI-low 0.101 below the 0.3 threshold), and it was a diluted duplicate of a stronger two-screen sibling (CI-low 0.34) already in optimization.

Outcome Summary

A long-short single-instrument BTC USD-M momentum model that fixed the abandoned unanimous triple-screen's lone defect — too few trades — by loosening the agreement rule from unanimous (3-of-3) to a no-dissent majority (2-of-3) across 4H, 1D, and 1W regression-slope screens, aiming to keep the proven selectivity edge while clearing the 100-trade measurability floor.

Outcome Summary

The loosening worked mechanically — 271 trades (up from the triple-screen's 82), profit factor 1.383, max drawdown 13.4%, total return 162.5%, avg trade return 1.015% of notional — but the edge did not survive: Sharpe fell from the triple-screen's 1.04 to 0.707 and sharpe_ci_low from 0.533 to 0.101, with an outlier-carried record (return kurtosis 32.9) and both recent years negative (2025 -3.7%, 2026 -3.75%).
Strategy report

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