H-004: Best daily trend rule, long/short futures, beats buy-and-hold
Weak Family: trend · Status: weak
Do long/short trend rules on crypto futures beat holding? The idea did a bit better than simply buying and holding, but not by enough to rule out luck. Treat it as unproven.
Result
significant after Bonferroni (p < 0.0167) on 0/3 assets (need 2); beats buy-and-hold on 2/3
| Asset | Period | Rule (chosen in-sample) | Sharpe | Hold Sharpe | CAGR | Hold CAGR | Max drawdown | Hold drawdown | In market | p-value | Beats hold | Counts as win |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BTCUSDT | oos (2022-01-01 → 2026-10-13) | SMA50 | 0.56 | 0.50 | +16.7% | +13.1% | -62.6% | -66.9% | 100% | 0.080 | yes | no |
| ETHUSDT | oos (2022-01-01 → 2026-10-13) | DC20 | -0.00 | 0.22 | -21.3% | -7.8% | -87.1% | -74.0% | 100% | 0.399 | no | no |
| SOLUSDT | oos (2022-01-01 → 2026-10-13) | TSMOM180 | 0.38 | 0.36 | -7.8% | -9.2% | -86.2% | -94.6% | 100% | 0.180 | yes | no |
Equity curves
Growth of 1 unit, log scale, fees included. Only days on which the rule is fully defined are counted.
Why it might work
Same as H-003 with native shorts on USD-M futures (taker 0.05%).
Verdict history
- 2026-09-23: Fail (F1MEBOT (2026))
- 2026-10-14: Weak (this engine, data to 2026-10-13)
Pre-registered specification
kind: rule_search
candidates:
SMA20:
type: price_above_sma
window: 20
SMA50:
type: price_above_sma
window: 50
SMA100:
type: price_above_sma
window: 100
SMA200:
type: price_above_sma
window: 200
SMA20/50:
type: sma_cross
fast: 20
slow: 50
SMA50/200:
type: sma_cross
fast: 50
slow: 200
TSMOM30:
type: tsmom
lookback: 30
TSMOM90:
type: tsmom
lookback: 90
TSMOM180:
type: tsmom
lookback: 180
DC20:
type: donchian
entry: 20
DC55:
type: donchian
entry: 55
mode: long_short
fee: 0.0005
universe:
- BTCUSDT
- ETHUSDT
- SOLUSDT
in_sample:
start: '2018-01-01'
end: '2021-12-31'
out_of_sample:
start: '2022-01-01'
significance:
method: bootstrap
n: 400
alpha_family: 0.05
criterion:
min_strict_wins: 2