Skip to content
All strategies

Strategies

Absorbed-Flush Rule, Third Breadth Replication on Binance SPOT Old Alts: buy a 24-name point-in-time spot panel at the close of a down day whose range blew out (>=2x its 60-day return std) but closed in the upper 40% of its range, fixed 3-day clock, 10% per leg, max 8 concurrent (1-DAY, long-only, unlevered, 2018-2026 incl. delisted EOS/MKR)

Outcome: Abandoned

BinanceSpotOldAltAbsorbedFlushPanel

Outcome Summary

This strategy tested whether the absorbed-flush rebound rule, already promoted on Bybit and Hyperliquid perps, also works on 24 old-alt Binance spot names with no leverage and twice the round-trip cost. The backtest was positive on average (439 trades, 1.40% net per trade, +71.6% total, Sharpe 0.48), but the drawdown of 22.7% broke the pre-registered 20% limit. Profit was concentrated in 2023-2024 and in MKR, and the Sharpe confidence interval included zero. After a single iteration, the run was abandoned at analysis as underpowered: inconclusive rather than a refutation of the idea.

Hypothesis

Original Research Lead hypothesis, written as a breadth replication rather than a new parameter search. MECHANISM: this is the same rule as the promoted Bybit 'Intraday Flush-Absorption Panel' (200 trades, PF 1.72, 1.92% per trade) and its promoted Hyperliquid transfer (151 trades, Sharpe 0.73, 2.02% per trade). On a daily bar the price makes an abnormally deep intraday excursion: the high-low range, divided by the prior close, is at least range_mult times the trailing 60-day std of daily log returns. The bar……Show moreShow less

Original Research Lead hypothesis, written as a breadth replication rather than a new parameter search. MECHANISM: this is the same rule as the promoted Bybit 'Intraday Flush-Absorption Panel' (200 trades, PF 1.72, 1.92% per trade) and its promoted Hyperliquid transfer (151 trades, Sharpe 0.73, 2.02% per trade). On a daily bar the price makes an abnormally deep intraday excursion: the high-low range, divided by the prior close, is at least range_mult times the trailing 60-day std of daily log returns. The bar closes below the prior close, but in the UPPER part of its own range: close location (C-L)/(H-L) > close_loc. Resting demand absorbed the forced selling (spot stop-outs plus spill-over from perp liquidations) inside the same day, the marginal forced seller is gone, and we expect a multi-day rebound. WHY THIS TEST: lesson L258 asks for rule (a) (absorption confirmed on the bar, multi-day clock) to be measured on more names. So far it has run only on leveraged perps (Bybit, Hyperliquid). This replication asks whether the effect exists in a CASH spot market, with no leverage, a different participant mix and twice the round-trip cost (0.20%). It also covers a much longer history (2018-2026, including the 2018-19 and 2022 bear markets) and includes delisted names, which neither earlier panel could. VENUE CHOICE: BINANCE_SPOT is the correct venue for a long-only unlevered idea and sits at 10.3% of the corpus against a >=15% target. OKX was avoided per L242. UNIVERSE (fixed before measurement; disjoint from the Bybit 13 names, the Hyperliquid 15 names, the BTC/ETH/SOL/BNB/XRP/ADA/LINK core and the L250 list of over-mined HL names): XTZ, ALGO, VET, EOS, NEO, IOTA, ZIL, ENJ, BAT, MANA, SAND, CHZ, GRT, HBAR, KAVA, EGLD, THETA, MKR, SUSHI, YFI, ZRX, ONT, QTUM, COMP, each as <SYM>USDT.BINANCE_SPOT 1-DAY. POINT IN TIME: a leg is eligible on a date only if it is listed then and has >= 70 daily bars of its own history (universe_at()/is_listed(), parameters.point_in_time_universe = true). EOS (catalog bars end 2025-05) and MKR (end 2025-09) are kept and are closed at their last price by the base template when they delist. EXECUTION SUBSTITUTION (capability next_bar_open_fill = use_equivalent): the market order is sent at the signal bar's close (00:00 UTC daily close). On a continuous 24/7 market that price is the next bar's open. RISK CONTROL route (b): a fixed time exit plus capped unlevered sizing (10% of equity per leg, at most 8 legs, so gross exposure is at most 80% and never levered). PRE-REGISTERED MEASUREMENT (Research Lead, catalog BINANCE_SPOT 1-DAY bars 2017-11 to 2026-10, decoded directly from the parquet). Fixed rule, non-overlapping per coin, entry at the signal close, exit at the close 3 days later, 0.20% spot round trip deducted, no concurrency cap. At the frozen Bybit values (range_mult 2.0 / close_loc 0.60 / hold 3) there were 516 events on 184 distinct entry dates. Mean net forward return +1.35% per event, win rate 0.55, date-clustered t only 0.70. So this panel is markedly WEAKER per date than Bybit (t 2.62) or Hyperliquid (t 2.74). In the 27-cell grid range_mult {2.0,2.5,3.0} x close_loc {0.5,0.6,0.7} x hold {2,3,5}, every cell has a positive mean (+0.75% to +6.05%), with date-clustered t from 0.28 to 2.32. Stricter range cuts are stronger: at range_mult 3.0 / close_loc 0.6 / hold 3 there were 171 events on 62 dates, +4.11%, t 2.14. By year at the frozen values: 2018 -7.1% (7 events), 2019 -3.4% (27), 2020 +3.7% (43), 2021 +0.7% (85), 2022 +0.4% (61), 2023 +3.1% (89), 2024 +2.1% (123), 2025 +2.9% (48), 2026 -2.1% (33). Note that 2026 is negative here as it was on Bybit and flat on Hyperliquid: the most recent regime may be fading the effect, and the holdout will sit mostly in 2025-2026. Per-name means are positive for 15 of 24 names. This pre-study is context; the full backtest judges the rule. FALSIFICATION: if the optimized panel's pooled OOS average trade is below the 0.25% spot floor, or the per-date t stays near zero, the absorption effect does not survive in a cash market on old alts. That is a useful negative for the family: it would say the effect is a leveraged-perp liquidation phenomenon.

Fills BINANCE_SPOT (10.3% vs >=15% target) with the factory's best-surviving event family (event_driven, 15% survival) as a disjoint third replication that is not a parameter search. It deliberately avoids BTC and the over-mined HL mid-caps, and it includes delisted names via point-in-time eligibility. The pre-study is reported honestly as weaker per date than on the perp venues, so a negative result is as informative as a positive one: it would show whether the absorption effect needs leveraged-perp liquidations.

underpowered: closed under the inconclusive policy at analyzing; not a verdict on the idea. Not iterating. A smaller position_pct could clear the drawdown limit, but no size change can turn a losing year positive, and raising range_mult toward 3.0 would be selection on the pre-study grid. The spot replication keeps positive average economics, but the evidence per date is weak and there is no forward edge. That supports the idea that the perp results rely on leveraged-liquidation flow; it does not prove the effect is absent in spot.

Implementation

A long-only, unlevered strategy on 24 older altcoins on Binance spot (XTZ, ALGO, VET, EOS, NEO, IOTA, ZIL, ENJ, BAT, MANA, SAND, CHZ, GRT, HBAR, KAVA, EGLD, THETA, MKR, SUSHI, YFI, ZRX, ONT, QTUM, COMP), traded on daily bars. EOS and MKR, which were later delisted, are included. A coin is eligible on a date only if it is listed then (universe_at()) and has at least 70 daily bars of its own history. At each daily close a coin signals when all three hold: (high - low) / previous close is at least range_mult times……Show moreShow less

A long-only, unlevered strategy on 24 older altcoins on Binance spot (XTZ, ALGO, VET, EOS, NEO, IOTA, ZIL, ENJ, BAT, MANA, SAND, CHZ, GRT, HBAR, KAVA, EGLD, THETA, MKR, SUSHI, YFI, ZRX, ONT, QTUM, COMP), traded on daily bars. EOS and MKR, which were later delisted, are included. A coin is eligible on a date only if it is listed then (universe_at()) and has at least 70 daily bars of its own history. At each daily close a coin signals when all three hold: (high - low) / previous close is at least range_mult times the standard deviation of the previous 60 daily log returns, with today left out; the close is below the previous close; and the close location (close - low) / (high - low) is above close_loc_min. On a signal the strategy buys 10% of equity in that coin with a market order at the signal bar's close. The brief marks next-bar-open fills as use_equivalent; on this 24/7 market the signal close is the next bar's open price. At most 8 coins are held at once. When more coins signal than there are free slots, the largest range_ratio / sd goes first. Each position is sold with a market order at the close 3 daily bars (hold_days) after entry, measured from position.ts_opened. There is no stop-loss or take-profit, and a new signal on a coin already held is ignored.

This implements the frozen absorbed-flush rule (range_mult 2.0, close_loc 0.60, hold 3) with the plan's fixed values (position_pct 0.1, vol_lookback 60, max_concurrent 8, min_history_bars 70, point_in_time_universe true). The tunable parameters (hold_days, range_mult, close_loc_min) keep their plan names. Risk control is route (b): a time exit plus capped, unlevered sizing, so gross exposure stays at or below 80% of equity. All buys on the same bar share one free-cash budget that includes the taker fee, so the……Show moreShow less

This implements the frozen absorbed-flush rule (range_mult 2.0, close_loc 0.60, hold 3) with the plan's fixed values (position_pct 0.1, vol_lookback 60, max_concurrent 8, min_history_bars 70, point_in_time_universe true). The tunable parameters (hold_days, range_mult, close_loc_min) keep their plan names. Risk control is route (b): a time exit plus capped, unlevered sizing, so gross exposure stays at or below 80% of equity. All buys on the same bar share one free-cash budget that includes the taker fee, so the cash account can never be overdrawn. One structural change: NEOUSDT.BINANCE_SPOT is the primary (clock) instrument instead of XTZ. NEO is the oldest coin in the list (listed 2017-11), and the backtest window starts at the primary's history. With XTZ (listed 2019-09) the backtest would lose the 2018-19 period the hypothesis says it covers. Every coin is traded by the same rule, so this changes no trading rule. All 24 names from the description's universe are included; the market_context instruments list has only 20, so ZRX, ONT, QTUM and COMP were added from the description. A coin other than the primary is used only through its bar stamped exactly at the primary's decision time, so no later bar is ever read.

Verification Results

None needed. Keep the 24-name universe consistent in the hypothesis record.

The primary instrument is NEOUSDT instead of XTZUSDT as written in entry_logic. This is disclosed and justified: NEO, listed 2017-11, keeps the 2018-19 window the hypothesis claims to cover. Every leg runs the identical rule, so no trading rule changes. The universe is all 24 names from the description, 4 more than the 20 in research_contract.instruments (ZRX, ONT, QTUM, COMP); the description names them explicitly.

Acceptable for a 24/7 daily panel. If NEO gaps appear in the coverage audit, consider driving exits from on_extra_bar.

Time exits for extra legs (and every entry) are evaluated only when a primary NEO bar arrives. If NEO has a missing daily bar, an extra leg's exit and any events on that date are skipped or delayed by one day. Delisted legs (EOS, MKR) are closed by the base template.

Optionally keep rolling sums of returns and squared returns per leg, so the std costs O(1) per bar.

The sandbox projects 308 s for the full-history baseline against a 120 s target (runtime_review_required). The cause is the per-bar recomputation of the 60-return std for 24 legs. This is a resource concern, not a correctness issue.

The Research Lead's own pre-study gives a date-clustered t of only 0.70 at the frozen values (516 events on 184 dates), and 2026 is negative (-2.1%), so the holdout sits in the weakest regime. Many legs fire on the same crash dates, and with the 8-slot cap the effective sample is the number of dates, not the number of trades. Expect an inconclusive or underpowered result rather than a clean pass. Real spreads on thin old alts may exceed the modeled 0.10% taker fee.

Backtest Review

Sharpe
0.48
Total return
71.62%
Max drawdown
22.69%
Trades
439
Win rate
55.6%
Profit factor
1.44

The trades follow the stated mechanism. All 365 closed trades are LONG, every hold is exactly 3d 0h, 362 of 365 are sized at 10% of equity, and no entry date holds more than 8 positions, so the concurrency cap binds as written. All 24 point-in-time names traded, from 7 to 25 trades each, including EOS and MKR, which later delisted.

The economics clear the spot fee floor several times over. Mean net trade return is 1.45% of notional against the 0.25% BINANCE_SPOT floor, about 7x the 0.20% round trip. Profit factor is 1.46, win rate 0.57, and average win and loss are about the same size (898 vs 823 USD), so the profit is real expectancy, not many small wins hiding fat losses. Tail ratio is 2.0.

The ledger reconciles. Summed trade PnL is +59,428 USD against a +59.4% total return on the 100k account, with no open positions at the cut. This matches the pre-study: +1.45% per trade here vs +1.35% per event in the pre-study.

There are 365 trades on 147 distinct entry dates in the development period. That is enough for windows that target 20 trades each, though the date count is the binding sample.

Max drawdown is 22.7%, above the pre-registered 20% constraint. Gross exposure is capped at 80%, so the drawdown comes from correlated legs piling into market-wide flush dates. The walk-forward's drawdown constraint will test this. Its 983-day drawdown duration is long.

Significance is weak. Sharpe is 0.52 with a 95% interval from -0.21 to 1.25, probabilistic Sharpe is 0.73, and return kurtosis is 17. Losses cluster on dates: 8 legs on 2021-02-23 and in 2021-04, and Feb 2021 alone lost -11.6%. The effective sample is the 147 dates, not the 365 trades.

Profit is concentrated by year and by name. 2023 (+17.4%) and 2024 (+33.3%) carry most of the gain, while 2018-19 and 2022 were negative. MKR supplies about 31% of total PnL (+18.7k), and 9 of 24 names are net negative (SUSHI, ZRX, KAVA, MANA and others).

Most capital sits idle. Calmar is 0.31 and CAGR 6.9%. Deployment per trade is the stated 10% (1.45% x 0.10 x 365 trades, about 53% compounded to 59%), so the risk figures are comparable to the floors.

The research contract's instruments list names 20 symbols, while the description and the config trade 24 (ZRX, ONT, QTUM and COMP are missing from the contract list). The universe was fixed in the description and the code matches the description. This is a contract bookkeeping mismatch, not a code defect.

Outcome Summary

In a cash spot market the absorbed-flush effect keeps positive average economics, but the evidence per entry date is weak and drawdowns cluster on market-wide flush dates, which fits the view that the perp results depend on leveraged-liquidation flow (though it does not prove the effect is absent in spot).

Backtest review sent it to optimization. It was then closed at the analyzing stage under the inconclusive (underpowered) policy: per-date evidence was weak, some years lost money, and there was no forward edge. The analyst chose not to iterate, because shrinking position size could not turn the losing years positive and moving range_mult toward 3.0 would mean selecting on the pre-study grid.

A breadth replication of the promoted Bybit/Hyperliquid 'absorbed flush' rule on a 24-name point-in-time Binance spot panel of old alts (2018-2026, delisted EOS and MKR included): buy unlevered at the close of a down day whose range was at least 2x its 60-day return std but which closed in the upper 40% of its range, hold a fixed 3 days, 10% of equity per leg, at most 8 legs.

The full-history backtest made 439 long trades with +71.6% total return, Sharpe 0.48 (95% CI -0.16 to 1.18), profit factor 1.44, win rate 0.56 and 1.40% average net return per trade, but max drawdown was 22.7% with a 983-day drawdown duration. The signal-research diagnostic rated the forecast 'rejected_no_information' (IC 0.026, t=0.8).

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