Skip to content

View translation

BchIdiosyncraticResidualMomentumLSDaily

Hypotheses

BCH Idiosyncratic (BTC-Residual) Intermediate Momentum, Long-Short (BCHUSDT.BINANCE USD-M, DAILY Bars, Trade the Sign of the Market-Neutralized Trend After Removing Rolling BTC Beta, Vol-Scaled Legs + Deadband + Chandelier Stop, 3-Parameter)

Hypotheses

A LONG-SHORT single-primary-instrument directional strategy on BCHUSDT.BINANCE whose signal is idiosyncratic (BTC-residual) momentum, not price momentum: roll a 60-session OLS of BCH log-returns on BTC log-returns, form the residual, and trade the sign of the standardized 40-day cumulative residual. Distinct from every surviving/dead corpus family; BCH is un-mined and BTC is signal-only (never traded).

Hypotheses

Implements the hypothesis literally: rolling beta_lookback=60-session OLS beta of BCH on BTC, residual e_t = r_bch - beta_t*r_btc computed point-in-time (each day's beta uses only the window ending that day), cumulative residual over resid_lookback=40 days standardized by the residual's own dispersion times sqrt(40), and the sign of that z-score traded long/short with a deadband entry, vol-scaled legs and a Chandelier stop. BTC appears only in extra_instruments/extra_bar_types and no order path ever references it. The two legs are kept timestamp-aligned by SyncedBuffer (a sample is committed only when BCH and BTC report the same bar timestamp), so the return series cannot drift out of index alignment; rolling beta uses an O(n) cumulative-sum formulation so per-bar cost is flat. Three headline tunables (resid_lookback, entry_z, chandelier_atr_mult); every clamp in the code is mirrored in _param_bounds. Venue is BINANCE USD-M because the strategy is genuinely short as well as long; leverage stays at 1.0 and gross is capped at 1x equity, so sizing cannot compound into a blowup.

Hypotheses

Negative expectancy on a decisive 39-trade / 6.7-year sample: profit_factor 0.384 (<<1, gross-negative before costs — commission only 2.02% of gross, so this is a losing signal not fee-fragility), avg_trade_return_pct -5.73% (below ZERO, far under the 0.15% Binance USD-M floor), expectancy -$1805/trade, total_return -69.5%, Sharpe -0.457 with CI [-1.183, 0.310] straddling zero, max drawdown 71.2%. Optimization cannot lift an edge that is gross-negative before costs. The code faithfully implements the BTC-residual momentum hypothesis (39 signaled = 39 submitted, balanced long/short, point-in-time rolling beta, chandelier + deadband exits) so this is a fair test, and the premise is falsified: the sign-of-standardized-residual mapping is the wrong sign in the regimes that matter — the book LOSES in the normal (-19.9%) and stressed (-67.5%, Sharpe -1.15) vol terciles and in 5 of 7 calendar years, with the only positive prints being single-day outliers. QA's regime-inversion concern is borne out and worse on full history. This is a single-name OHLCV directional idea (L93 class) with no robust edge; tuning 3 parameters cannot rescue a PF-0.384 signal negative in every regime that isn't calm. abandon_class=negative_expectancy (premise falsified on BCH).

Implementation

Long/short daily strategy on BCHUSDT.BINANCE USD-M perp driven by idiosyncratic (BTC-residual) intermediate momentum. Each day it runs a rolling 60-session OLS of BCH log-returns on BTC log-returns (BTC is signal-only, never traded), forms the market-neutral residual, and returns the standardized 40-day cumulative residual as a continuous z-score. Flat + z > +entry_z goes long, z < -entry_z goes short (deadband). Exits on residual sign flip (deadband decay) or a Chandelier ATR trailing stop from the extreme close since entry; after a stop, the same direction is blocked until the residual leaves the deadband or flips. Position notional is vol-scaled to a 35% annualized target using BCH's own realized vol, capped at 1x equity (leverage 1.0).

Verification Results

If the base relies on its own min_bars_required, rename the override (e.g. _min_bars) to avoid ambiguity; otherwise leave as-is since the internal gate in calculate_signal already guarantees sufficient history.

Verification Results

min_bars_required(self) overrides/shadows the framework method of the same name (flagged by static analysis). This appears deliberate (returns beta_lookback + max(resid_lookback, resid_std_lookback) + 5 = 125), and calculate_signal independently gates on its own 'need' threshold (122), so warmup is enforced correctly regardless. No functional defect, but confirm the base template consumes this override rather than its own implementation.

Verification Results

Sandbox over the near-full daily window is deeply negative (total_return -68%, Sharpe -0.45, PF 0.40, avg_trade_return_pct -5.58%) with only 38 trades and heavy losses concentrated in the stressed vol tercile (-69.5%, Sharpe -1.25) while calm is mildly positive. Two structural doubts for the analyst: (1) low statistical power — ~38 trades over full history from multi-week deadband holds means edge cannot be cleanly distinguished from noise; (2) the idiosyncratic-residual momentum signal appears to invert in high-vol regimes (residual trend breaks down / chandelier whipsaws), so the sign-of-residual mapping may be regime-fragile. Worth confirming on the full backtest whether the calm-regime positive expectancy survives after the optimizer, or whether this is another OHLCV single-name directional idea with no robust edge. This is advisory only and does not block.

Backtest Review

Mechanism faithfully implemented: 39 entry signals = 39 orders submitted, balanced 14 long / 25 short, timestamp-aligned BTC-residual computation with point-in-time beta, no order path touches the BTC signal leg. This is a fair test of the premise.

Backtest Review

Low turnover / long holds (~25 days avg), so the failure is NOT fee-driven (commission only 2.02% of gross).

Backtest Review

Negative expectancy on a decisive 2439-day / 6.7-year sample: profit_factor 0.384 (<<1, gross-negative before costs), avg_trade_return_pct -5.73% (below ZERO, not merely below the 0.15% Binance USD-M floor), total_return -69.5%, expectancy -$1805/trade.

Backtest Review

Sharpe -0.457 with CI [-1.183, 0.310] straddling/mostly below zero; Sortino -0.392; Calmar -0.27; max drawdown 71.2%; recovery_factor -1.02.

Backtest Review

Premise falsified across regimes: loses in normal (-19.9%, Sharpe -0.27) and stressed (-67.5%, Sharpe -1.15) vol terciles, positive only in calm (+16.1%) — confirming QA's regime-inversion concern that the sign-of-residual mapping breaks down in high vol.

Backtest Review

Losing in 5 of 7 calendar years (2020 -24.7%, 2021 -44.3%, 2023 -23.4%, 2024 -24.2%, 2026 -6.0%); the sole large positive prints (2022 +24.8%, 2026-07 +42.9%) are single-day outliers offset by -37.5% the next month.

Backtest Review

Only 39 trades — low statistical power (QA concern), but the sign here is decisively negative, not ambiguous.

Outcome Summary

BchIdiosyncraticResidualMomentumLSDa-f92d618ee4

Outcome Summary

This strategy tested whether BCH's own trend, after stripping out its rolling BTC beta, carried a tradeable directional edge, going long or short the sign of the standardized 40-day cumulative residual with vol-scaled legs, a deadband, and a chandelier stop. The code was a faithful implementation (39 signals became 39 orders, balanced long/short, point-in-time beta, BTC used only as a signal leg), so it was a fair test of the premise. On 6.7 years of daily data it lost 69.5% with a Sharpe of -0.457, profit factor 0.384, and -5.73% average per-trade return, losing in normal and stressed vol regimes and in 5 of 7 years. The analyst abandoned it at backtest review as negative-expectancy with the premise falsified, before any optimization or later-stage review ran.

Outcome Summary

The sign of BCH's BTC-residual momentum was the wrong-sign predictor in exactly the high-vol regimes that matter, and a gross-negative signal (PF 0.384) cannot be rescued by tuning parameters, so future residual-momentum ideas should confirm the sign holds across vol terciles before a full backtest.

Outcome Summary

The backtest-review analyst returned an abandon verdict before optimization: expectancy was negative on a decisive sample (gross-negative before costs) and the premise was falsified across regimes, losing in the normal (-19.9%) and stressed (-67.5%) vol terciles and in 5 of 7 calendar years. Optimization, analyst final review, and risk review were never reached.

Outcome Summary

A long-short daily BCHUSDT strategy that traded the sign of BCH's BTC-neutralized residual momentum (rolling 60-session beta removed, 40-day standardized cumulative residual) with vol-scaled sizing, a deadband entry, and a chandelier stop.

Outcome Summary

Over a 2,439-day (6.7-year) backtest it took 39 trades (14 long / 25 short) and lost heavily: total return -69.5%, Sharpe -0.457 (CI [-1.183, 0.310]), profit factor 0.384, max drawdown 71.2%, and avg_trade_return_pct of -5.73%. Commissions were only 2.02% of gross, so the loss was signal-driven, not fee-driven.
Strategy report

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