Earnings Volatility Scanner

Two-stage calendar-spread screen: build a weekly watchlist, then check entries the day you'd actually open them.

Stage 1 · Weekly Watchlist

Structural legs and liquidity only (back OI, chain depth, net debit) - no IV30/RV30 or term slope yet, those only mean something close to the entry day. Run this Sunday night, or whenever.

Ticker Report Entry Day Calendar Net Debit Back OI / Depth Contracts @6%
No watchlist built yet.

Stage 2 · Entry-Day Check

Reads the persisted watchlist above and re-checks only the names whose entry day is the date below, with fresh data (net debit and back OI can move by the time you get here) plus the volatility filters. Run this around 3:30pm on an entry day.

Ticker Verdict Calendar Debit / Max Front Leg Back Leg Depth / Net% Contracts @6% IV30/RV30 TS Slope Avg Vol
Check an entry date to see today's trades.

What each column means

Verdict
Recommended: all three volatility filters pass and the calendar's legs are liquid. Consider: the term-structure slope passes plus exactly one of the other two volatility filters, and the legs are liquid. Avoid: none of the above, or a soft liquidity gate (spread, chain depth, net debit) failed. Avoid - illiquid: hard veto (back OI < 100 or net spread > 200% of the debit) - overrides every other filter regardless of how well it scores.
Calendar
Front (sold, nearest expiration after the report date) → back (bought, nearest standard monthly ≥25 DTE), at the strike with the highest front-leg open interest among the 3 nearest spot.
Debit / Max
Net debit: back mid price minus front mid price - must be ≥ $2.00, or below a size worth bothering with. Max contracts: min(front OI, back OI) ÷ 10.
Front Leg / Back Leg
Open interest / bid-ask spread on each leg's call at the chosen strike. Fails if OI < 250 or spread > 15% of mid. Back-leg OI < 100 is the hard veto.
Depth / Net%
Chain depth: strikes in the back expiration with call OI ≥ 50 (fails below 5). Net spread %: combined leg spread as a % of net debit (fails above 80%; above 200% is the hard veto) - an upper bound on friction, not the real fill cost.
Contracts @6%
Position size at 6% of account equity: floor(account × 6% ÷ (net debit × 100)).
IV30/RV30
30-day implied volatility ÷ 30-day realized volatility (Yang-Zhang). Fails below 1.25.
TS Slope
Term-structure slope, nearest expiration to 45 days out. Fails above -0.00406.
Avg Vol
30-day average daily share volume. Fails below 1,500,000.