Skip to content

View original

BtcSpotVolatilityCompressionAccumulationLong

Hypotheses

BTC Spot Volatility Compression Multi-Week Accumulation (Range-Bound Low-Volume Long-Only, BINANCE_SPOT Daily Bars, Macro Horizon)

Hypotheses

Long-only macro-horizon accumulation strategy on BTCUSDT.BINANCE_SPOT that EXPLICITLY AVOIDS the now-saturated cross-venue basis arbitrage mechanism (analyst flagged: 'the portfolio already has the cross-venue basis class adequately represented... Adding a 4th instance compounds the same risk without adding breadth'). Instead, this hypothesis targets THREE different under-represented buckets: BINANCE_SPOT (8.0% vs 15% target), MACRO 1w+ horizon (0.5% — by FAR the most under-represented horizon bucket, only 6 experiments in the entire portfolio), and a fundamentally new mechanism class — volatility-compression accumulation. Core thesis from market microstructure / Wyckoff accumulation framework: when BTC enters a multi-week LOW-VOLATILITY + LOW-VOLUME consolidation, it signals patient accumulation by long-horizon holders quietly absorbing supply during retail apathy. These 'boredom phases' (compression) statistically precede expansion phases (Bollinger 1992; 'volatility breeds volatility' GARCH literature). The strategy enters on the COMPRESSION signature and holds through the eventual expansion phase. Distinct from BtcSpotDrawdownAccumulationLong (already in pipeline) — that strategy triggers on DRAWDOWN magnitude; this one triggers on RANGE CONTRACTION + VOLUME DRY-UP, which fires in different market regimes (it can trigger near highs or in mid-range, not just after sell-offs). Spot venue means no shorting required (CASH account compatible), no funding rate complications, no cross-venue execution realism issues (the failure mode that just sank 4 cross-venue basis strategies). Long-only is over-represented overall, but the SPECIFIC combination of BINANCE_SPOT + macro horizon + compression-mechanism is novel. Three parameters only (range_pct_threshold, volume_ratio_threshold, max_hold_weeks) — minimal overfitting surface after the recurring 'progressive optimization Sharpe explosion' failures.

Hypotheses

Backtest-review iteration: the mechanism verified and backtested but produced only 19 trades in ~9 years, so the headline Sharpe 3.82 is a small-sample artifact (CI [-2.95, 10.85] straddles zero, edge concentrated in 2020). The analyst said macro horizon is legitimately sparse but the entry is over-choked, and gave explicit loosening directions, which I applied verbatim and minimally: range_pct_threshold 0.15→0.22 and volume_ratio_threshold 0.80→0.95 (both gates fire in more regimes), and max_hold_weeks 12→6 so a single open position no longer blocks re-entry for ~84 bars (now ~42). I also added the requested funnel instrumentation — counts of bars passing the compression gate, the volume gate, both, and both-but-blocked-by-an-open-position — logged on stop, so the next review can see exactly which constraint starves entries and whether the larger sample spreads across regimes. Nothing that already passed was disturbed: the continuous bar-varying proxy still keeps Layer 2 non-frozen (verified through the actual proxy: 435–436 unique signals across all six scenarios, no exceptions), imports stay clean, and the compression mechanism, exits, spot long-only sizing, and leverage 1.0 are unchanged. If the larger sample still shows the edge concentrated in 2020 and negative elsewhere, the analyst's guidance is to abandon at that point — but the strategy must first trade enough to make that judgment statistically valid.

Hypotheses

Adequate sample now (75 trades after the iteration-2 densification), but the edge is marginal, beta-driven, and structurally flawed. Profit_factor is only 1.29 and, despite a 2.29 point Sharpe, sharpe_ci_low is -1.31 (CI straddles 0) -- the Sharpe is not distinguishable from zero and will fail deflated-Sharpe after 225-trial selection. Alpha is ~0 (+0.0034) with benchmark_correlation 0.56 and annualized_volatility 124.8%, so the returns are mostly long-BTC beta in compression windows at 50% equity, not excess edge. The max_drawdown of 44.3% (CI to 74%) comes from a structural flaw: 'compression precedes expansion' is DIRECTION-BLIND, but the strategy is long-only, so it eats every down-expansion (2018 -23%, 2022 -39%) -- the 'accumulation' framing provides no downside control. This is not fixable within the current setup: the obvious remedy (a directional/200-SMA trend filter so the expansion is more likely upward) would re-sparsify the strategy and undo the densification that was just needed to reach an adequate sample -- the mechanism is caught between sparse-with-a-filter and dense-but-direction-blind-with-44%-DD, a bind parameter optimization cannot resolve. Not iterate: the density iterate is already spent and the fix is structurally incompatible with keeping an adequate sample. FAILURE PATTERN: long-only volatility-compression accumulation on a single asset is direction-blind -- compression precedes expansion in EITHER direction, so a long-only book captures up-expansions but eats down-expansions (44% drawdown, -39% in 2022), leaving a PF ~1.3 / ~0-alpha / 0-straddling-Sharpe edge that is mostly beta and won't deflate; adding the directional filter that would fix it re-sparsifies the strategy below the validation floor.

Implementation

Long-only BTCUSDT.BINANCE_SPOT daily volatility-compression accumulation (Wyckoff 'boredom phase' → expansion). It enters long when BOTH a range-contraction gate (20-bar high-low range / price <= 0.22) and a volume dry-up gate (20-bar avg volume <= 0.95x the 60-bar avg) fire, then holds through the expansion with a 30% take-profit, a 12% stop, or a 6-week (42-bar) macro time stop. Spot CASH account (no shorting, no funding), 50% of equity per trade, leverage 1.0. A funnel counter (compression / volume / both / both-blocked-by-position) is logged on stop.

Backtest Review

Density iterate worked: 75 trades over 8.8 years is now an adequate sample; clean long-only spot routing, low kurtosis 2.87 (broad-based, not outlier-driven), positive in 6 of 9 years

Backtest Review

Novel bucket coverage (BINANCE_SPOT + macro horizon + compression mechanism)

Backtest Review

Marginal, statistically-indistinguishable edge: profit_factor 1.29, sharpe_ci_low -1.31 (CI straddles 0 despite the 2.29 point Sharpe) -> won't survive deflation

Backtest Review

~Zero alpha (+0.0034), benchmark_correlation 0.56, annualized_volatility 124.8% -> mostly long-BTC beta at 50% equity, not excess edge

Backtest Review

max_drawdown 44.3% (CI to 74%) from a structural flaw: compression is direction-blind but the book is long-only, so it eats down-expansions (2018 -23%, 2022 -39%)

Backtest Review

Density iterate already spent (iteration 2); the obvious fix (a directional/trend filter) would re-sparsify and undo the densification

Backtest Review

> 0 (meaningful)

Backtest Review

~62 WF floor

Backtest Review

marginal

Analysis

Do NOT optimize — only 19 trades in ~9 years cannot support the 3-phase optimization (a 3-window walk-forward would have ~6 trades each), and the headline Sharpe 3.82 is a small-sample artifact (CI [-2.95, 10.85] straddles zero, annualized vol 130%, edge dominated by 2020 +52.5% with 2024/2025 negative). Macro horizon is legitimately sparse, but the entry is over-choked. Fixes to reach a meaningful sample (target 40+ trades): (1) loosen range_pct_threshold to ~0.20-0.25 and volume_ratio_threshold to ~0.9-1.0; (2) reduce max_hold_weeks so a single position doesn't block re-entry for ~84 bars; (3) instrument the funnel — count bars passing the compression gate, the volume gate, both, and those blocked by an open position — to find which constraint starves entries. Re-run and confirm dozens of trades spread across multiple regimes with a Sharpe CI clearing zero. If the larger sample still shows the edge concentrated in 2020 and negative elsewhere, abandon at that point.

Outcome Summary

BtcSpotVolatilityCompressionAccumulationLong deliberately steered away from the saturated cross-venue basis class to fill three genuinely under-represented buckets — BINANCE_SPOT, the macro 1w+ horizon, and a new compression mechanism — entering BTC spot on multi-week range contraction plus volume dry-up and holding through the expansion. The iteration-2 loosening successfully lifted the sample to 75 trades and the headline looked strong (+91.6%, Sharpe 2.29), but the substance was thin: the confidence interval straddled zero, alpha was ~0 with 0.56 benchmark correlation, and a 44% drawdown exposed the core flaw — a direction-blind compression signal on a long-only book absorbs every downward expansion. The reviewer abandoned it pre-optimization as caught in an unresolvable bind: sparse if filtered for direction, dense but direction-blind with a 44% drawdown if not. The lesson logged: filling novel quota buckets does not substitute for a directionally-controlled edge, and 'accumulation' framing provides no downside protection when expansion can break either way.

Outcome Summary

Long-only volatility-compression accumulation on a single asset is direction-blind — compression precedes expansion in either direction, so the book captures up-expansions but eats down-expansions for a 44% drawdown, leaving a ~1.3-PF, ~0-alpha, 0-straddling-Sharpe edge that is mostly beta and won't deflate; adding the directional filter that would fix it re-sparsifies below the walk-forward floor, so novel-bucket coverage cannot substitute for a directionally-controlled edge.

Outcome Summary

The analyst abandoned it at the backtest-review gate because the edge is statistically indistinguishable from zero (would fail deflated-Sharpe), mostly long-BTC beta rather than alpha, and structurally flawed: compression is direction-blind but the book is long-only, so it eats every down-expansion (2018 -23%, 2022 -39%) — and the fix (a directional trend filter) would re-sparsify the strategy below the validation floor, undoing the densification just needed to reach an adequate sample.

Outcome Summary

A long-only, OHLCV-only macro-horizon accumulation strategy on BTCUSDT.BINANCE_SPOT that enters on a Wyckoff-style volatility-compression signature — multi-week range contraction (range <= threshold) AND volume dry-up (short/long volume ratio <= threshold) — and holds through the eventual expansion via a take-profit, stop, or multi-week time stop, deliberately targeting three under-represented buckets (spot venue, macro 1w+ horizon, compression mechanism) with only 3 core parameters.

Outcome Summary

After an iteration-2 densification it reached an adequate 75 trades over 8.8 years with a strong-looking headline — +91.6% total return, point Sharpe 2.29, profit factor 1.29, positive in 6 of 9 years, low kurtosis 2.87 — but the edge was marginal and beta-driven: sharpe_ci_low -1.31 (CI straddles 0), alpha ~+0.0034, benchmark_correlation 0.56, annualized volatility 124.8%, and a 44.3% max drawdown (CI to 74%).
Strategy report

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