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
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.