Skip to content
All strategies

Strategies

Alt-vs-BTC Relative-Value Extreme Reversion (restated from 小草's '千团大战' multi-coin hedge): Flat by Default, Open a Beta-Hedged Alt/BTC Pair Only When One Alt's BTC-Relative Price Deviates >= 2.5 Cross-Sectional Sigmas From Its Slow EMA, Point-in-Time Top-20 Universe, 4H Bars, Binance USD-M

Outcome: Abandoned

AltBtcRelativeValueExtremeReversion4H

Outcome Summary

This hypothesis restated Xiaocao's always-on multi-coin BTC hedge as a flat-by-default strategy: trade one alt/BTC pair, beta-hedged, only when that alt's BTC-relative deviation from its slow EMA reaches 2.5 cross-sectional sigmas, with a point-in-time universe on 4H Binance USD-M bars. The developer coded it with BTC as the primary instrument and a fixed list of 10 alt perps as extra instruments, using incremental rolling statistics. Across 3 iterations the code never passed the Layer 3 sandbox backtest, which kept going over the 300s limit on a 2400-day 4H window, and the run was abandoned in a verification loop. Because no backtest ever completed, the economic claim was never tested and the later pipeline stages were not reached.

Hypothesis

Classification: (a) a concrete trading idea. The page body is only an advert and a notebook link. The notebook holds the mechanism: take 24 Binance-futures coins, price each in BTC, divide by its own slow EMA (alpha=0.001 on 1-minute bars, about a 17-hour half-life), and subtract the cross-sectional mean of that normalised ratio. Each coin is then held at a target of -trade_value*round(diff/1%), always on, dollar-neutral against BTC. It rebalances whenever the target moves by half a unit, at 20x leverage and……Show moreShow less

Classification: (a) a concrete trading idea. The page body is only an advert and a notebook link. The notebook holds the mechanism: take 24 Binance-futures coins, price each in BTC, divide by its own slow EMA (alpha=0.001 on 1-minute bars, about a 17-hour half-life), and subtract the cross-sectional mean of that normalised ratio. Each coin is then held at a target of -trade_value*round(diff/1%), always on, dollar-neutral against BTC. It rebalances whenever the target moves by half a unit, at 20x leverage and 0.075% commission, and was backtested over about 5 days of 1-minute bars. Credit to 小草. That exact form breaks four of our lessons at once. It is an always-in multi-leg neutral book (L137, L150). It uses a hand-typed 2020 universe with heavy survivorship bias: IOST, QTUM, ONT, IOTA and NEO have since collapsed or been delisted (L151). It is cross-sectional reversal (L113). And it churns at 1-minute cadence on sub-fee moves (the fee graveyard). A 5-day backtest is no evidence. This restatement keeps the one economic claim, that an alt's BTC-relative price overshoots after idiosyncratic flow shocks and partly reverts. Everything the lessons ban is removed. (1) FLAT BY DEFAULT: nothing is held unless one coin is at an extreme; expected time in market is about 20-30%, flat the rest (L150). (2) Each trade is ONE alt against a beta-matched BTC hedge, not a 24-leg book. At most 2 pairs are open at once. (3) The universe is POINT-IN-TIME: at each 4H close, the top 20 Binance USD-M perps by trailing 30-day quote volume, excluding BTC, stablecoins, coins listed less than 90 days, and delisted names. No typed list (L151). (4) The clock is 4H bars, not 1-minute, and the trigger is a large deviation, so the per-trade gross move is several times the 4-leg round trip. Why the Binance USD-M venue (67.6% share): the mechanism needs a broad cross-section with multi-year history. OKX in our catalog has multi-year 4H history only for BTC/ETH/ADA, and Hyperliquid 4H has about 2.3 years (L168). The source is itself Binance futures. Mechanism in one sentence, instrument stripped: 'fade a single asset's extreme overshoot of its benchmark-relative price versus its own slow average, hedged against the benchmark, flat otherwise'. That differs from the banned always-on cross-sectional reversal books, but it is close enough that the analyst should weigh L113/L137. Honest prior: modest, priority 2.

Iteration 3 fix for sandbox_timeout (L155(c), per-run cost). Per-bar logic was already O(#alts) with incremental stats. The cost that scaled was the replay itself: 22 alt legs plus BTC over 2400 days of 4H bars is about 330k bars routed through the multi-leg alignment barrier. The candidate set is cut from 22 to the 10 most liquid alts (ETH, BNB, SOL, XRP, DOGE, ADA, LINK, AVAX, LTC, DOT), all listed on Binance USD-M by Sep 2020. That roughly halves the bars processed. To match, universe_size is 10 (was 20) and min_universe is 6 (was 8). Signal, alignment rule (an alt contributes only when its bar ts equals the BTC bar ts), exits, sizing and leverage wiring are unchanged. Gross check: 2 pairs x (0.15 + 2.0 x 0.15) x 3 = 2.7x equity, under 3x leverage. Caveat: a 10-name cross-section is narrower than the hypothesis's top-20, so the cross-sectional sigma is noisier. The fixed candidate list keeps some survivorship bias.

verification_loop: sandbox_timeout: Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit on a ~20000-bar window (2400 days of BTCUSDT.BINANCE-4-HOUR-LAST-EXTERNAL). This almost always means per-bar work that scales with history — e.g. rescanning the full funding/supplementary series, or rebuilding a list and calling min()/sorted() inside calculate_signal()/on_bar() on every bar. Precompute sorted timestamp arrays ONCE in __init__ and use bisect, or cache lookups keyed by timestamp, so per-bar cost is O(log n) not O(n).

Implementation

Flat-by-default alt/BTC relative-value extreme reversion on Binance USD-M 4H. For each of 10 liquid alts, dev = log(alt/BTC) minus its slow EMA (span 42 bars, ~7 days). Each dev is demeaned and z-scored across the point-in-time universe, which uses listing age >= 90d and ranks names by trailing 30-day quote volume. When one alt's |z| >= 2.5 and its demeaned deviation is >= 4%, the strategy fades it with a beta-matched opposite BTC hedge. At most 2 pairs are open at once. A pair exits on reversion (|z| <= 0.5 or a zero-cross), a 10% pair stop, or a 42-bar time stop.

Verification Results

sandbox_timeout: Verification failed (Layer 3 — sandbox backtest): smoke test exceeded the 300s wall-clock limit on a ~20000-bar window (2400 days of BTCUSDT.BINANCE-4-HOUR-LAST-EXTERNAL). This almost always means per-bar work that scales with history — e.g. rescanning the full funding/supplementary series, or rebuilding a list and calling min()/sorted() inside calculate_signal()/on_bar() on every bar. Precompute sorted timestamp arrays ONCE in __init__ and use bisect, or cache lookups keyed by timestamp, so per-bar cost is O(log n) not O(n).

Iteration History

Verification failed (leverage_set_but_unused): config sets leverage=3.0 but the strategy never references leverage in sizing. Size positions on it — notional = equity * fraction * leverage / price (read self.config.leverage) — or set leverage=1.0. As written the leverage is inert and the backtest is identical to 1x.

Outcome Summary

Multi-leg cross-sectional strategies must keep per-bar work light enough for the whole multi-instrument replay to finish inside the 300s sandbox budget. That means precomputing or caching lookups and cutting the number of legs replayed, not just making the rolling stats incremental.

It was abandoned in a verification loop after 3 iterations because the Layer 3 sandbox smoke test went over the 300s wall-clock limit on a ~20,000-bar (2400-day) BTCUSDT 4H window with 10 extra alt legs. Backtest review, analyst and risk review were never reached.

Fade a single alt's extreme overshoot (>= 2.5 cross-sectional sigmas) of its BTC-relative price versus its own slow EMA on 4H Binance USD-M bars, holding a beta-hedged alt/BTC pair (at most 2 open) and staying flat otherwise.

No performance data exists: the strategy never produced a backtest or optimization report, so there are no return, Sharpe or trade-count figures.

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