Skip to content
All strategies

Strategies

Who Bought? Short-Covering Rally Fade on Bybit Perps: after a >=2-sigma UTC up-day on a Bybit alt perp during which the same coin's Binance USD-M open interest FELL >=1 sigma (the rally was shorts closing, not new longs), short the alt and long a dollar-matched BTCUSDT.BYBIT hedge for a fixed 3-day clock (20 pre-2022 Bybit USDT perps, 1-DAY, BTC-hedged short event book, flat ~95% per name)

Outcome: Abandoned

BybitShortCoveringRallyFadeBtcHedged

Outcome Summary

This hypothesis traded the up-day counterpart of the factory's flush-vs-build classifiers. It shorted Bybit alt rallies that came with falling Binance open interest, a sign that shorts were covering rather than new buyers arriving, and hedged each short with BTC for 3 days. The Research Lead's pre-registered study showed a hedged 3-day return of -1.11% across 134 events on 62 dates, which is a gain for the short. The strategy was coded in 1 iteration, but it never reached a backtest, backtest review, optimization, analyst review or risk review. It sat in data review with an unavailable input for 352 h, past the 144 h limit, and was abandoned without any judgment on its edge. It can be revived once the data issue is resolved.

Hypothesis

Original Research Lead hypothesis. A price rise can be paid for by new money (buyers opening longs, so open interest rises) or by shorts closing (forced or voluntary buy-to-cover, so open interest falls). A short-covering rally is buying that ends once the shorts are gone: no new holder stands behind the higher price, so the move should give back some of its gain. This is the up-move counterpart of the factory's down-shock flush-vs-build classifiers ('Who Sold?' spread, OkxOiFlushVsBuildDownShockSpread,……Show moreShow less

Original Research Lead hypothesis. A price rise can be paid for by new money (buyers opening longs, so open interest rises) or by shorts closing (forced or voluntary buy-to-cover, so open interest falls). A short-covering rally is buying that ends once the shorts are gone: no new holder stands behind the higher price, so the move should give back some of its gain. This is the up-move counterpart of the factory's down-shock flush-vs-build classifiers ('Who Sold?' spread, OkxOiFlushVsBuildDownShockSpread, Cross-Venue Deleveraging-Confirmed Down-Shock Absorption). Those all classify DOWN days; this trades only UP days, which is a different set of events. Rule: at each UTC daily close, for each of 20 Bybit USDT perps listed before 2022 (LINK ADA DOT ATOM LTC ETC FIL XRP AVAX UNI AAVE NEAR ALGO XLM BCH TRX DOGE SOL SNX CRV), compute the day's log return z = r / std(prior 30 daily returns) from the Bybit bars, and the same coin's Binance USD-M open-interest day change z_oi = dlog(OI) / std(prior 30 daily OI log changes). OI is in coin units, read point-in-time from open_interest_by_instrument for the signal-only BINANCE legs, using the last value at or before each day close. If z >= shock_z (2.0) and z_oi <= oi_z_max (-1.0), short the Bybit alt at 10% of equity and buy BTCUSDT.BYBIT for the same dollar notional. Close both legs on a fixed hold_days (3) clock. Bybit is a 24/7 venue, so the order is a market order at the signal bar's close. That is the platform's stated equivalent of a next-bar-open fill. PRE-REGISTERED MEASUREMENT (lessons L230 and L217; fixed rule, run by the Research Lead before writing this; Bybit closes, Binance OI, 2022-01-15 to 2026-10): 134 qualifying events on 62 distinct dates. BTC-hedged 3-day forward return of the alt: -1.11% (5-day -1.33%). By year: 2022 -1.99% (30 events), 2023 -4.00% (27), 2024 -0.22% (17), 2025 -1.20% (20), 2026 +1.16% (40). So the short earns in 4 of 5 years, and 2026 is the counter-year. Incremental value of the OI classifier over the same up-shock without it: up-shocks with OI roughly flat (|z_oi|<1) returned +0.25% hedged, and those with OI rising >=1 sigma returned +0.39%. So the OI fall is what separates the losing rallies, not the up-shock itself. On the Binance USD-M price series of a 30-name superset the same arm gave -1.36% over 197 events on 84 dates. The OI-rising 'fresh longs' arm was too thin on Bybit (+0.39% hedged against a 0.22% two-leg round trip), so it is deliberately NOT traded. Cost arithmetic: two legs x 0.11% Bybit round trip = 0.22% of the alt notional, against an expected gross capture of about 1.1%, so net ≈ 0.9% per event, about 4x the cost. The analyst should count the 62 distinct dates, not the 134 events (L238). Risk control route (a): each alt short carries an intrabar protective stop at stop_atr_mult (3.0) x ATR(14) above its fill (supported intrabar stop, platform-matched). With daily ATR around 5% that is about 15% x 10% notional = 1.5% of equity, so at most 2% of equity at the stop. When an alt short stops out, its BTC hedge is closed at the same time. At most 5 concurrent events (100% gross maximum: 50% short alts / 50% long BTC). Leverage is at most 1x gross, well inside the conservative profile. An alt whose Binance OI series is missing for the day is skipped, never traded on price alone.

Diversity: BYBIT is 3.2% of the corpus (target >=5%), long-short is 24% (long-only is far over its 55% cap), and cross-venue is 10% against a >=15% target. Every leg here is Bybit, with Binance used for open interest only. BTCUSDT.BYBIT appears only as the dollar hedge, which the market-neutral mechanism needs; the signal never comes from BTC. Prior art: the OI flush/build classifier has been proposed only on DOWN-shock days (Who Sold?, OkxOiFlushVsBuildDownShockSpread, the Bybit/Binance deleveraging-confirmed……Show moreShow less

Diversity: BYBIT is 3.2% of the corpus (target >=5%), long-short is 24% (long-only is far over its 55% cap), and cross-venue is 10% against a >=15% target. Every leg here is Bybit, with Binance used for open interest only. BTCUSDT.BYBIT appears only as the dollar hedge, which the market-neutral mechanism needs; the signal never comes from BTC. Prior art: the OI flush/build classifier has been proposed only on DOWN-shock days (Who Sold?, OkxOiFlushVsBuildDownShockSpread, the Bybit/Binance deleveraging-confirmed absorptions). OI-confirmed trend continuation failed 8 of 10 times (fee_edge/overfit), and this is not a trend rule. It answers lessons L230 and L217 with a pre-registered fixed-rule measurement of the short arm's forward return, net of a BTC hedge, compared with the same event without the OI condition. It answers L238 and L237 by stating distinct dates (62) inside a full-overlap window (2022-01 onward, where every leg has bars and Binance metrics). Predictions are modest: hedged capture of about 0.9% net per event, but the alt and hedge legs each count as trades, which roughly halves the per-trade average. Hence min_avg_trade_return_pct is 0.35 and Sharpe is 0.6.

hold_expired: data_review:input_unavailable held 352 h, past its 144 h limit, unresolved (owner: data). Not a verdict on the strategy; revivable once resolved. Recommended: fix the stream or the audit; close only with positive evidence the data cannot exist

Implementation

A daily event book on 20 Bybit USDT alt perps listed before 2022, decided at each UTC close. For each alt, z is today's log return divided by the standard deviation of the prior 30 daily log returns, from Bybit closes. z_oi is today's log change in the same coin's Binance USD-M open interest, divided by the standard deviation of the prior 30 daily OI log changes. Open interest is in coin units, read from open_interest_by_instrument, taking the last value at or before each day close. If that value is missing or……Show moreShow less

A daily event book on 20 Bybit USDT alt perps listed before 2022, decided at each UTC close. For each alt, z is today's log return divided by the standard deviation of the prior 30 daily log returns, from Bybit closes. z_oi is today's log change in the same coin's Binance USD-M open interest, divided by the standard deviation of the prior 30 daily OI log changes. Open interest is in coin units, read from open_interest_by_instrument, taking the last value at or before each day close. If that value is missing or more than 6 hours old, the alt is skipped. When z >= shock_z (2.0) and z_oi <= oi_z_max (-1.0), the rise was paid for by shorts covering. The strategy then shorts the alt at 10% of equity and buys the same dollar amount of BTCUSDT.BYBIT. It holds at most 5 events at once, taking the largest z first. Both legs close after hold_days (3) days, counted from the entry bar's timestamp. Each alt short has a reduce-only stop that triggers inside the bar at entry price + 3 x ATR(14), with ATR measured on the signal bar. When that stop fires, the BTC hedge for that event is sold at once. The BTC hedge is a single netted position equal to the sum of the open events' hedge quantities, each fixed in BTC at entry. legs_balanced() is checked every bar, and a broken hedge closes every leg. Fill substitution: orders are market orders at the signal bar's close, which the platform treats as equivalent to a next-bar-open fill on a 24/7 venue.

This implements the hypothesis as written. BTCUSDT.BYBIT is the primary instrument: it is the hedge leg and the daily clock, and all legs are managed in calculate_signal. The 20 declared Bybit alts are extras with 1-DAY bars, and they are the only alt legs traded. The 20 BINANCE USD-M ids are signal-only extras with no bar types. They are listed only so the platform attaches their per-leg open interest; no Binance venue or account is created. Only alt bars stamped exactly at the BTC bar's close are used, and open……Show moreShow less

This implements the hypothesis as written. BTCUSDT.BYBIT is the primary instrument: it is the hedge leg and the daily clock, and all legs are managed in calculate_signal. The 20 declared Bybit alts are extras with 1-DAY bars, and they are the only alt legs traded. The 20 BINANCE USD-M ids are signal-only extras with no bar types. They are listed only so the platform attaches their per-leg open interest; no Binance venue or account is created. Only alt bars stamped exactly at the BTC bar's close are used, and open interest is looked up at or before the decision timestamp, so no later data enters a decision. Sizing: each alt short is 10% of mark-to-market equity and the hedge is hedge_ratio x the same dollars, so gross exposure peaks at 100% of equity (5 events x 20%). That is the 1x gross the hypothesis states. config.leverage = 2.0 only adds initial-margin headroom, so the 5th event and adverse price moves do not breach the 1.02 peak-margin gate. The code reads self.config.leverage in a cap (equity x leverage x 0.95 / (max_concurrent x (1 + hedge_ratio))) that does not bind at these settings, and 2.0 is within the conservative profile's 5x limit. Risk route (a): the 3 x ATR(14) stop costs about 1.5% of equity at a typical 5% daily ATR. ATR here is the simple mean of the last 14 true ranges. Because the account is NETTING, the BTC hedges of concurrent events form one position that is scaled up and down per event, so one BTC ledger entry can span several events. Per-coin state (active flag, entry timestamp, ATR stop distance, hedge quantity) is kept as scalar attributes so a restart does not change any decision. The optimisation plan's parameter names and fixed values are used unchanged. oi_staleness_hours (6h), min_notional_usd and margin_headroom are fixed implementation constants not covered by the plan.

Verification Results

Reset the alt's deques, or mark it not ready, when the gap between consecutive accepted alt bars exceeds one interval.

The price z window is built only from alt bars whose stamp equals the BTC bar's. If an alt misses one daily bar, the next return in the deque spans two days, with no gap check. The OI side has a 6h staleness guard; the price side has no equivalent.

No code change is required. Optionally cap stop_dist so that stop_dist/px * leg_pct <= 0.02.

Risk control route (a) assumes about a 5% daily ATR. On high-volatility alts (ATR 7-8%), 3xATR x 10% notional is 2.1-2.4% of equity at the stop, just above the 2% cap. Route (b) also holds: a 3-day time exit, with each position at 10% of equity and gross at most 100%, enforced in _alt_notional via min(equity*leg_pct, cap). So risk review should pass on (b).

Set active, stop_dist and entry_ts before calling _submit_entry_instrument, and roll them back if the order was refused. Alternatively, place any missing stop on the next bar.

The protective stop is placed in on_order_filled only when active_<coin> is already set. That relies on the entry fill arriving after calculate_signal returns, which is how NT releases in-flight orders after the data point. If a fill were ever processed synchronously inside submit_order, the event would carry no stop.

The pre-registered effect rests on 62 distinct dates. The 2026 counter-year (+1.16% on 40 events) is the largest single-year sample and has the wrong sign. Because of the NETTING BTC hedge, one BTC ledger entry can span several events, so total_trades will not equal 2 x events. Read per-event (alt-leg) economics against the 0.22% two-leg cost rather than the blended per-trade average. Per L211, check implied deployment: about 10% of equity per alt leg.

Outcome Summary

Before coding a strategy that depends on a signal-only cross-venue input such as Binance per-instrument open interest for 20 coins, confirm that the input is available and passes the input audit, so the run does not stall in data review.

The run was held in data_review:input_unavailable for 352 h, past its 144 h limit, with the data owner never resolving it, so it was abandoned with hold_expired. The pipeline states this is not a verdict on the strategy and that the run can be revived once the input stream or the audit is fixed.

Fade short-covering rallies on 20 pre-2022 Bybit alt perps: after a >=2-sigma UTC up-day during which the coin's Binance USD-M open interest fell >=1 sigma, short the alt and buy a dollar-matched BTCUSDT.BYBIT hedge for a fixed 3-day hold, with a 3x ATR(14) protective stop on each alt short.

No platform backtest or optimization results exist for this run. The only figures are the Research Lead's pre-registered measurement: 134 events on 62 distinct dates (2022-01-15 to 2026-10) with a BTC-hedged 3-day forward return of -1.11% for the alt, so the short gained in 4 of 5 years (2026 was +1.16%), against an estimated 0.22% two-leg round-trip cost.

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