PerpForge
Get started

Concept · Reading the returns

Buy-and-Hold

The benchmark return of simply buying the coin at the start of the window and holding it to the end, unleveraged (1×). The honest yardstick every strategy is measured against — "could you have beaten doing nothing?"

Buy-and-Hold

The benchmark return of simply buying the coin at the start of the window and holding it to the end, unleveraged (1×). The honest yardstick every strategy is measured against — "could you have beaten doing nothing?"

In plain English

Buy-and-hold (sometimes "hodl") is the laziest possible strategy: buy once, never trade again, sell at the end. It's the benchmark because it's the default a person would do with zero skill and zero effort. A strategy only earned its complexity if it beat buy-and-hold — otherwise you did a lot of work to underperform sitting still.

Crucially, buy-and-hold here is unleveraged (1×) and spot-like — pure price appreciation. It does not borrow, does not pay funding (the periodic long/short payment on a perp), and never gets liquidated. Its only risk is that the coin falls and you sit through the drawdown (the worst peak-to-trough drop).

Formula / mechanic

buyAndHoldReturn = (close_last − close_first) / close_first

Computed in apps/backend/src/analytics/buy-and-hold.ts:43 by reusing the chart engine's computeBenchmark — there is no second buy-and-hold implementation, so the stored leaderboard number and the on-chart overlay line cannot drift. It is a property of the (symbol, interval, venue, window) window, computed once per window, identical for every strategy that ran on it. A return of 5.09 means the coin rose +509% over the window.

Why it matters for this fleet

Buy-and-hold answers honesty question #4 of the dossier: "did this strategy beat just holding the coin?" Over this window (Binance, ~2020-09-14 → 2026, a ~5.75-year bull run), holding exploded, so almost the whole fleet trails it. That is the expected result of measuring against one of the biggest beta (whole-market) runs in history — not a defect.

symbol buy-and-hold (1× daily) CAGR EMA-cross rows that beat it
BTC +509% 36.9%/yr 3 / 70
ETH +392% 31.9%/yr 1 / 70
SOL +2,405% 75.0%/yr 2 / 70

Two things to hold in mind whenever you read it:

  1. It is regime-specific. The bar depends entirely on which dates the window covers. The dossier's own caveat: "this was an exceptional bull run, where buy-and-hold is a brutal benchmark. In a bear or sideways window a disciplined trend-follower could beat holding." So "only 6 of 210 beat hold" is an in-sample, bull-window fact, not a forward claim. See market regime.
  2. It hides its own risk. The stored number is a return scalar with no drawdown attached. Holding SOL to capture +2,405% meant sitting through a ~90%+ peak-to-trough loss in 2022. Comparing a strategy's return to hold's return — while ignoring that hold suffered a near-wipeout to earn it — flatters hold. The honest comparison is risk-adjusted. See risk adjusted return.

Examples from the live fleet

  • SOL buy-and-hold +2,405% (CAGR 75.0%/yr) is the bar nearly every SOL strategy fails on raw return — only 2 of 70 SOL configs cleared it, both 50× longs riding amplified beta, not skill. None carries a stored drawdown, so the cost of earning that hold return is invisible in the comparison.
  • Per-strategy benchmark is granularity-matched. The engine stores buy-and-hold per (symbol, interval) from each interval's own candle endpoints, so a 4h strategy is judged against a 4h hold. For SOL this spreads the hold return ~2,069–2,405% across intervals (the day-1 intraday entry point on a low, volatile day). On run 83 the per-strategy and per-symbol verdicts agree on every beat/lose call (6 = 6, zero disagreements) — nothing sat in the ambiguous band.

What the engine does NOT yet do (the honesty upgrade)

The engine has the full buy-and-hold equity curve in memory (computeBenchmark) but only stores the endpoint return. It does not compute buy-and-hold's own max drawdown, so a risk-adjusted "alpha per unit of pain" comparison isn't yet possible. The dossier's own sim-scientist footnote flags this. Captured as a simulation-feature seed (SEED-025: benchmark max-drawdown + risk-adjusted alpha).

Related

Sources

  • wiki/qa-sessions/2026-06-22-session.md#q1 (first formal entry)
  • growth/content/dossiers/ema-cross/1-analysis.md §4 (benchmark + stored alpha, run 83)
  • apps/backend/src/analytics/buy-and-hold.ts:43; apps/backend/src/analytics/buy-and-hold-reproduction.test.ts
  • docs/analytics.md §"Buy-and-Hold Benchmark" + §"Stored per-strategy buy-and-hold + alpha"

Related concepts

See it in a real result →

Put it to the test

Does your idea have a real edge, or just a big number?

Spawn your variant, run it on the same engine, and read the edge-significance verdict — before you risk real money.

Test your own idea — free →Free account, no card