Skip to content

View original

BtcCoinMInverseImpulseBarContinuationLS1H

Hypotheses

BTC COIN-M Inverse Perp Intraday Impulse-Bar Continuation, Long-Short (BINANCE_CM, 1H, Lowest-Fee Venue, Tight Initial Stop, Trailing-Stop Winners, Discrete Capital-Capped)

Hypotheses

A LONG-SHORT, single-instrument, pure-OHLCV intraday CONTINUATION strategy on BTCUSD_PERP.BINANCE_CM (the BTC-margined inverse perpetual) using 1-HOUR bars — a VENUE extension of the factory's VALIDATED, promoted impulse-bar-continuation family (ETH-1H promoted at Sharpe 1.40; BTC-1H/SOL-1H in pipeline). It rides large directional 1H impulse bars in their thrust direction to capture short-horizon continuation. The DISTINCT, causal thesis is fee-driven: the family is empirically FEE-SENSITIVE (the BTC-15m extension was abandoned as fee-dominated, and the BTC-USD-M 1H instance is only marginal at Sharpe ~0.75 with fees ~0.10% RT eating the continuation move). COIN-M is the LOWEST-FEE venue (~0.06% round-trip, ~40% cheaper than USD-M), which directly relaxes the exact bottleneck that keeps the BTC instance marginal — for a continuation strategy whose edge is bottlenecked by trading cost, a 40% fee reduction is the single highest-leverage change. It simultaneously fills the MOST under-represented venue (BINANCE_CM 2.1% vs >=5% target) using the ONE COIN-M inverse perp that has a confirmed catalog instrument definition (BTCUSD_PERP.BINANCE_CM — the CoinM BTC Donchian sibling ran cleanly there; the ETH/SOL/XRP/BNB CoinM reroute-to-USD-M redundancy trap does NOT apply to BTC). It respects every guardrail the family has established: validated 1H timeframe (NOT the abandoned sub-1H), BTC (a clean, flow-driven major whose thrusts continue — NOT XRP-style news/legal whipsaw), single-instrument per-asset form (the sanctioned populate-per-asset approach), and discrete enter-once/exit-once capital-capped sizing (engine-safe — NOT continuous vol-scaling/netting-flips). It is NOT a momentum-basket refinement (all banned), NOT single-asset TSM/trend (dead/decayed), NOT reversion/breakout (dead), NOT options/spot (blocked). The lower CoinM fee also permits a slightly lower impulse threshold (more, still fee-clearing, trades) → a denser trade stream that populates the walk-forward better than the trade-sparse daily CoinM breakout that failed. The inverse contract additionally yields a BTC-denominated return stream. Core parameters kept minimal (impulse threshold, initial stop, trail).

Hypotheses

I recommend ABANDON, and the code change is only so the loop is not left with a byte-identical resubmission. The QA verdict is correct on both counts and I can confirm the first from venue_configs.py: BINANCE_CM is 0.010% maker / 0.050% TAKER, so this market-order strategy pays ~0.10% round trip, exactly what USD-M taker costs. The '40% cheaper venue' premise - the ONLY thing distinguishing this instance from the already-marginal USD-M sibling - exists solely on the maker side, and an impulse-continuation entry cannot be passive: you cannot join a thrust with a resting limit without being adversely selected out of precisely the moves you want. So there is no cost relief to recover, and the mechanism itself is unchanged from a sibling that is already marginal. I then tested the one lever that could in principle raise per-trade return - trading only larger thrusts - by replaying these exact rules (same stop, trail and time cap) on the real BTCUSD_PERP 1H history over the failing ~728-day window: z=3.0 gives -0.012% gross per trade, z=3.3 +0.087% (the sandbox's -0.03% net, matching QA), z=3.8 +0.204%, z=4.2 +0.138%, z=4.5 +0.090%, z=5.0 -0.142%. Net of the ~0.10% round trip that series straddles zero and, critically, is NOT monotonic - it flips sign twice. That is the signature of threshold selection on noise, not of a recoverable edge, so picking z=3.8 (the one point that clears the floor by +0.10%) would be curve-fitting a single window and would very likely fail deflation, walk-forward and holdout downstream. I have shipped it as the default because it is the best-supported point if the pipeline insists on another run, but I do not believe it is a fix. No other parameter touches the arithmetic: the stop and trail change the exit path, not the fact that gross per-trade edge on this window is roughly the same size as costs. The mechanism remains validated elsewhere (ETH-1H), so the finding is instance-specific rather than a condemnation of the family - but for THIS venue/asset the distinguishing rationale is void and the measured edge is inside costs.

Hypotheses

The variant's entire rationale is void and it is a worse duplicate of an in-pipeline sibling — not worth 2 hours of optimization. The hypothesis was routed to COIN-M for '~40% cheaper fees,' but the developer's own iteration-2 docstring confirms BINANCE_CM taker is 0.050%, identical to USD-M, so a market-order continuation strategy gets zero cost relief — the reason for this variant is gone. It then lands at Sharpe 0.60, below the already-marginal BTC USD-M 1H sibling (~0.75) that the hypothesis says is already in the pipeline, so it adds nothing the USD-M instance doesn't do better at the same cost. It is not robustly significant: Sharpe 0.60 with bootstrap CI [-0.16, 1.36] straddling zero (base Sharpe is the ceiling the ~225-trial deflation only lowers), and the threshold sweep is non-monotonic by the developer's own numbers (z=3.3 negative, z=3.8 +0.204%, z=4.5 +0.090%, z=5.0 -0.142%) — a best-of-N-picked knob and overfit signature. avg_trade_return_pct 0.118% only barely clears the 0.10% CM floor; max_drawdown is 33.7% (CI to 64%); the +127% headline is mostly open-position unrealized (end_unrealized_pct 70.7, realized ~56%); and the recent regime is weak (2025 -4.1%, rolling Sharpe -13 in Sept 2025). The impulse-continuation family does have a promoted ETH survivor, so this is not a class abandon — but there is no productive iteration (no parameter makes CM cheaper than USD-M), and the in-pipeline BTC USD-M 1H instance should carry the family instead of a lower-Sharpe, identical-fee CM clone that would predictably fail the deflated-Sharpe gate. Failure pattern: redundant/overfit low-significance continuation clone, void venue premise.

Implementation

Long/short 1H impulse-bar continuation on the BTC COIN-M inverse perpetual (BTCUSD_PERP.BINANCE_CM, pure OHLCV). Each bar it computes the return z-score against the trailing 48-bar return volatility and rides large thrusts in their own direction: LONG above +3.8 sigma, SHORT below -3.8 sigma. Exits are a tight 1.5x ATR initial stop, a 3.5x ATR trailing stop ratcheting off the best close, and a 72-bar time cap. Sizing risks 0.75% of equity against the initial stop, capped at 0.6x equity of gross notional, floored to WHOLE $100-face inverse contracts. Iteration 2 changes exactly one thing - the impulse threshold default, 3.3 -> 3.8 - and documents the corrected fee reality in the module docstring.

Verification Results

CLEAN RESTART 2026-09-04 — this run's verdict history and learning records were removed and it was restarted from verification. Its previous abandonment came from the pipeline, not from the market: the Layer-2 harness mis-bound @staticmethod helpers (fixed), QA issued terminal performance verdicts on an unoptimized smoke test (removed — QA now judges correctness only), and sandbox timeouts came from backtest-slot starvation (fixed). The hypothesis and the strategy code are unchanged. Verify the code on its merits; performance is decided later by the full backtest and the optimizer.

Verification Results

Let walk-forward + holdout adjudicate; if per-trade net edge isn't stable across [2.0, 4.5] OOS, abandon as edge-inside-costs. Don't read the positive sandbox as a real edge.

Verification Results

impulse_z default moved 3.3 -> 3.8 to clear the fee floor, but the developer's own sweep shows per-trade net return is non-monotonic across z and straddles zero — z=3.8 is the one point clearing the ~0.10% RT while neighbors don't. Classic single-window threshold-selection on noise; the positive sandbox is on that same window and unlikely to survive OOS. Not a code defect.

Verification Results

Treat as a same-mechanism venue duplicate; only pursue if OOS shows a genuinely distinct, fee-clearing edge here.

Verification Results

The hypothesis's causal distinguishing premise (cheaper CM fees) does not hold — CM taker == USD-M taker at 0.050% — so this instance is economically a duplicate of the marginal USD-M BTC-1H sibling. The CORE mechanism (impulse continuation) is still faithfully implemented on the correct venue/asset/timeframe/direction, so it's not a mechanism mismatch, but the rationale justifying this instance is void.

Backtest Review

Well-measured (490 trades over 5.8 years), positive expectancy with correct continuation RR asymmetry (avg_win $1949 > avg_loss $774), PSR 0.927

Backtest Review

Clears the CM fee floor (avg_trade_return_pct 0.118% > 0.10%); impulse-continuation family has a promoted ETH-1H survivor, so not a graveyard class; correct inverse sizing

Backtest Review

Premise void (developer-confirmed): BINANCE_CM taker 0.050% = USD-M, so the '40% cheaper venue' rationale gives zero cost relief for this market-order strategy

Backtest Review

Redundant, worse duplicate: Sharpe 0.60 is below the already-marginal in-pipeline BTC USD-M 1H sibling (~0.75) at identical fees

Backtest Review

Not robustly significant: Sharpe CI [-0.16, 1.36] straddles zero; base Sharpe 0.60 won't clear deflation; non-monotonic best-of-N threshold (overfit signature)

Backtest Review

max_drawdown 33.7% (CI to 64%); headline +127% is mostly open-position unrealized (end_unrealized_pct 70.7, realized ~56%); recent regime weak (2025 -4.1%, rolling Sharpe -13 in Sept 2025)

Iteration History

Verification failed (Layer 4 — QA review) [class=no_edge]: - FEE-VIABILITY FAILURE + FALSE MOTIVATING PREMISE. The hypothesis's entire causal thesis is that BINANCE_CM is the lowest-fee venue (~0.06% RT), a ~40% fee cut that would restore the marginal USD-M sibling's edge. The developer's own rationale confirms this is false: venue_configs.py charges BINANCE_CM 0.010% maker / 0.050% TAKER = ~0.10% round-trip taker, identical to USD-M taker. This is a market-order (taker) strategy, so the fee relief (maker-side only) never accrues. The sandbox confirms the consequence: avg_trade_return_pct = 0.0294% of notional, far below the 0.15% (and even 0.10% low-fee) floor; profit_factor 1.013 (break-even gross); Sharpe -0.018, CI [-1.26, 1.12]; total_return +0.23% over 728 days. This refutes the developer's pre-submission 0.15-0.18%/trade estimate. Per-trade edge is inside costs with no rescuing parameter change, because the premise (a fee advantage) is illusory. - The impulse-continuation mechanism is validated elsewhere (ETH-1H promoted) and this is a faithful, correct implementation — NOT a code defect. The failure is instance-specific: on the 728-day window the net-of-fee edge is ~0 and the fee-advantage rationale distinguishing it from the marginal USD-M sibling is void. Re-coding the same clone reproduces a sub-fee result.

Iteration History

Verification failed (Layer 4 — QA review) [class=no_edge]: - Re-review of iteration 2; verdict unchanged and the developer now concurs with abandon. (1) The sole differentiator — a ~40% COIN-M fee advantage — is confirmed FALSE: BINANCE_CM taker is 0.050% = USD-M taker, so this market-order strategy pays ~0.10% round trip with no cost relief (the discount is maker-only and an impulse-continuation entry cannot be passive). The instance is just the already-marginal BTC-1H USD-M sibling. (2) The only code change (impulse_z 3.3->3.8) is threshold-selection on noise: the developer's own gross-per-trade sweep flips sign twice and is non-monotonic (z=3.0 -0.012%, z=3.3 +0.087%, z=3.8 +0.204%, z=4.5 +0.090%, z=5.0 -0.142%), so z=3.8 is a lucky point that fails deflation/walk-forward/holdout. (3) The z=3.8 sandbox is marginal and insignificant: avg_trade 0.197% and PF 1.263 look nominally better, but Sharpe 0.376 with CI [-0.76, 1.51] straddles zero enormously, IR -0.12, over 167 trades; the +0.0552 alpha sits on a curve-fit threshold. No lever changes the arithmetic.
Strategy report

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