← All backtests

LEAPS Only Strategy

GrowthThetaRules built-in

Own a ~2-year 0.80 Δ LEAPS and roll it: nothing else. The baseline every LEAPS strategy should beat. Set hedge_delta (e.g. 0.05) to add a crash put.
Default settings, 2020 to Nov 4, 2026.

By stock and year

Select a row to chart it below. Shade is the gap to buying and holding that stock.

Unhedged: nothing protects against a crash beyond what the strategy itself holds.

Stock2020202120222023202420252026 YTDCAGRB&H CAGRMax drawdown
+77.9%+62.7+70.5%+43.6−45.4%−25.9+65.8%+41.6+62.7%+39.4+29.9%+13.5+22.3%+9.8 +33.0%+13.4%−48.4%
+174.0%+128.8+46.1%+19.3−57.6%−24.5+128.2%+74.4+47.1%+22.3+32.9%+12.7+22.5%+9.8 +38.3%+18.5%−61.1%
+125.6%+107.1+19.5%+6.2−42.8%−21.2+29.9%+14.8+20.8%+10.7+20.6%+9.2+35.1%+19.8 +22.1%+8.2%−75.9%
+61.7%−56.1+92.5%−32.7−43.5%+6.8+156.8%−82.2+166.5%−4.7+34.6%−4.2+6.7%+6.6 +51.5%+65.2%−60.9%
+209.8%+133.1+21.7%−12.1−32.3%−5.4+49.5%+1.3+48.2%+18.2+10.8%+2.2+34.7%+6.1 +36.4%+25.2%−39.4%
Gap to buy and hold: behind ahead · option prices before Feb 2024 are modelled, real quotes after

Growth of $10,000

Weekly closes on a log scale; the red shade is the strategy's drawdown from its last high. Returns are on the capital the strategy needed at its peak, with interest on idle cash. Hypothetical: how the backtests are made.

Rules · the when / do flow, read-only until you make a copy
Show flow

The strategy runs as 2 tracks side by side. Each day, the first rule whose conditions hold in each track acts.

1. LEAPS

One LEAPS call, rolled when old or deep in the money

  1. L1Buy the LEAPS call When: leg.leap.open == 0Do: buy call (as leap) delta leap_delta (0.8) dte leap_dte (730) dte_min leap_dte - 120 dte_max leap_dte + 120 strict 1
  2. L2Getting old or deep in the money: swap it for a fresh one When: leg.leap.dte <= leap_roll_dte or leg.leap.delta >= leap_roll_deltaDo: close leap; buy call (as leap) delta leap_delta (0.8) dte leap_dte (730) dte_min leap_dte - 120 dte_max leap_dte + 120 strict 1

2. Crash put

A cheap far put under whatever is held; hedge_delta 0 turns it off

  1. CP1Something is held and no crash put: buy one When: hedge_delta > 0 and leg.hedge.open == 0 and shares >= 100 or book.open > 0Do: buy put (as hedge) qty max(1, round(shares / 100)) delta hedge_delta (0) dte hedge_dte (90) dte_min hedge_replace_dte + 7 strike_max spot - 0.001 strict 1
  2. CP2Nothing left to protect: sell it When: leg.hedge.open == 1 and shares < 100 and book.open <= 1Do: close hedge
  3. CP3Down to its last month, or worth hedge_take_x its cost: sell it and buy a fresh one When: leg.hedge.open == 1 and leg.hedge.dte <= hedge_replace_dte or (hedge_take_x > 0 and leg.hedge.mark >= leg.hedge.cost * hedge_take_x)Do: close hedge; buy put (as hedge) qty max(1, round(shares / 100)) delta hedge_delta (0) dte hedge_dte (90) dte_min hedge_replace_dte + 7 strike_max spot - 0.001 strict 1

Parameters and defaults

Every named number in the rules can be changed in the Rule Builder. These are the defaults the backtest used.

ParameterDefault
leap_delta0.8
leap_dte730
leap_roll_dte270
leap_roll_delta0.95
hedge_delta0
hedge_dte90
hedge_replace_dte30
hedge_take_x3

Make a copy to change any of it and run your own backtest.

Trade log · every open, roll, assignment and close for SPY
Show trades

Loading…

growth

Own a ~2-year 0.80 Δ LEAPS and roll it: nothing else. The baseline every LEAPS strategy should beat. Set hedge_delta (e.g. 0.05) to add a crash put.

What it is

Instead of buying 100 shares, buy one deep in-the-money call about two years out (around 0.80 delta) and keep rolling it. The LEAPS call moves roughly like 80 shares for a fraction of the cash, and nothing else is traded unless you switch on the optional crash put.

When to use it

Use it when you are bullish on a stock or index over years, want stock-like exposure without tying up the full share price, and want a plain baseline to compare every other LEAPS strategy against.

Maximum risk

The most you can lose is what you paid for the LEAPS call (plus any crash puts). A sharp fall can take most of the LEAPS call's value; unlike shares, a LEAPS call also loses time value, which the rolls pay for.

Questions

Why roll the LEAPS call at 270 days left?

Time decay speeds up in an option's last months. Swapping to a fresh two-year LEAPS well before then keeps most of what you pay as stock-like exposure rather than time value.

How much cash does a LEAPS call save versus shares?

A 0.80 delta, two-year call usually costs about a quarter to a third of what 100 shares cost, so the rest of the cash can sit in T-bills. The backtest counts that interest.

What does the crash put setting do?

Set hedge_delta (for example 0.05) to hold a cheap put about 90 days out under the LEAPS call, swapped monthly or when it has paid off 3×. It costs a little every year and pays in crashes.

Related strategies