Reigraph Research

Study 12: The One Filter That Actually Improves Bull Put Spreads

We tested every entry filter we could think of — value screens, moving averages, trend filters. One worked. IV rank ≥ 30 lifted Sharpe from 2.782 to 3.160, turned both bad years positive, and cut kurtosis by 18%. The others made things worse.

optionsbull put spreadIV rankimplied volatilitybacktestingquantitative researchentry filter

Where We Left Off

Study 11 ended with an uncomfortable finding: a value screen (positive margin of safety, growing earnings) applied to a bull put spread strategy produced a Sharpe of 1.980 — worse than selling puts on the same universe with no filter at all (Sharpe 2.782). The edge in the strategy came from the structure and exit rule, not the fundamental screen.

The natural follow-up: what filter does add alpha?

We tested three hypotheses:

  1. IV rank ≥ 30 — only enter when the stock’s implied vol is elevated relative to its own 52-week range
  2. Above 50-day MA — only enter when the stock is in an uptrend
  3. Combined — both conditions required

One worked. One didn’t. One made things slightly worse.


The Logic

A bull put spread sells an OTM put and buys a lower-strike put for protection. The maximum gain is the net credit collected at entry. If credit is thin, there’s almost no margin for error — a modest adverse move eats the entire premium. If credit is fat, the position has a real buffer.

IV rank measures how expensive an individual stock’s options are relative to the past year:

IV rank = (HV30_today − HV30_52wk_low) / (HV30_52wk_high − HV30_52wk_low) × 100

IV rank of 0 means vol is at a 52-week low — options are cheap. IV rank of 80 means vol is near a 52-week high — options are expensive. Selling at high IV rank means collecting premium when the market is overpaying for protection. That premium provides a larger buffer when things go wrong.

The 50-day MA hypothesis was different: uptrending stocks should stay above the short strike more often. Intuitively appealing. As we’ll see, it doesn’t hold.


Results

Same universe (56 liquid large-caps), same mechanics (5%/10% OTM, 30 DTE, 50% profit target), same period (2018–2024). Four variants:

VariantFilterTradesSharpeWin RateKurtosis
ANone52,1332.78289.6%5.21
B50-day MA38,3522.65890.5%6.25
CIV rank ≥ 3034,1973.16088.8%4.28
DIV rank ≥ 30 + MA20,4512.97489.0%4.53

IV rank alone is the winner. It improves Sharpe by 0.378 points, reduces kurtosis by 18%, and cuts trade count by 34%. The MA filter makes things worse when added on top of IV rank, and worse than baseline when used alone.

Year-by-year comparison (Sharpe):

YearBaselineMA onlyIV rank ≥ 30Combined
2018−0.066−0.330+1.033+0.409
2019+5.749+6.034+10.304+10.055
2020+4.649+4.468+3.807+4.577
2021+3.641+2.492+3.757+1.657
2022−0.027−1.020+0.176−1.101
2023+4.806+4.798+9.154+9.678
2024+4.266+4.128+6.036+5.992

The IV rank filter turns both losing years positive. The MA filter makes 2022 materially worse (−1.020 vs −0.027 baseline).


Why IV Rank Works

The mechanism is premium buffer. When IV rank is above 30, HV30 is in the upper two-thirds of its annual range. That means the options you’re selling are priced for elevated volatility. Even if the stock moves more than usual, the extra premium collected at entry absorbs part of that move before the spread starts losing money.

At IV rank 30, you’re collecting roughly 40–60% more credit per spread than you would at IV rank 5. That extra credit doesn’t feel meaningful trade by trade, but it’s the difference between a losing year and a flat year when the market turns.

The self-correcting mechanism is the deeper insight. Look at qualifying tickers per day by year:

YearAvg tickers/daySharpe
201828.4+1.033
201922.4+10.304
202015.6+3.807
20218.9+3.757
202228.9+0.176
202312.4+9.154
202421.5+6.036

In 2021 — a low-volatility bull market where put selling is inherently dangerous (thin premium, strong upward drift that can reverse sharply) — only 8.9 tickers per day qualify. The filter naturally reduces exposure in unfavorable regimes without any explicit regime gate. In 2018 and 2022, when vol was elevated and the put-selling edge was largest, the filter approved ~29 tickers per day.

This is the strategy self-timing. You’re not making a macro call. You’re just asking “is this stock’s premium expensive right now?” and letting the collective answer determine position count.


Why the 50-Day MA Filter Fails

The MA filter selects stocks that are in confirmed uptrends at entry — which sounds right. The problem is timing.

Early in a bear market, stocks are still above their 50-day MAs. A broad selloff hasn’t lasted long enough to push prices below the average. The MA filter approves those entries. Then the trend continues down, the stock falls through both strikes, and the position expires at maximum loss.

In 2022 specifically: the market spent the first two months of the year in a short-term uptrend, with many stocks above their 50-day MAs. The MA filter loaded the portfolio with bull put spreads in February and March — just before the aggressive Fed rate hikes began driving a sustained selloff that lasted the rest of the year. The baseline (no filter) was more diversified and caught fewer of those trend-reversals as losses.

The MA filter concentrates entries at the worst possible time: when the short-term trend has been up long enough that the 50-day MA is below price, but the medium-term reversal is already underway.

IV rank doesn’t have this problem. It measures whether options are priced for elevated volatility — independent of price direction. High IV rank during a selloff means the market is paying up for put protection, which is exactly when selling that protection has the best expected return.


Out-of-Sample Stability

Split 2018–2020 vs 2021–2024:

PeriodSharpeTradesWin Rate
2018–20203.54516,71989.8%
2021–20242.80417,47887.8%

Both halves are strongly positive. The first half includes the 2018 rate selloff, the 2019 recovery, and COVID. The second includes the 2022 rate shock cycle and the 2023–2024 bull market. The filter holds across both macro regimes.


What the Data Supports

The edge is selling expensive premium. IV rank is a direct measure of how expensive individual stock options are. When you filter to IV rank ≥ 30, you’re selecting for positions where the market is overpaying for protection relative to that stock’s recent volatility history. That overpayment is your edge.

The threshold at 30 is not a magic number. We swept thresholds from 0 to 60:

IV rank minSharpeKurtosis20182022
0 (none)2.7825.21−0.07−0.03
102.9354.82−0.06−0.02
202.8734.15+0.09−0.03
302.8723.66+0.37+0.06
402.7473.06+0.72+0.11
502.7752.63+0.91+0.38
602.8862.36+1.23+0.25

The Sharpe is roughly flat from 10 to 60 — the filter doesn’t improve mean returns much above threshold 20. What it does consistently is reduce kurtosis. At IV rank ≥ 60, kurtosis is 2.36 (close to normal). At IV rank ≥ 0, kurtosis is 5.21 (significant fat left tail).

The practical trade-off: higher threshold = fewer trades, cleaner return distribution, more calendar days sitting on hands. IV rank ≥ 30 is a reasonable balance between trade frequency and tail reduction.


Known Limitations

The same caveats from Study 11 apply:

  • Survivorship bias: 56-ticker universe is today’s survivors. Estimated win-rate inflation 3–8%.
  • IV proxy: HV30 × 1.20 as IV estimate; real skew and term structure differ.
  • 2022 not fully solved: IV rank ≥ 30 produces Sharpe +0.176 in 2022, not strong. A sustained directional selloff from rate hikes is harder than a spike-and-recover pattern.
  • Beta exposure: correlation with SPY ~0.35. This strategy is not market-neutral.

The Summary So Far

Across three studies, the hierarchy of entry filters for bull put spreads on liquid large-caps:

FilterSharpe
Value screen (MOS + EPS growth)1.980
No filter2.782
50-day MA2.658
IV rank ≥ 303.160

The edge in put selling comes from selling expensive volatility, not from predicting which stocks will go up. The value screen fails because it concentrates the portfolio in financial stocks that are directly exposed to rate shocks. The MA filter fails because it selects entries at the tail end of uptrends. IV rank succeeds because it measures the one thing that directly determines whether put selling has positive expected value: whether the premium is fat enough to cover the losses that will inevitably occur.

The 50% profit target remains the single most important rule. Take the money at 50%, every time.


Backtest methodology: 2018–2024, 56 liquid large-cap tickers, Black-Scholes pricing, HV30 × 1.20 IV proxy, 5%/10% OTM bull put spreads, 30-DTE, 50% profit target, max 30 concurrent positions. IV rank computed as rolling 252-day percentile of HV30. Commission $5.20/contract. Threshold sweep performed post-hoc on pooled placebo trades; clean variant runs applied filter before position-cap selection.