1. Home
  2. Strategies
  3. Bull Put Spread
  4. Backtest

Strategy deep-dive

Bull Put Spread Backtest: 60 Cycles on High-IV Single Names

Put credit spreads sold on a rotating basket of liquid, high-IV stocks — not the index. Win rate by delta, IV-rank-timed entries vs always-on, and why single-name premium cuts both ways.

Simulated data for display.

Illustrative narrative — not a verified live backtest. Build real backtests on the strategy builder.

60 cycles30 DTESingle names
60Cycles at 30 DTE
72%Win rate, 25-delta
+$17Net per cycle
-18%Max drawdown

One position at a time. Win rate and net per cycle are the 25-delta variant closed at 50% of max profit and entered only when IV rank was above 40; the drawdown is single-name gap risk.

On this page
  1. The test setup
  2. The payoff math
  3. Win rate by delta
  4. IV-rank-timed entries
  5. Exit rules
  6. The worst cycle
  7. Five takeaways

The test setup

Universe
A rotating basket of liquid, high-IV single names (large-cap tech, semis, and a few momentum stocks). One position at a time, rotated to whichever qualifying name had the highest IV rank that week.
Structure
Bull put spread — sell a put, buy a lower-strike put as the wing. 5-point wings on stocks priced like the index; scaled to ~3% of spot on higher-priced names.
Entry
30 DTE, short strike at 25 delta. The IV-rank-timed variant only enters when IV rank > 40; the always-on variant enters every cycle regardless.
Exit rules tested
(1) Hold to expiration; (2) close at 50% max profit; (3) close at 50% max profit plus a 200% stop — meaning the position is closed once the spread's value reaches 200% of the credit received, a loss equal to one times the credit. Defined that way the stop only binds while twice the credit is less than the spread width; on a 5-point spread it stops working once the credit exceeds $2.50.
Normalisation
Every dollar figure on this page is stated per contract and normalised to a $5-wide spread, so credit and max loss always sum to $500. That makes each row checkable against the three formulas in the next section.
Period
January 2020 – December 2024, sampled to 60 cycles.

The payoff math behind every number here

Sell the higher-strike put, buy the lower-strike put, keep the net credit. Three formulas govern the whole trade — every figure in the tables below is derived from them and nothing else:

  • Max profit = net credit × 100
  • Max loss = (spread width − net credit) × 100, where width = short strike − long strike
  • Breakeven = short strike − net credit

The first two always sum to the width × 100. A richer credit is therefore never free — it is bought with a smaller cushion below the short strike, and it shrinks the max loss only by shortening the distance the stock has to fall to reach it. That identity is why the delta table further down peaks in the middle instead of at the richest strike.

Worked example A, round numbers

Sell the $100 put, buy the $95 put, collect $1.50 net credit.

  • Max profit = 1.50 × 100 = $150
  • Max loss = (5.00 − 1.50) × 100 = $350
  • Breakeven = 100 − 1.50 = $98.50

$150 + $350 = $500, the full width. Use this case to check any spread calculator against.

Worked example B, the average 25-delta cycle

Stock near $140. Sell the $130 put, buy the $125 put, collect the table's average $1.85 credit.

  • Max profit = 1.85 × 100 = $185
  • Max loss = (5.00 − 1.85) × 100 = $315
  • Breakeven = 130 − 1.85 = $128.15

The 50% profit target is +$92.50 — the +$93 average winner in every table below.

Stock at expiration (example B) Spread value P&L per contract Outcome
$130.00 or above$0.00+$185Both puts expire worthless — max profit
$128.15$1.85$0Breakeven
$127.00$3.00-$115Short put ITM, long put still worthless
$125.00 or below$5.00-$315Both puts ITM — max loss, and it stops there

Note the asymmetry the tables below are fighting: the best cycle pays $185 and the worst costs $315. A 25-delta bull put spread has to win roughly 63% of the time simply to break even before any management is applied, which is why the win rate and the exit rule matter more than the credit.

Win rate by short-strike delta

Delta Win Rate Avg Credit Avg Winner Avg Loser Max Loss Net / Cycle
1682%$110+$55-$275$390-$4
25 ★72%$185+$93-$180$315+$17
3064%$235+$118-$175$265+$13
4054%$300+$150-$185$200-$4

Every row ties out. Max loss is (500 − credit) straight from the formula above, and each average winner is exactly half the credit because the profit target is 50% of max. Net per cycle is then win rate × average winner − loss rate × average loser — for the starred row, 0.72 × $93 − 0.28 × $180 = +$16.56, shown rounded.

On single names the sweet spot sits a touch richer than on the index: 25-delta collects meaningfully more credit than 16-delta while keeping the win rate above 70%. Notice the average loser is not monotonic. At 16-delta a breach requires a violent move, so the few losers that happen run most of the way to the $390 max. From 30-delta up the short strike is close enough that ordinary pullbacks breach it, and by 40-delta the max loss has shrunk to $200 while the average loser sits at $185 — the losses are small only because there is barely any cushion left to lose. That is why the expectancy column peaks in the middle and is negative at both ends.

IV-rank-timed entries vs always-on

Entry Rule Avg Credit Avg Winner Avg Loser Win Rate Net / Cycle 60-Cycle Net
Always-on (every cycle)$130+$65-$14069%+$1+$87
IV rank > 40 only$185+$93-$18072%+$17+$994

Same structure, same delta — only the entry filter changes. Demanding IV rank above 40 pays 42% more credit for the same directional risk, and that is the difference between a program that merely covers its own losers (+$1 a cycle, statistically indistinguishable from zero) and one with a real, if modest, edge. The low-IV cycles are not disasters; they are the ones where you take identical gap risk for two-thirds of the premium. Check IV rank before every entry on the IV rank lookup.

Exit rules: the stop matters more than the target

Exit Rule Win Rate Net / Cycle Max Drawdown
Hold to expiration68%+$11-31%
Close at 50% max72%+$17-18%
50% max + 200% stop69%+$21-12%

Read the win-rate column carefully, because it moves in the direction people expect for the wrong reason. Taking profit at 50% raises the hit rate (72% vs 68%) by banking cycles that would later have been given back, but it also halves the average winner from the full $185 credit to $93. The net gain is real but modest — $11 to $17 a cycle — and most of what you are buying is the drawdown, which falls from -31% to -18%.

Adding the stop costs three points of win rate, because a handful of positions get closed that would have recovered by expiration. It still comes out ahead on both counts: capping the tail at one times the credit is worth more than the recovered cycles are, and it takes the drawdown down to -12%. On single names, where the gaps are larger and less forgiving than on the index, the stop is doing more work than the profit target is.

Price the width, the credit and the breakeven before you sell it.

Open the credit spread calculator

Anatomy of the worst cycle

A high-flying semiconductor name trading near $140 was sold as a 25-delta bull put spread — short the $128 put, long the $123 put — for $2.10 credit into elevated IV. Running the formulas: max profit $210, max loss (5.00 − 2.10) × 100 = $290, breakeven $125.90. A guidance miss gapped the stock down 14% overnight to roughly $120, below both strikes, so the spread was worth its full $5.00 the moment it opened.

Held to expiration that is the full -$290. The 200% stop was triggered at a spread value of $4.20, but a stop cannot fill at its trigger price through an overnight gap — the actual exit came at $4.35 for a -$225 realised loss, saving $65 rather than the $80 the trigger implied. That slippage is not a footnote; it is the reason a stop is a tail-shortener on single names rather than a guarantee.

This is the single-name tax: the credit is richer, but one bad earnings or guidance gap can erase several winning cycles. It is the entire reason the stop-loss and IV-rank filter exist.

What the run says

Five things
the 60 cycles settled.

  1. Sell at 25-delta on single names.

    Richer than the index's 16-delta sweet spot, because single-name premium rewards a little more risk — but stop at 30.

  2. Time entries by IV rank.

    Only sell when IV rank is above 40. This was the largest single lever in the illustrative test — +$1 a cycle became +$17 a cycle, and nothing else on this page moved the number that far.

  3. Close at 50% max profit.

    Worth about $6 a cycle over holding to expiration, and worth far more than that in drawdown. Never hold a single-name spread to expiration for the last few dollars of credit.

  4. Run a hard stop-loss.

    Single-name gaps are larger than index moves; a 200% stop cut max drawdown by a third.

  5. Avoid earnings inside the cycle.

    A binary event turns a 72% strategy into a coin flip. Roll past or skip the name entirely.

Keep reading

The guide, the index
version, and the maths.

Backtest narrative is illustrative — built from typical bull put spread mechanics and historical regimes, not from live broker fills. Past performance, simulated or real, does not predict future results. See methodology.

Find the name.
Then price the spread.

Screen for a high IV rank, build the bull put spread against a live chain, and read the credit, the breakeven and the max loss before you sell it. Run it on AAPL without an account.

Real market data, not a sandbox. See it live on AAPL.

7 days free, cancel anytime Card required · no charge for 7 days
Start trial →