Strategies
BTC Volatility-Normalized Momentum-Strength Directional, Long-Short (Single-Instrument BTCUSDT.BINANCE Perp — Act ONLY on STRONG Moves: Trade When the Momentum Z-Score (Return ÷ Its Own Volatility) Is Large, Signal-Strength Gate Not Timeframe Agreement, ATR-Trailing, 3-Parameter)
Outcome: Abandoned
BtcVolNormalizedMomentumStrengthLS
Outcome Summary
BtcVolNormalizedMomentumStrengthLS was the session's most promising candidate: it replaced the banned sign-based timeframe confluence with a volatility-normalized momentum z-score, trading only decisive, high-signal-to-noise moves. Its initial backtest cleared every backtest-review threshold that its siblings couldn't — +139.6% return, profit factor 1.511, a thick +1.151% per-trade edge, and, uniquely, a Sharpe (0.857) whose confidence interval stayed clear of zero. Optimization gave a split verdict: the walk-forward was not flagged overfit with a positive OOS Sharpe of 0.854, but the honest recent-data holdout was a net loser (-0.049), PBO hit 0.664, and the deflated Sharpe of 0.0062 put the optimized Sharpe far below what 225 trials would find by luck. The analyst abandoned it, noting the optimizer had actually selected a worse config than the default and that the recent regime (2025 -11.9%, rolling Sharpe -6) had turned decisively against the mechanism — a multiple-testing and regime-decay failure in the momentum class that has never produced a survivor.
Hypothesis
Implementation
Long/short BTCUSDT.BINANCE USD-M perpetual on 4H bars whose selectivity comes from momentum STRENGTH rather than timeframe agreement. Every bar it computes a single-timeframe volatility-normalized momentum z-score, z = ln(close_t / close_(t-L)) / (sigma_4h * sqrt(L)), where sigma is the rolling 30-day standard deviation of 4H log returns, and returns that z UNCLIPPED in its natural units. It goes LONG when z >= entry_z and SHORT when z <= -entry_z, so only moves that are decisive relative to the market's own prevailing noise are traded and weak drift is skipped. No second timeframe, no confluence gate, no confirmation feed -- the magnitude gate is the entire filter. Exits: an ATR trailing stop from the best close since entry (detected intrabar, booked at the close), a momentum-reversal safety net, and a 10-day max hold. Sizing is risk-first and gap-aware (1.5% of equity over a 3-ATR excursion), capped at 0.5x equity notional, leverage 1.0. Three tunable parameters: mom_lookback, entry_z, trail_atr_mult.
Verification Results
Pure-OHLCV BTC momentum — overfit-prone/low-survival family; OOS + holdout are the real test (but recent regime agrees with full history)
~40 entries/yr → small per-window sample; judge robustness on pooled OOS
Backtest Review
- Sharpe
- 0.86
- Total return
- 139.63%
- Max drawdown
- 11.45%
- Trades
- 243
- Win rate
- 44.9%
- Profit factor
- 1.51
avg_trade_return_pct 1.151% — 7.7x the fee floor; a genuinely thick per-trade edge
profit_factor 1.511 (well above the 1.2 line), Sharpe 0.857 with sharpe_ci_low +0.276 (CI does NOT straddle zero), PSR 0.997
Contained max_drawdown 11.4%, calmar 11.2, strongly positive alpha +0.0895, capacity $109M
Positive in 5 of 7 years (only mild -6.2% / -2.2% in 2022/2025); decisive 243-trade genuine long-short with 1.86:1 favorable reward:risk
Selectivity is a vol-normalized strength gate, materially different from the banned sign-based timeframe confluence, and the trades implement it
Returns lean on a few large trend days (kurtosis 23.9, skew 2.06) — normal for a trend-follower but must be confirmed not to be 2-3 days in walk-forward
information_ratio -0.514 vs buy&hold (expected for a long-short, but means it's not beating passive BTC in the bull tape)
Still fundamentally the momentum class; must clear the deflated-Sharpe / OOS / holdout gates over 225 trials to confirm the edge isn't best-of-N
Analysis
Walk-forward is_overfitted=False with positive avg OOS Sharpe 0.854 — the mechanism has some in-window OOS validity
Full-history metrics look strong in-sample (PF 1.57, avg_trade_return_pct 1.21%, win_rate 0.49) and no sensitivity cliffs — but this is exactly the best-of-225 selection the robustness gates discount
avg_trade_return_pct 1.21% clears the fee floor — the failure is overfit/regime-decay, not fee fragility
Holdout FAILED: holdout_sharpe -0.049, ratio -0.058 << 0.70 — the most-recent OOS slice is a net loser
PBO 0.664 > 0.5 — selection more likely than not overfit
deflated_sharpe 0.0062 << 0.95 and optimized Sharpe 0.778 far below expected-max-by-luck 1.522 — edge indistinguishable from best-of-N noise across 225 trials
Optimizer picked a WORSE config than default (return 139.6%→92.5%, Sharpe 0.857→0.778, DD 11.4%→12.6%); recent regime collapsing (2025 -11.9%, rolling Sharpe -6 late 2025)
Momentum class (L38, zero survivors); every sibling in the known-failure set died overfit or in verification
Outcome Summary
Even a strength-gated momentum design with the session's best in-sample profile (Sharpe CI clear of zero, PF 1.51, thick per-trade edge) still failed the honest recent-data holdout and deflated-Sharpe tests — the momentum class has zero survivors, and a regime that has stopped paying the edge can't be fixed by tuning parameters.
Backtest-review passed it to optimization ('optimize'), but the analyst abandoned it there: despite a walk-forward that was not flagged overfit (positive OOS Sharpe 0.854), the decisive failures were a failed holdout (the most-recent OOS slice is a net loser), PBO 0.664 > 0.5, and a deflated Sharpe of 0.0062 — the optimized Sharpe 0.778 sat far below the expected-max-by-luck of 1.522, marking the edge as best-of-225 noise amid clear recent-regime decay (2025 -11.9%).
Trade the BTCUSDT.BINANCE perp long/short on momentum STRENGTH rather than sign-based timeframe confluence — computing a single-timeframe volatility-normalized momentum z-score (return ÷ its own volatility) and acting only when that z-score is large in magnitude, i.e. on decisive high-signal-to-noise moves.
The initial backtest was the strongest of the session: 243 trades (141 long / 102 short), total return +139.6%, profit factor 1.511, Sharpe 0.857 with a confidence interval that did NOT straddle zero (CI [0.276, 1.434]), avg per-trade return +1.151% (~7.7x fees), alpha +0.089, max drawdown 11.4%, positive in 5 of 7 years. But optimization exposed fragility: the holdout failed (Sharpe -0.049, ratio -0.058), PBO 0.664, deflated Sharpe 0.0062, and the optimizer's selected config was actually worse than the default.
Backtest and paper results are hypothetical. Trading involves risk of loss.