🔬 Two engines, and they disagree.Real OPRA prices every trade at the option's actual historical 2-minute bars — no Black-Scholes, no implied-volatility assumption, real strike grid, real expiries. Modeled is the older Black-Scholes path where IV is estimated from the underlying's realized vol. Measured 2026-08-04, the modeled path overstated expectancy about 20× and flipped sign on a 13% change to that assumed IV. Prefer Real OPRA. Keep Modeled for comparison.
Data
calendar days
d
exclude pre/post market
Contract
days to expiration
× realized vol
%
Sizing
premium budget → contracts (0 = use fixed)
$
overrides budget if > 0
Exit rules
catastrophe floor
%
start trailing once up this much
%
give back from the peak
%
hard take-profit (0 = off)
%
m
Costs
bid/ask crossed each side
%
$
Data
calendar days — timeframe is pinned to 2m
d
Contract
trading sessions to expiry, resolved against contracts that exist
on the real grid (auto-detected, e.g. $1 on SPY)
premium budget → contracts
$
overrides budget if > 0
Exits
%
%
%
0 = off
%
m
Live guards — what Shadow already does
flat into the session close, never carried overnight
ET, blank = no cutoff
Costs & execution
measured over 68 real paper fills (0.43% in / 0.75% out)
%
Alpaca charges $0 on options
$
extra 2-min bars between signal and fill — this edge decays fast, so try 1
bars
Honesty
sweep in-sample only, then test the winner on unseen data & charge the search tax
Data
calendar days
d
one entry per day
Structure
days to expiration
strike you sell — 16 ≈ 1 SD OTM
Δ
$ between short & long strike
$
the vol you're selling — set it deliberately
%
Sizing
$ max-loss → contracts (0 = use fixed)
$
Management
close after keeping this % of the credit
%
close if loss hits this × the credit
×
Costs
crossed on entry + exit
%
$
Result
Set your knobs and hit Run backtest. Real greeks. No sugar-coating.