# Track H — Volume, Range & Volatility-Regime signals (BTC/ETH, certified, >=12h) **Date:** 2026-06-19 **Script:** `scripts/research/trackH_volume_vol.py` (runnable, self-contained) **Question:** does any volume / range / volatility-regime signal ADD to the deployed winner TP01 (vol-targeted trend portfolio, 12h, Sharpe ~1.32) — i.e. net-positive OOS on BOTH BTC & ETH AND uncorrelated (|corr|<~0.3) — OR work as a regime filter that lifts TP01's Sharpe / cuts its DD? ## Method (honest) - Same causal per-bar engine as `TrendPortfolio.net_returns`: build a continuous TARGET decided with data `<= close[i]`, HOLD it during bar `i+1` (`pos_held[t]=target[t-1]`), gross = pos×ret, fee on `|Δpos|`. Identical in spirit to `harness.backtest_signals` (decide≤close[i], fill at close[i]); two discrete signals cross-checked through `backtest_signals` directly. - All features (volume z-score, OBV, ranges, realized vol) use prior/rolling windows shifted so bar `i` sees only `<= i`. 12h/1d resampled from certified 1h via `resample_tf` (label='left'), consumed index-based with the +1 hold → no open-label leak. - Fee 0.10% RT baseline + sweep 0.00–0.40% RT. OOS 65/35 + per-year. Grid on BOTH assets. Turnover and correlation-to-TP01 reported for every signal. - **>=12h only** (12h + 1d). Sub-12h excluded per the standing lesson (fees + HF-noise overfit + the 4h open-label look-ahead trap). ## Signals tested VT-long (volatility-managed long), VolBreakout (volume-z-confirmed Donchian), OBV-trend, VW-mom (volume-weighted momentum), RangeExpand (range-expansion breakout), NR7-break (narrowest-range breakout), DeclVolRev (declining-volume fade/reversal). Plus regime overlays on TP01: keep-low-vol, keep-high-vol, vol-managed ×1.5, OBV-up confirmation. ## Results (12h headline, fee 0.10% RT) | signal | corr→TP01 | OOS Sharpe BTC/ETH | note | |---|---|---|---| | VT-long | 0.66 / 0.69 | 0.80 / 0.14 | trend-in-disguise; weak OOS ETH | | VolBreakout | 0.69 / 0.71 | 0.54 / 0.49 | profitable but correlated | | OBV-trend | 0.61 / 0.63 | 0.96 / 0.68 | profitable but correlated; turnover ~75/yr | | VW-mom | 0.64 / 0.67 | 0.98 / 0.74 | basically TSMOM; correlated | | RangeExpand | 0.48 / 0.49 | 0.37 / 1.04 | lower corr but BTC weak; ETH negative on 1d | | NR7-break | 0.48 / 0.49 | 0.79 / 0.02 | fails OOS on ETH | | DeclVolRev | -0.15 / -0.11 | -1.15 / -0.44 | **negative even at zero fee** | Grid robustness (12h, % cells positive full+OOS on both assets): VW-mom 100%, VT-long 100%, VolBreakout 96%, RangeExpand 96%, OBV-trend 75% — but the robust ones are precisely the ones that are highly correlated to TP01. Fee sweep: trend-family signals survive to 0.40% RT; DeclVolRev gets worse with fees (it trades constantly). ## Regime filters on TP01 (12h, 50/50 portfolio) | variant | full Sharpe | OOS Sharpe | maxDD | CAGR | turn/y | |---|---|---|---|---|---| | **TP01 baseline** | **1.32** | 0.90 | 13.3% | 16.2% | 11.5 | | × keep LOW-vol | 0.94 | 1.11 | 14.1% | 7.7% | 9.5 | | × keep HIGH-vol | 0.98 | 0.18 | 9.9% | 7.9% | 4.9 | | × vol-managed ×1.5 | 1.33 | 0.96 | 17.9% | 18.1% | 15.4 | | × OBV-up only | 1.49 | 1.04 | 10.1% | 14.4% | 18.2 | OBV-up filter across EMA span: full Sharpe 1.49–1.52 (span 15–30), DD 7–10%, but OOS gain is marginal (0.90→1.04 at span 30) and fades for span≥45 (OOS 0.69–0.73). It cuts ~2pp CAGR and raises turnover ~60%. ## Verdict (honest) - **No uncorrelated additive edge exists.** Every *profitable* volume/range/vol signal is trend in disguise (corr 0.61–0.75 to TP01) → cannot raise the 50/50 portfolio Sharpe. The genuinely lower-corr signals (RangeExpand, NR7 ~0.48) fail OOS on at least one asset. - **Mean-reversion / declining-volume fade is dead** — negative net AND at zero fee on both assets. Reconfirms the v2.0.0 contamination lesson; MR is not a real edge on certified data. - **Vol-regime gating hurts** (keep-low / keep-high both drop Sharpe to ~0.95). The vol-managed overlay is Sharpe-neutral but DD-worse. - **The only non-harmful overlay is OBV-up trend-confirmation:** it cuts DD (13.3%→10.1%) and nudges full Sharpe to ~1.49, but it is trend double-confirmation (de-risking), not new alpha; it costs CAGR, raises turnover, and the OOS Sharpe gain is within noise and span-sensitive. It is worth keeping in mind as a **defensive DD overlay**, not as a Sharpe improver. - **Bottom line:** the ~1.3 portfolio-Sharpe ceiling on BTC/ETH-only **holds**. TP01 stays the deployable winner. Volume/range/vol add nothing uncorrelated.