Ewan Li

S-C C1 iron butterfly, exploration

Single-name variance premium, earnings-free

paperaccountMAbookC1-IBstartedOct 2, 2026

What it is

The exploration book of S-C's iron butterfly: one contract a week on every stock or fund S-C can price at the money (81 in its first week), whatever its other filters and its ten-name selection say, with the first filter it failed on each position. It shows how the names S-C's filters turn away would have fared beside the ones it selects; in its first week most were turned away for a market cap above $20B. S-C has two variants, C1 (every sector) and C2 (Technology excluded). These positions carry C1 because each verdict is read against C1's filters and C1's ten, so a stock C1 selected is marked PASS and repeats C1's champion position at one contract. It never counts toward the champion's record, its caps or its go or no-go, and no read is fixed for it.

The rule

  • Entry: every week, on the last session: one contract on every stock or fund in the options data's end-of-day stock screener that has S-C's expiry and at-the-money pair and a known close and 30-day implied volatility, whatever its other filters say.
  • Expiry: of the expiries that traded that day, the one 20 to 40 calendar days out nearest 28.
  • At the money: the strike nearest the close, within 2.5% of it, whose call and put each printed at least 5 contracts from 15:00 to 16:00 ET; both sold at their average traded price in that window.
  • Wings: a call bought at S + 2σ and a put at S − 2σ, each at the nearest strike on the expiry's grid, which need not have traded, with S the close and σ = S × the 30-day implied volatility × √(days to expiry/365). A wing is priced at its average traded price from 15:00 to 16:00 ET if at least 5 contracts traded then, at the quote's midpoint at its last print in that window if fewer did, and otherwise by Black-Scholes from the close and the 30-day implied volatility, adjusted for the contract's own implied volatility when it traded in the five sessions before. A stock whose wings would not fall on either side of the sold strike gets no iron butterfly that week.
  • Verdict: the first of C1's filters the stock failed, in the order they are checked; whether it also fails a later one is not recorded. F1 common stock or ADR (so ETFs and other funds fail it), F2 a close of $10 or more, F3 a market cap of $1B to $20B, F4 a 20-session average dollar volume of at least $50M, F5 a known earnings date after the expiry, F6 a 30-day implied volatility of 30% to 80%, F9 quoted spreads of at most 8% on both at-the-money legs. F10 if it passed them all but missed C1's ten lowest spreads, which includes a stock only C2 selected; PASS if C1 selected it. F7 and F8, S-C's expiry and at-the-money rules, are met by every position here.
  • Size: one contract, with no caps; the return is measured on its max loss, the wider wing's width less the credit.
  • Exit: held to expiry and settled at intrinsic value against the official close (or the stock's price at that day's last option print if the close is missing); a split during the hold is adjusted for, and a stock that stops trading settles at its last close. Early assignment and dividends are not modelled.
NameValueUnitWhere it livesPinned by
price_min10USD, the entry session's close (F2)engine/config.py:243tests/test_sc_frozen_params.py:25
mcap_min1000000000USD of market cap (F3)engine/config.py:244tests/test_sc_frozen_params.py:25
mcap_max20000000000USD of market cap (F3)engine/config.py:245tests/test_sc_frozen_params.py:25
adv_min50000000USD a day, 20-session average dollar volume (F4)engine/config.py:246tests/test_sc_frozen_params.py:25
ADV_WINDOW_SESSIONS20sessions in the average dollar volume (F4)engine/strategies/sc_data.py:17—
iv30d_min0.330-day implied volatility, annualized, as a fraction (F6)engine/config.py:247tests/test_sc_frozen_params.py:25
iv30d_max0.830-day implied volatility, annualized, as a fraction (F6)engine/config.py:248tests/test_sc_frozen_params.py:25
dte_cal_min20calendar daysengine/config.py:249tests/test_sc_frozen_params.py:25
dte_cal_max40calendar daysengine/config.py:250tests/test_sc_frozen_params.py:25
target_dte_cal28calendar daysengine/config.py:251tests/test_sc_frozen_params.py:25
atm_band0.025of the closeengine/config.py:252tests/test_sc_frozen_params.py:25
leg_size_min5contracts printed from 15:00, each legengine/config.py:253tests/test_sc_frozen_params.py:25
spread_max0.08of the quote's midpoint, each leg (F9)engine/config.py:254tests/test_sc_frozen_params.py:25
select_n10names a week (F10)engine/config.py:255tests/test_sc_frozen_params.py:25
wing_sigma2σ, the wings' distance from Sengine/config.py:257tests/test_sc_frozen_params.py:25
LATE_START15:00:00ET, the late window's start; it runs to the closeengine/config.py:42tests/test_frozen_params.py:39
COMMISSION_PER_CONTRACT0.65USD a contract, each legengine/config.py:55tests/test_frozen_params.py:39
TIER1_MIN_SIZE5contracts printed from 15:00 for a wing to be priced at its average traded priceengine/config.py:50tests/test_frozen_params.py:39
MODEL_IV_LOOKBACK5sessions back for a model-priced wing's own implied volatilityengine/config.py:52tests/test_frozen_params.py:39
MODEL_SPREAD_LOOKBACK20sessions of the stock's option spreads behind a model-priced wing's spreadengine/config.py:53tests/test_frozen_params.py:39
MODEL_SPREAD_FLOOR0.05a model-priced wing's least spreadengine/config.py:51tests/test_frozen_params.py:39
SPLIT_TOL0.05gap between the screener's and the daily bars' entry close read as a splitengine/strategies/sc.py:38tests/test_sc_frozen_params.py:39

Its read

What is read
—
Read on
—
Trades needed
—
Trades logged
—
Hard stop
—
Shipped on
—
Deployed commit
4a94224

Record so far

Closed trades
0
Won
—
P&L
—
Net P&L
—
Closed without a P&L
—
Closed without a net P&L
—
Open
143
Record GitHub ledger
Cost model

half of each leg's spread plus $0.65 a contract at entry, the spread quoted from 15:00 to 16:00 ET or, for a wing priced by model, the stock's median option spread over the 20 sessions before, at least 5%; nothing at expiry

The newest 100 of 143 trades.

OpenedClosedAccountSymbolSideSizeEntryExitP&LNet P&LReturnHeldExit byStatusRecord
Oct 9, 2026—MAAALshort11.265299——————openGitHub ledger (1)
Oct 9, 2026—MAAAPLshort119.704844——————openGitHub ledger (1)
Oct 9, 2026—MAABNBshort115.801345——————openGitHub ledger (1)
Oct 9, 2026—MAACHRshort10.680652——————openGitHub ledger (1)
Oct 9, 2026—MAAEHRshort118.937885——————openGitHub ledger (1)
Oct 9, 2026—MAAMDshort169.946523——————openGitHub ledger (1)
Oct 9, 2026—MAAMZNshort122.132478——————openGitHub ledger (1)
Oct 9, 2026—MAASOshort14.320967——————openGitHub ledger (1)
Oct 9, 2026—MAASTSshort18.19657——————openGitHub ledger (1)
Oct 9, 2026—MACELHshort13.916282——————openGitHub ledger (1)
Oct 9, 2026—MACRWVshort111.67804——————openGitHub ledger (1)
Oct 9, 2026—MADALshort16.670476——————openGitHub ledger (1)
Oct 9, 2026—MADELLshort170.17125——————openGitHub ledger (1)
Oct 9, 2026—MADRAMshort15.879912——————openGitHub ledger (1)
Oct 9, 2026—MAEWZshort13.830162——————openGitHub ledger (1)
Oct 9, 2026—MAFshort11.021606——————openGitHub ledger (1)
Oct 9, 2026—MAFRMIshort10.745349——————openGitHub ledger (1)
Oct 9, 2026—MAGLDshort118.528187——————openGitHub ledger (1)
Oct 9, 2026—MAGMEshort13.592579——————openGitHub ledger (1)
Oct 9, 2026—MAGOOGshort126.838764——————openGitHub ledger (1)
Oct 9, 2026—MAHIMSshort15.144037——————openGitHub ledger (1)
Oct 9, 2026—MAHOODshort114.715221——————openGitHub ledger (1)
Oct 9, 2026—MAIBITshort13.527106——————openGitHub ledger (1)
Oct 9, 2026—MAINTCshort114.082364——————openGitHub ledger (1)
Oct 9, 2026—MAIRENshort15.455134——————openGitHub ledger (1)
Oct 9, 2026—MAIWMshort111.070465——————openGitHub ledger (1)
Oct 9, 2026—MAJPMshort118.610927——————openGitHub ledger (1)
Oct 9, 2026—MAMARAshort11.471432——————openGitHub ledger (1)
Oct 9, 2026—MAMPshort15.885574——————openGitHub ledger (1)
Oct 9, 2026—MAMRNAshort153.916274——————openGitHub ledger (1)
Oct 9, 2026—MAMSFTshort136.521333——————openGitHub ledger (1)
Oct 9, 2026—MAMUshort196.860711——————openGitHub ledger (1)
Oct 9, 2026—MANBISshort131.823548——————openGitHub ledger (1)
Oct 9, 2026—MANFLXshort16.880603——————openGitHub ledger (1)
Oct 9, 2026—MANIOshort10.32782——————openGitHub ledger (1)
Oct 9, 2026—MANKEshort12.438955——————openGitHub ledger (1)
Oct 9, 2026—MANVDAshort114.501853——————openGitHub ledger (1)
Oct 9, 2026—MAOKLOshort14.652923——————openGitHub ledger (1)
Oct 9, 2026—MAPLTRshort125.414963——————openGitHub ledger (1)
Oct 9, 2026—MAQCOMshort119.115688——————openGitHub ledger (1)
Oct 9, 2026—MAQQQshort129.584113——————openGitHub ledger (1)
Oct 9, 2026—MARDDTshort125.297018——————openGitHub ledger (1)
Oct 9, 2026—MARIVNshort11.869092——————openGitHub ledger (1)
Oct 9, 2026—MARKTshort11.675053——————openGitHub ledger (1)
Oct 9, 2026—MASHOPshort124.317216——————openGitHub ledger (1)
Oct 9, 2026—MASMCIshort16.882492——————openGitHub ledger (1)
Oct 9, 2026—MASNDKshort1218.099427——————openGitHub ledger (1)
Oct 9, 2026—MASNXXshort13.604544——————openGitHub ledger (1)
Oct 9, 2026—MASOFIshort11.838897——————openGitHub ledger (1)
Oct 9, 2026—MASOXLshort131.288536——————openGitHub ledger (1)
Oct 9, 2026—MASPCXshort116.528171——————openGitHub ledger (1)
Oct 9, 2026—MASPYshort119.612594——————openGitHub ledger (1)
Oct 9, 2026—MATshort11.615131——————openGitHub ledger (1)
Oct 9, 2026—MATLTshort12.253269——————openGitHub ledger (1)
Oct 9, 2026—MATMUSshort113.678941——————openGitHub ledger (1)
Oct 9, 2026—MATQQQshort19.356096——————openGitHub ledger (1)
Oct 9, 2026—MATSLAshort134.77617——————openGitHub ledger (1)
Oct 9, 2026—MATSMshort131.413031——————openGitHub ledger (1)
Oct 9, 2026—MAUshort16.296367——————openGitHub ledger (1)
Oct 9, 2026—MAVIXshort12.095989——————openGitHub ledger (1)
Oct 9, 2026—MAVSTshort118.026186——————openGitHub ledger (1)
Oct 9, 2026—MAVZshort12.892126——————openGitHub ledger (1)
Oct 2, 2026—MAAAOIshort121.681508——————openGitHub ledger (1)
Oct 2, 2026—MAAAPLshort117.941937——————openGitHub ledger (1)
Oct 2, 2026—MAAMDshort163.251593——————openGitHub ledger (1)
Oct 2, 2026—MAAMZNshort120.838689——————openGitHub ledger (1)
Oct 2, 2026—MAAPLDshort14.736159——————openGitHub ledger (1)
Oct 2, 2026—MAAPPshort131.132543——————openGitHub ledger (1)
Oct 2, 2026—MAAVGOshort126.492188——————openGitHub ledger (1)
Oct 2, 2026—MAAXTIshort122.603038——————openGitHub ledger (1)
Oct 2, 2026—MABAshort115.908595——————openGitHub ledger (1)
Oct 2, 2026—MABABAshort17.757175——————openGitHub ledger (1)
Oct 2, 2026—MABACshort13.218369——————openGitHub ledger (1)
Oct 2, 2026—MACBRSshort123.943655——————openGitHub ledger (1)
Oct 2, 2026—MACOINshort123.656695——————openGitHub ledger (1)
Oct 2, 2026—MACRCLshort110.671829——————openGitHub ledger (1)
Oct 2, 2026—MACRWVshort113.051628——————openGitHub ledger (1)
Oct 2, 2026—MACSCOshort16.757308——————openGitHub ledger (1)
Oct 2, 2026—MADIAshort115.192373——————openGitHub ledger (1)
Oct 2, 2026—MAECHOshort17.861057——————openGitHub ledger (1)
Oct 2, 2026—MAFshort11.028212——————openGitHub ledger (1)
Oct 2, 2026—MAGMEshort12.590655——————openGitHub ledger (1)
Oct 2, 2026—MAGOOGshort125.267019——————openGitHub ledger (1)
Oct 2, 2026—MAGOOGLshort125.664523——————openGitHub ledger (1)
Oct 2, 2026—MAHOODshort114.923662——————openGitHub ledger (1)
Oct 2, 2026—MAHPEshort19.518835——————openGitHub ledger (1)
Oct 2, 2026—MAIBITshort13.51616——————openGitHub ledger (1)
Oct 2, 2026—MAIEFshort11.50803——————openGitHub ledger (1)
Oct 2, 2026—MAINTCshort117.750694——————openGitHub ledger (1)
Oct 2, 2026—MAIONQshort15.928103——————openGitHub ledger (1)
Oct 2, 2026—MAIRENshort15.960628——————openGitHub ledger (1)
Oct 2, 2026—MAIWMshort111.072212——————openGitHub ledger (1)
Oct 2, 2026—MAJNJshort114.202681——————openGitHub ledger (1)
Oct 2, 2026—MAKOshort13.882753——————openGitHub ledger (1)
Oct 2, 2026—MAKWEBshort11.243756——————openGitHub ledger (1)
Oct 2, 2026—MAMARAshort11.826553——————openGitHub ledger (1)
Oct 2, 2026—MAMETAshort165.618062——————openGitHub ledger (1)
Oct 2, 2026—MAMOshort13.629115——————openGitHub ledger (1)
Oct 2, 2026—MAMRVLshort135.770906——————openGitHub ledger (1)
Oct 2, 2026—MAMSFTshort135.885337——————openGitHub ledger (1)
  1. (1)
    Record GitHub ledger
    Cost model

    half of each leg's spread plus $0.65 a contract at entry, the spread quoted from 15:00 to 16:00 ET or, for a wing priced by model, the stock's median option spread over the 20 sessions before, at least 5%; nothing at expiry

Where the research is

  • market-analysis
  • S-C's specification (findings market-analysis/DESIGN/90)
  • Why the exploration book exists (findings market-analysis/DESIGN/100)