trading2026-08-10Β·8 minΒ·58/68

The Buy-and-Hold Reality: BTC Rose +155% in 2023 and Beat 35 of 36 Strategies

Buy & hold returned +154.94% on BTC/USDT in 2023. After fees and funding, 35 of 36 lab strategies lost to it β€” and 26 of 36 still beat the drawdown. The case for doing nothing, with the math.

The Buy-and-Hold Reality: BTC Rose +155% in 2023 and Beat 35 of 36 Strategies

The benchmark sat in the data the whole year and nobody mentioned it until now. In 2023, BTC/USDT went from about $16,600 to about $42,300 β€” +154.94% total return on an hourly basis, with a maximum drawdown of -21.74% and a Sharpe of 2.42. Then the lab ran 36 strategies against it, and the embarrassing part is not what the strategies did to each other. Strategy Lab #42.

The head-to-head

The chart below shows every one of the 36 strategies after fees and funding. The red line is buy & hold.

All 36 strategies at 25bp slippage vs buy & hold line (2023, hourly, BTC/USDT)

After fees and funding, 35 of 36 strategies lost to doing nothing. The single exception: the linear regression channel (post 17), which returned +199.09% net on AAPL daily data with 106 trades β€” the only strategy in the lab that beat the passive benchmark, and the only one that also beats it at 25bp (+75.88%... which itself still underperforms holding's +154.94%).

So the trend strategies "worked" β€” in the weirdest possible way

This is the uncomfortable nuance that the per-post commentary danced around. EMA crossover made +89.38% net. That's a great absolute number. It is also 65 points below holding. The trend rules were long for most of the year; they captured the trend and then handed back the re-entry friction and the whipsaw losses that a continuous position never pays.

Only 8 of 36 strategies beat buy & hold on drawdown. The trend winners did not even do that: EMA crossover's worst drawdown was -22.6%, slightly worse than holding's -21.7%. The drawdown winners are the slow reversion and smooth-trend rules β€” Aroon (-15.8%), %B (-13.3%), RSI(14) (-16.1%), CCI (-18.5%), TRIX (-18.4%), EMA envelope (-17.0%), DEMA (-20.0%), RSI divergence (-15.9%). The honest framing: these strategies traded return for marginally lower drawdown, and almost all of them overpaid.

The three tiers

TierWhat it meansCountBest example
Beat buy & hold (net)Return > +154.94%1 of 36linear regression +199.09%
Positive but below benchmarkReal net return, still lost to holding25 of 36EMA +89.38%, TEMA +83.49%
Negative after costsLost money while BTC doubled10 of 36Stochastic -71.31%, k-NN -78.53%

The middle tier is where almost the whole lab lives. And it is the honest place to be: on a +155% trend year, "positive and below the benchmark" is the normal outcome of any sane long-biased system. What the 10-strategy bottom tier shows is that even sanity is optional.

The uncomfortable conclusion

A real 2023 strategy comparison is not "which indicator is best?" It is "why trade at all?" Every rule in this lab was competing against the free position that a coin flipped to heads on January 1 would have held all year. Only one beat it. The lab's actual deliverable, in my opinion, is not the winning indicators β€” it's this chart: the cost of trying to be clever is visible as the distance between the tops of the bars and the red line.

Code

import pandas as pd
from backtest_base import backtest_signal, metrics

df = pd.read_pickle("assets/data/binance_BTCUSDT_1h_2023-01-01_2023-12-31.pkl")
rets = df["close"].pct_change().fillna(0.0)
hold = (1 + rets).cumprod().iloc[-1] - 1
print(f"buy & hold 2023: {hold:+.2%}  "
      f"maxDD {(df['close'] / df['close'].cummax() - 1).min():+.2%}")

Reproduce it

cd blog-drafts/scripts
python gen_special_assets.py   # regenerates this chart + all group tables

Data: Binance public API, hourly OHLCV, 8,735 bars. Buy & hold figure also sits in every post.json under buy_hold.

This is a backtest on historical data, not investment advice. Past performance does not predict future results.