H-035: Short coins when 7-day BTC funding tops its 3-year 90th percentile, long otherwise
Fail Family: carry · Status: rejected
Do extreme BTC funding rates signal crypto drops? The idea did not beat simply buying the coin and holding it. It is rejected.
Result
oos: wins 0/11 (need 1), beats buy-and-hold 0/11
| Asset | Period | Sharpe | Hold Sharpe | CAGR | Hold CAGR | Max drawdown | Hold drawdown | In market | p-value | Beats hold | Counts as win |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BTCUSDT | oos (2022-01-06 → 2026-11-03) | 0.30 | 0.49 | +2.4% | +12.7% | -66.7% | -66.7% | 100% | 0.823 | no | no |
| ETHUSDT | oos (2022-01-06 → 2026-11-03) | 0.05 | 0.21 | -18.2% | -8.8% | -76.6% | -71.7% | 100% | 0.810 | no | no |
| SOLUSDT | oos (2022-01-06 → 2026-11-03) | 0.20 | 0.35 | -21.7% | -10.0% | -93.6% | -93.6% | 100% | 0.791 | no | no |
| BNBUSDT | oos (2022-01-06 → 2026-11-03) | 0.03 | 0.42 | -13.2% | +8.3% | -63.4% | -60.5% | 100% | 0.997 | no | no |
| XRPUSDT | oos (2022-01-06 → 2026-11-03) | -0.19 | 0.51 | -38.9% | +11.0% | -93.6% | -72.0% | 100% | 0.997 | no | no |
| ADAUSDT | oos (2022-01-06 → 2026-11-03) | -0.27 | -0.02 | -45.9% | -32.1% | -97.0% | -91.0% | 100% | 0.939 | no | no |
| LTCUSDT | oos (2022-01-06 → 2026-11-03) | -0.21 | 0.11 | -34.6% | -17.2% | -91.3% | -72.9% | 100% | 0.983 | no | no |
| LINKUSDT | oos (2022-01-06 → 2026-11-03) | -0.14 | 0.23 | -38.8% | -15.8% | -94.5% | -81.7% | 100% | 0.972 | no | no |
| DOGEUSDT | oos (2022-01-06 → 2026-11-03) | 0.09 | 0.26 | -26.5% | -14.4% | -85.8% | -85.2% | 100% | 0.862 | no | no |
| XLMUSDT | oos (2022-01-06 → 2026-11-03) | -0.44 | 0.29 | -54.9% | -9.7% | -98.2% | -74.8% | 100% | 0.991 | no | no |
| TRXUSDT | oos (2022-01-06 → 2026-11-03) | 0.34 | 0.75 | -30.6% | +36.7% | -97.1% | -51.1% | 100% | 0.989 | no | no |
Equity curves
Growth of 1 unit, log scale, fees included. Only days on which the rule is fully defined are counted.
The same rule on every coin
Exploratory check of this rule on all coins since 2022-01-01. It is not part of the verdict above.
- ✓works (passed the chance check)
- ↑better than holding, could be luck
- ✗worse than holding
- ·not enough data
- original coin of the hypothesis
| Coin | ✓ | Result | Sharpe: rule / holding | CAGR | From |
|---|---|---|---|---|---|
| BTC | ✗ | worse than holding | 0.30 / 0.49 | +2% / +13% | 2022-01-06 |
| ETH | ✗ | worse than holding | 0.04 / 0.21 | -18% / -9% | 2022-01-06 |
| SOL | ✗ | worse than holding | 0.20 / 0.35 | -22% / -10% | 2022-01-06 |
| BNB | ✗ | worse than holding | 0.02 / 0.42 | -13% / +8% | 2022-01-06 |
| XRP | ✗ | worse than holding | -0.19 / 0.51 | -39% / +11% | 2022-01-06 |
| ADA | ✗ | worse than holding | -0.28 / -0.02 | -46% / -32% | 2022-01-06 |
| LTC | ✗ | worse than holding | -0.21 / 0.11 | -35% / -17% | 2022-01-06 |
| LINK | ✗ | worse than holding | -0.14 / 0.23 | -39% / -16% | 2022-01-06 |
| DOGE | ✗ | worse than holding | 0.09 / 0.26 | -27% / -14% | 2022-01-06 |
| XLM | ✗ | worse than holding | -0.45 / 0.29 | -55% / -10% | 2022-01-06 |
| TRX | ✗ | worse than holding | 0.34 / 0.75 | -31% / +37% | 2022-01-06 |
| EVER | ✗ | worse than holding | -0.22 / -0.17 | -71% / -69% | 2022-03-19 |
| GRAM | ✗ | worse than holding | -0.42 / 0.12 | -45% / -18% | 2023-03-14 |
Why it might work
Very high BTC funding means crowded longs paying shorts; such extremes may precede pullbacks as the premium mean-reverts. The model drafted it for BTC only (its rationale read high funding as short-side pressure); widened to every coin (rule 7) on 2026-11-04, before any test. The signal stays BTC's funding; Binance coins trade long/short at the futures taker fee.
Verdict history
- 2026-11-04: Fail (this engine, data to 2026-11-03)
Pre-registered specification
kind: timing_rule
rule:
type: feature_vs_rolling_quantile
feature: funding_btc_7d
q: 0.9
long_when: not_above
lookback: 1095
min_periods: 730
lag: 1
mode: long_short
fee: 0.0005
universe:
- BTCUSDT
- ETHUSDT
- SOLUSDT
- BNBUSDT
- XRPUSDT
- ADAUSDT
- LTCUSDT
- LINKUSDT
- DOGEUSDT
- XLMUSDT
- TRXUSDT
periods:
- name: oos
start: '2022-01-01'
significance:
method: circular_shift
n: 2000
alpha: 0.0038
criterion:
min_wins:
oos: 1
require_significance: true