Skip to content
All strategies

Strategies

LINK Binance USD-M Taker-Aggression Shift Contrarian, Single-Leg Long/Short, 4H Decision Clock, Fixed 48h Exit

Outcome: Abandoned

LinkTakerAggressionShiftContrarian

Outcome Summary

LinkTakerAggressionShiftContrarian traded against spikes in the LINK USD-M taker long/short volume ratio, using a fixed 48h hold. Its first backtest looked promising at the trade level (+105%, 0.67% per trade, beta about 0.01), but its statistics were weak, its profits sat in high-volatility regimes and 2026 was -27.5% YTD. After optimization it failed four hard validity floors (overfit, OOS Sharpe -0.15, PBO 0.62, holdout Sharpe -0.13) and also failed programme FDR, so the analyst abandoned it as no_edge after one iteration. Separately, the analyst noted paired -X%/+X% daily mark-to-market swings on open-position days as a possible engine artifact; the mechanism was not checked and the analyst flagged it for engine review.

Hypothesis

LINKUSDT.BINANCE on 4H bars. Signal s = the 24h mean of the supplementary 'metrics' field taker_long_short_vol_ratio (5-min data since Dec 2021) divided by its 96h mean. Do not use the 'taker_ratio' key, which only holds about 52 days. Go long when s is at or below the trailing-1-year 10th percentile and short when it is at or above the 90th percentile, holding 48h. The strategy is flat otherwise; expected time in market is about 25-35%. It sits on the over-weighted BINANCE venue because this feed only exists for Binance USD-M and HL (lesson 160).

This follows the hypothesis as written. It uses the multi-year 'metrics' key, not the 52-day 'taker_ratio'. It computes s as a 24h/96h mean ratio, sets 1-year 10th/90th percentile bands, and applies a fixed 48h time exit anchored to position.ts_opened, so the exit is unaffected by restarts. The percentile history is a pure function of the bar timestamp and the feed. No list state needs to persist, and the only warm-up is the feed itself: at least 360 valid 4H points, about 60 days. It trades on a futures venue because it goes short. There is no stop-loss because the hypothesis specifies only the fixed 48h exit. About 20% of bars should fall outside the bands. With 12-bar holds and overlapping signals, that should mean roughly 25-35% time in market and more than 100 entries a year. If the metrics field is missing, the strategy logs data_unavailable and stays flat instead of switching to a proxy.

Failure code: no_edge, taken from the first measured report per L159. That report showed Sharpe 0.43, PF 1.18, bootstrap Sharpe CI -0.42 to 1.23 (straddles 0), PSR 0.76, max drawdown 19.8%, with 2026 at -27.5%. It cleared the fee floor comfortably (avg_trade 0.67% vs the 0.15% Binance USD-M single-leg floor), so this is NOT fee_edge. The optimization then failed as overfit on four HARD validity floors, none waivable. (1) CPCV walk-forward is overfit: IS 0.39 vs OOS -0.15. (2) OOS Sharpe -0.15 is below the 0.5……Show moreShow less

Failure code: no_edge, taken from the first measured report per L159. That report showed Sharpe 0.43, PF 1.18, bootstrap Sharpe CI -0.42 to 1.23 (straddles 0), PSR 0.76, max drawdown 19.8%, with 2026 at -27.5%. It cleared the fee floor comfortably (avg_trade 0.67% vs the 0.15% Binance USD-M single-leg floor), so this is NOT fee_edge. The optimization then failed as overfit on four HARD validity floors, none waivable. (1) CPCV walk-forward is overfit: IS 0.39 vs OOS -0.15. (2) OOS Sharpe -0.15 is below the 0.5 floor. (3) PBO is 0.62, above 0.5. (4) The holdout Sharpe is -0.13 on 107 trades over the final 454 days. That is an adequate sample, so this is a measured negative forward result, not a thin one. DSR is 0.585 against an expected-max Sharpe of 0.325 over 11 effective trials, and the result fails programme FDR (p=0.42). Sensitivity found all 11 parameters to be cliffs, with base Sharpe about -0.01 and most trials at or below 0, so there is no robust parameter region to iterate toward (L126: no re-optimization of the same mechanism). This is not beta: beta is 0.03 and benchmark correlation 0.12. Profit is confined to the stressed-vol tercile, the calm tercile loses 31%, and only 3 of 7 years are positive. The pre-registered prediction met 2 of 5 checks. The taker-aggression contrarian signal on LINK (24h/96h taker long/short vol ratio at 1-year percentile extremes) is not distinguishable from noise out of sample. It joins the earlier LINK taker-flow momentum death: the same feed, used in the opposite direction, also failed. Separately, and unverified: recurring paired -X/+X daily MTM swings appear on open-position days and should go to engine review.

Implementation

Trades LINKUSDT.BINANCE on 4H bars against shifts in taker aggression. The signal s is the 24h mean of the Binance 5-min metrics field taker_long_short_vol_ratio divided by its 96h mean. It reads only feed rows at or before the current bar and uses prefix sums for O(log n) lookups. Each bar it rebuilds the trailing-1-year distribution of s on the 4H calendar grid. It goes long when s is at or below the 10th percentile and short when s is at or above the 90th, exits exactly 48h after the position opened, and is flat otherwise. Each position is 50% of equity notional at 1x leverage.

Verification Results

Acceptable as written. If optimizer runtime becomes an issue, cache s on the 4H grid incrementally.

Each bar recomputes the 1-year percentile over about 2190 grid points by binary search on the prefix-summed 5-min feed, which is O(n_hist * log N) per bar. The work is bounded and does not grow with the backtest span (L124 is satisfied): the grid is fixed-length and the prefix sums are built once. It is still the heaviest per-bar cost in the strategy.

Optional: add a catastrophic bracket stop well outside normal 48h ranges if the risk officer requires one. Do not add it without a hypothesis change.

There is no stop-loss. This is consistent with the hypothesis, which specifies only a fixed 48h exit. At 50% of equity notional and 1x leverage, a 48h adverse move on LINK (largest loss so far is -23.6k) is unbounded within the hold. Worst-case gross is 0.5 x equity x 1.0, well within the venue cap.

Smoke-test PF is 1.18 with Sharpe 0.33 and a Sharpe CI of [-0.41, 1.13], so the edge cannot yet be told apart from noise. Returns are concentrated in the stressed-vol tercile (+80.5%), while calm (-3.8%) and normal (+3.3%) are roughly flat. The ~20% impact_cost_pct at 50% of equity notional on LINK needs checking in the full backtest. The metrics feed starts in Dec 2021, so the 2020-2021 part of the sandbox window is flat by design. The effective sample is about 4.5 years, not the reported 2274 data_days.

Backtest Review

Sharpe
0.43
Total return
105.23%
Max drawdown
19.80%
Trades
352
Win rate
53.7%
Profit factor
1.18

The sample is reliable: 352 trades over about 3.8 effective years, starting when the metrics feed begins in June 2022. Longs and shorts are balanced (187/165) and every hold lasts about 48h, which matches the hypothesis. Spot-checked trades are clean and fixed-hold.

Per-trade economics are well above cost: avg_trade_return_pct is 0.67%, about 4.5x the 0.15% USD-M floor. Commission is 4% of gross and funding is credited.

PF is 1.18 and Sharpe 0.43 (positive). Total return is +105% with 19.8% max drawdown, only 0.07% of it unrealized at the end. Beta to LINK is about 0.01, so returns are not explained by market exposure.

Calendar years 2022-2025 are all positive (+1.5, +21.4, +32.5, +51.2%). Time in market is 50%, not a sparse book.

QA's impact concern checked out: impact is about 20% of gross, below the 50% economics floor. Capacity is about $2.5M.

Statistically weak: the Sharpe CI is [-0.42, 1.23] and PSR is 0.76. Base Sharpe 0.43 and PF 1.18 are below the advisory Sharpe>=1 / PF>=1.5 optimize bar (L118), so the holdout and deflation phases may well reject it.

QA's regime concern is borne out: nearly all return comes from the stressed-vol tercile (+81%, Sharpe 0.91). Calm (-4.3%) and normal (+3.1%) are flat, so the edge is conditional on high volatility.

Recent decay: 2026 YTD is -27.5% (Jan -11.2%, Mar -8.5%, Apr -10.6%), and the longest drawdown lasted 366 days. The holdout window covers late 2025 to 2026, so it is the real test.

Suspected MTM accounting artifact, mechanism not verified: from late 2024 the daily return series has about 20 pairs of a -8% to -14% day followed by a near-exact offsetting gain. Example: 2025-09-01 -10.23% then 2025-09-02 +11.40%, which is 1/(1-0.1023). The trade list on those dates shows no matching loss. This probably inflates volatility and max drawdown and understates Sharpe. It should be checked, but it does not invalidate realized trade PnL.

Analysis

The strategy implements the stated mechanism: it trades long and short in a balanced way (187 long, 165 short), exits on a fixed 48h clock, and only starts trading in mid-2022 once the metrics feed plus the 1-year percentile warmup are available.

Per-trade economics clear the fee floor by a wide margin: avg_trade_return_pct is 0.67% on the first report and 0.65% after optimization, against a 0.15% single-leg Binance USD-M floor (4x). Fees are not the cause of failure.

The result is not beta: beta 0.01-0.03 and correlation to LINK 0.05-0.12. The strategy is genuinely market-neutral over time.

Four HARD validity floors fail. CPCV walk-forward is overfit, with IS Sharpe 0.39 against OOS -0.15. PBO is 0.62, above 0.5. The holdout Sharpe is -0.13 on 107 trades over 454 unseen days (2025-01-08 to 2026-04-07). OOS Sharpe of -0.15 is below the 0.5 floor.

Sensitivity analysis found cliffs on 11 of 11 parameters. Base-parameter Sharpe in the sensitivity sweep is about -0.01, and most of the 112 Optuna trials are 0 or negative. The parameter surface is flat or negative with no robust region.

The Sharpe is not statistically significant. DSR is 0.585 against an expected-max Sharpe of 0.325 over 11 effective trials (112 raw). The bootstrap CI runs from -0.42 to 1.20, straddling 0. PSR is 0.74. The strategy fails programme FDR (p=0.415).

Profits come from one regime. The optimized run loses in the calm tercile (Sharpe -0.26, -31%) and all profit comes from the stressed tercile. Only 3 of 7 calendar years are positive (a soaking floor that would otherwise block). 2026 YTD is -21% to -28%.

The pre-registered prediction met 2 of 5 checks. It missed OOS Sharpe (declared 0.7, actual -0.15), drawdown (declared 20%, actual 25.7%) and PF (declared 1.25, actual 1.20).

Unverified engine-review note: the daily MTM series again shows recurring paired -X%/+X% days while a position is open (e.g. 2024-12-16 -9.6/+10.6, 2025-03-26 -8.9/+9.8, 2026-01-20 -12.4/+13.3, 2026-03-20 -12.5/+14.0). The mechanism was not checked. It inflates volatility but does not change this verdict.

Outcome Summary

Clearing the fee floor per trade does not make an edge real: this signal's profit came only from the stressed-vol tercile, and it failed out of sample, as did an earlier LINK taker-flow momentum strategy that used the same feed in the opposite direction.

The backtest review said optimize, but the analyst then abandoned the strategy with failure code no_edge. Four non-waivable validity floors failed: overfit walk-forward (IS 0.39 vs OOS -0.15), OOS Sharpe below 0.5, PBO above 0.5 and a negative holdout Sharpe. Sensitivity flagged all 11 parameters as cliffs, so there was no robust region to iterate toward.

On LINKUSDT.BINANCE 4H bars, it faded extremes in taker aggression. The signal was the 24h mean of the Binance metrics taker_long_short_vol_ratio divided by its 96h mean: it went long at or below the trailing-1-year 10th percentile, short at or above the 90th, and held each position for a fixed 48h.

The initial backtest made +105% over 352 trades, with Sharpe 0.43, PF 1.18, 19.8% max drawdown and an avg trade return of 0.67% (well above the 0.15% fee floor), but the Sharpe CI was -0.42 to 1.23. After optimization (+88.5%, Sharpe 0.41, 25.7% max drawdown), walk-forward OOS Sharpe was -0.15, PBO 0.62, and holdout Sharpe -0.13 on 107 trades over 454 days.

Analysis

数字货币因子模型

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