XrpVolumeConfirmedMomentumLS
Hypotheses
XRP Volume-Confirmed Momentum, Long-Short (Single-Instrument XRPUSDT.BINANCE USD-M, 4H Bars — Take Directional Momentum ONLY When a Concurrent Volume Surge Confirms Real Participation, Flat Otherwise, ATR-Trailing Exit, 3-Parameter)
Hypotheses
A LONG-SHORT, single-instrument, pure-OHLCV momentum strategy on XRPUSDT.BINANCE (USD-M perpetual) on 4H bars. This is a DELIBERATE transplant of the factory's ONLY repeatedly-surviving edge family — the volume-confirmed 4H momentum mechanism that reached paper stage as EthVolumeConfirmedMomentumLS (Sharpe 1.05) and the sibling confluence trend-followers on ADA/BTC (Sharpe 1.6/2.0) — onto a FRESH carrier instrument that the corpus has barely touched. The core insight the survivors share: raw momentum on a single perp is fee-fragile noise (the overfit/fee_edge graveyard), but momentum GATED by a genuine volume-participation surge selects the sub-population of moves that are order-flow-driven directional impulses rather than thin drift, and those impulses carry far enough to clear the ~0.10% round-trip cost. XRP is chosen deliberately: it is a top-5-liquidity perp with clean multi-year 4H history, but its price process is idiosyncratically EVENT-DRIVEN (regulatory/legal headlines, listing/de-listing episodes, payment-rail news) which produces episodic, high-volume, multi-bar directional expansions that are exactly what a volume-gated momentum filter is built to capture — and its behaviour is uncorrelated with the BTC/ETH price series that 44%+ of this factory keeps re-mining. Only THREE parameters (momentum lookback, volume-surge multiple, ATR trailing multiple) to resist the overfit deaths that killed the DOT confluence twin and the multi-condition baskets.
Hypotheses
This is the deliberate transplant the hypothesis asks for: the mechanism is a faithful port of EthVolumeConfirmedMomentumLS -- the volume-confirmed 4H momentum construction that reached paper stage -- moved onto XRPUSDT.BINANCE, with only the instrument-specific constants changed (size_precision 1, verified against the catalog's parquet metadata for XRPUSDT which reports price_precision 4 / size_precision 1). Both hypothesis ingredients are implemented literally: momentum in ATR units (scale-free, so one threshold means the same thing across XRP's very wide vol regimes) and participation as volume over the MEDIAN of the prior 60 bars -- the median specifically because XRP's event-driven volume distribution is heavily right-skewed and a mean baseline inflated by one prior headline spike would hide the next genuine surge, which is the exact sub-population the hypothesis wants to select. calculate_signal returns the raw continuous decision variable in its natural ATR units every bar (never gated behind the entry condition), and should_enter thresholds it; during warmup it returns a bounded intra-bar-position score so the signal still varies rather than going flat. The three-parameter surface is honored exactly, and the code's clamps are declared verbatim in _param_bounds so the optimizer cannot test a value the code silently rewrites. The locked constants (entry threshold, exit hysteresis, vol window, ATR period, risk_pct) are intentionally left out of the config parameters dict and read from code-level defaults: risk_pct in particular is a sizing policy, and leaving it optimizable is how the prior confluence attempts died -- it lets an optimizer buy Sharpe with notional instead of with edge. Venue is BINANCE USD-M futures rather than spot because the strategy takes SHORT volume-confirmed momentum as well as long, which a CASH account cannot do; leverage is left at 1.0 because the notional cap means no sizing path consumes margin (declaring leverage>1 unused would be rejected). Performance is bounded per bar (index-addressed buffer, one 60-element sort, incremental trailing extreme, memoised previous-bar eligibility), so the 300s sandbox wall clock is not at risk. I replayed the entry logic offline over the full 14,602-bar XRP 4H history (2020-01 to 2026-09) to de-risk the two most common failure modes: the surge condition fires on 14.8% of bars and the full compound entry gate is eligible on 12.2%, producing 476 round trips (71/yr, 236 long / 240 short) with 472 of them inside the sandbox window -- so a zero-trade abandonment is not a live risk -- at an average net per-trade return of +0.506% after deducting the 0.10% round-trip taker cost, comfortably above the 0.15% USD-M floor, with PF 1.23 and a 36.6% win rate. That win rate is the normal profile of a cut-losses-early trend-follower and is below the 0.45 soft promotion floor; I have not distorted the mechanism to chase it, since the hypothesis pre-registers this exact construction and the soft floor is waivable on the evidence.
Hypotheses
Overfit / no-generalization death (NOT fee-edge — per-trade return 1.20% clears the floor). Three unwaivable HARD gates fail: walk-forward is_overfitted=TRUE (avg IS Sharpe 1.037 -> avg OOS -0.413, windows +0.60/-2.08/+0.24), out-of-sample Sharpe -0.413 <= 0, and PBO 0.636 > 0.5. Robustness confirms the selected Sharpe is best-of-N noise: deflated_sharpe 0.006 << 0.95, is_significant=false, Sharpe CI [-0.078, 1.376] straddles zero, and it does not survive programme-level FDR (keeps 4 of 244, candidate_p 0.994). The positive holdout (Sharpe 1.33) is a last-window coincidence that conflicts with the negative WF-OOS and cannot rescue three failed hard gates. Per the overfit-vs-dead-premise rule, high-IS/OOS-collapse is ABANDON not revise: the volume-confirmed momentum mechanism is proven on the ETH sibling (promoted, Sharpe 1.05), but every XRP carrier of this family has already died (XRP dual-signal momentum-confluence overfit, XRP net-directional TSM, XRP impulse continuation fee_edge, XRP two-bar continuation fee_edge). Re-pointing the same recipe at XRP simply overfits again — the OOS is negative and the sensitivity surface is flat ~0.4-0.5 everywhere with no untapped robust parameter region to tune toward, so iteration (attempt 1 of 2) has nowhere better to go. This is the single-name momentum clone trap: below the ADA/ETH winner tier, the base backtest is the ceiling and deflation only lowers it. Failure pattern: overfit / no-generalization.
Implementation
Long/short single-instrument momentum on the XRPUSDT.BINANCE USD-M perpetual, 4H bars, pure OHLCV. Every bar it computes a continuous participation-weighted momentum signal: the price change over mom_lookback bars expressed in ATR units, multiplied by min(1, participation) where participation is the bar's volume divided by the MEDIAN volume of the prior 60 bars and then by vol_surge_mult. It goes long when that signal crosses UP through +1.0 ATR with the surge genuinely met (participation >= 1), short on the symmetric downward cross, and is FLAT otherwise -- momentum without confirming participation is never traded, no matter how large the move. Positions exit on either (a) momentum reaching 0.25 ATR against the position (0.25 of hysteresis so an intra-leg pause does not truncate the winner and bill a second round trip), or (b) an ATR trailing stop trail_atr_mult ATRs below/above the best close since entry, seeded at the entry price. Sizing is risk-first: equity * 2% / (trail_atr_mult * ATR), so size shrinks as volatility expands, capped at 1x equity gross notional (hence leverage 1.0, no margin required) and floored at XRP's 0.1 step and a $20 minimum notional. Exactly three parameters are tunable (mom_lookback, vol_surge_mult, trail_atr_mult); the entry threshold, exit hysteresis, volume window, ATR period and risk fraction are locked.
Verification Results
Confirm the base template actually consults this method for warmup gating (it does in FactoryStrategy); no change required.
Verification Results
min_bars_required(self) overrides a framework method (base_shadow static warning). This appears deliberate and correct — it returns max(vol_window+2, atr_period+2, mom_lookback+2) so warmup gating is sufficient for all indicators, and the sandbox produced 442 trades over the window confirming warmup completes. Flagged only for awareness; not a defect.
Verification Results
Sandbox regime attribution shows the strategy LOSES in the calm vol tercile (-8.07%, Sharpe 0.004) and only earns in the stressed tercile (+88.7%, Sharpe 1.01) — the edge is entirely concentrated in high-vol/event expansions, which is on-thesis for an event-driven volume gate but means the book bleeds in quiet regulatory lulls. Sandbox Sharpe is only 0.47 (CI [-0.28, 1.21] straddling zero) and win rate 36% is below the 0.45 soft floor (normal for a cut-losses trend-follower, but noted). Largest_win ($49.9k) is ~7x the largest loss and avg_win/avg_loss is 2.3x, so returns lean on a few big legs — check tail-dependence and per-regime robustness at full-history backtest. This is unoptimized smoke-test context for the analyst, not a block.
Backtest Review
Reliable, large sample: 448 trades over 2434 days (metrics_reliable=true), balanced 225 long / 223 short as a genuine long-short book.
Backtest Review
Per-trade edge clears the venue fee floor with wide margin: avg_trade_return_pct 0.724% vs the 0.15% Binance USD-M floor; commission only 4.27% of gross, so this is NOT a fee-edge case.
Backtest Review
Profit_factor 1.254 (> 1.05), max_drawdown 26.4% (< 60%), positive Sharpe 0.47 — numerically viable on every review-guard threshold.
Backtest Review
Trades faithfully implement the hypothesis: entry_signaled 448 = entries_submitted 448, ATR-trailing exits, ~2d holding, direction balanced. No mechanism mismatch and no accounting artifact (end_unrealized_pct 18.99%, not headline-dominating).
Backtest Review
Regime attribution is on-thesis for an event-driven volume gate: edge concentrates in the stressed vol tercile (+69%, Sharpe 0.86) with regime_spread 0.68; a fresh, BTC/ETH-uncorrelated carrier (benchmark_correlation 0.47, beta 0.11, positive alpha 0.07) of the factory's one repeatedly-surviving edge family (ETH volume-confirmed momentum reached paper).
Backtest Review
Base Sharpe 0.473 is low and its CI [-0.23, 1.23] straddles zero; win rate 36% is below the 0.45 soft floor (expected for a cut-losses trend-follower but noted).
Backtest Review
Returns lean on a few large event legs (2024-11 +39%, 2026-08 +33%, 2020-11 +20% monthly); largest_win ~7x largest_loss, return_kurtosis 12.3 — tail-dependent, must be checked for per-regime robustness in the 3-phase run.
Backtest Review
Bleeds in the calm vol tercile (+2.9%, Sharpe 0.18) — the book gives back in quiet regulatory lulls, matching QA's edge concern.
Backtest Review
Class prior: single-name 4H momentum clones below the Sharpe>=1.5 / PF>=2.0 survivor tier have frequently died overfit in deflation; this variant sits below that tier, so overfitting risk in optimization is real.
Analysis
Per-trade economics clear the venue fee floor with wide margin (avg_trade_return_pct 1.20% vs 0.15% Binance USD-M floor; commission only 3.49% of gross) — this is NOT a fee_edge death.
Analysis
Reliable, large sample: 415 optimized trades over 2434 days, balanced long/short book, sensitivity clean with 0 cliff parameters.
Analysis
Holdout window was positive (Sharpe 1.33 on 61 trades).
Analysis
Walk-forward is_overfitted=TRUE: avg IS Sharpe 1.037 collapses to avg OOS -0.413, with one window at -2.077 — the edge does not generalize out-of-sample (HARD gate, unwaivable).
Analysis
Out-of-sample Sharpe -0.413 <= 0 (HARD gate).
Analysis
PBO 0.636 > 0.5 (HARD gate) — the parameter selection is more likely than not overfitting.
Analysis
Robustness confirms best-of-N noise: deflated_sharpe 0.006 << 0.95, is_significant=false, Sharpe CI [-0.078, 1.376] straddles zero, and does not survive programme-level FDR (keeps 4 of 244, candidate_p 0.994).
Analysis
Optimized Sharpe 0.65 is far below the 1.5 promotion floor; win_rate 0.328 < 0.45; max_drawdown 27.1% > 10% floor. Sensitivity surface is flat ~0.4-0.5 everywhere with no robust region above the noise floor to tune toward.
Analysis
oos_vault flagged UNDERPOWERED (~87 expected trades vs 100 needed) — the mechanism is too slow to validate on XRP's available history.
Analysis
Benjamini-Hochberg at q=0.10 over 244 programme candidates keeps 4. A candidate that does not survive here is not distinguishable from the programme's own noise, however good its individual statistics look.
Outcome Summary
XrpVolumeConfirmedMomentumLS-dde682d62d
Outcome Summary
XrpVolumeConfirmedMomentumLS deliberately transplanted the factory's only repeatedly-surviving edge — volume-gated 4H momentum — from ETH onto the event-driven, BTC/ETH-uncorrelated XRP perpetual, using just three parameters to resist overfitting. The base backtest was numerically viable (Sharpe 0.47, 448 trades, per-trade return 0.72% clearing the fee floor) and passed backtest-review with an 'optimize' verdict, and even the holdout window looked positive at Sharpe 1.33. But the 3-phase optimization exposed the strategy as best-of-N noise: walk-forward in-sample Sharpe 1.037 collapsed to out-of-sample -0.413, PBO reached 0.636, and deflated Sharpe fell to 0.006. The analyst abandoned it on three failed hard gates after one iteration, concluding this was the single-name momentum-clone trap — the mechanism works on ETH but every XRP carrier of it has overfit, and the flat sensitivity surface left iteration nowhere better to go.
Outcome Summary
A mechanism proven on one carrier (ETH volume-confirmed momentum reached paper at Sharpe 1.05) does not transfer to XRP — every XRP carrier of this single-name momentum family has overfit and collapsed OOS, so re-pointing the same recipe with a flat ~0.4-0.5 sensitivity surface has no robust region to tune toward.
Outcome Summary
The analyst abandoned it at the post-optimization ANALYZING stage on three unwaivable HARD gates: walk-forward is_overfitted=TRUE, out-of-sample Sharpe -0.413 <= 0, and PBO 0.636 > 0.5, with deflated_sharpe 0.006 and a Sharpe CI straddling zero confirming the result was best-of-N noise (it also failed programme-level FDR).
Outcome Summary
Transplant the factory's one repeatedly-surviving edge — volume-confirmed 4H momentum — onto XRPUSDT.BINANCE USD-M perpetuals as a 3-parameter long-short book, taking directional momentum only when a concurrent volume surge confirms real participation and staying flat otherwise.
Outcome Summary
The base backtest ran 448 balanced long/short trades over 2434 days with Sharpe 0.47, total return 127.4%, profit factor 1.25 and avg per-trade return 0.72% (well above the 0.15% fee floor); optimization lifted it to Sharpe 0.65 / 227.7% return over 415 trades but walk-forward showed avg in-sample Sharpe 1.037 collapsing to out-of-sample -0.413.
Backtest and paper results are hypothetical. Trading involves risk of loss.