Daily Iron Butterfly on SPY — Alpaca Paper Account · NikkiP2 · Mon–Thu Intraday
A neutral, high-premium-selling strategy that profits when SPY closes very close to the ATM strike at exit. All four legs share the same ATM centre strike, making this a higher-reward but tighter-range trade than the iron condor. Four option legs are opened each weekday morning (Mon–Thu) and closed at 14:20 ET the same day.
The combined short puts and calls at ATM form an ATM straddle — maximum profit is collected if SPY pins exactly at the strike at exit. Best conditions are low-volatility days where SPY is expected to drift in a $2–4 range around the open price.
Both short strikes are at the same ATM strike. With the default $10 wing:
| Aspect | Iron Butterfly | Iron Condor |
|---|---|---|
| Short strikes | Both at ATM | ATM ± $10 |
| Profit zone | Narrow (ATM ± credit) | Wider (ATM ± $10 ± credit) |
| Max credit collected | Higher (ATM straddle) | Lower (OTM strangle) |
| Win probability | Lower | Higher |
| Risk / reward | More favourable ratio | Lower max credit per trade |
| Parameter | Value | Description |
|---|---|---|
TICKER | SPY | Underlying ETF |
QTY | 40 | Contracts per leg |
WING_WIDTH | 10 | Distance from ATM to long strikes ($); also max loss per side |
| Event | Time (ET) | Days |
|---|---|---|
| Entry open | 09:40 | Mon–Thu |
| Entry cutoff | 12:00 | Mon–Thu |
| Exit | 14:20 | Mon–Thu |
Options expiry is always the next Friday (nearest weekly expiry).
No new positions opened on Friday. Intraday-only exposure — no overnight risk.
| Trigger | Threshold | Action |
|---|---|---|
PROFIT_TARGET_PCT | +90% of max profit | Close all legs |
STOP_LOSS_PCT | −80% of max profit | Close all legs |
All filters are evaluated from live option prices at entry time. Set any filter to None to disable it.
| # | Filter | Value | Rationale |
|---|---|---|---|
| 1 | MIN_CREDIT_RATIO | 0.20 | Net credit must be ≥ 20% of wing width ($2.00 on a $10 wing) — the butterfly requires substantial premium since the profit zone is narrow |
| 2 | MIN_CREDIT_ABS | $1.00 | Absolute minimum credit per share — ensures adequate compensation for the short straddle risk |
| 3 | MIN_STRADDLE_PCT | 0.75% | Skip if the ATM straddle is < 0.75% of SPY — IV too low, premium won’t cover the expected move |
| 4 | MAX_STRADDLE_PCT | 1.20% | Skip if the ATM straddle is > 1.20% of SPY — market pricing in a move that will likely break the $10 wing |
| 5 | MAX_GAP_PCT | 1.0% | Skip if the overnight gap exceeds 1% — gap opens place SPY away from the ATM strike, reducing probability of pinning |
| 6 | MAX_PREV_DAY_MOVE | 0.45× wing ($4.50) | Skip if the prior session’s intraday range exceeded 45% of the wing width — directional momentum from the prior session tends to carry over |
The butterfly has a much narrower profit zone than the condor. A $3 move away from ATM by 14:20 can turn a winner into a loser. Maximum loss: (WING_WIDTH − net_credit) × 100 × QTY = (10 − credit) × $4,000.
No overnight risk. Positions are always closed by 14:20 ET. Friday is skipped entirely.
The MIN_CREDIT_RATIO = 0.20 (vs 0.05 for the condor) reflects the higher premium requirement needed to make the narrow-zone payoff worthwhile. Best on low-volatility days where SPY is expected to grind in a $2–4 range around the open.
.envNP2The script blocks until market close, monitoring the position every 5 minutes and auto-exiting on profit target or stop loss. Trades are appended to butterfly_spy_trades_log.csv.
This strategy runs on an Alpaca paper trading account. Past performance does not guarantee future results. Do not use real capital without thorough risk review.
This strategy requires Level 3 (Spreads) options approval on the Alpaca account. Level 3 allows multi-leg defined-risk spreads (iron condors, iron butterflies, verticals, etc.). Accounts must also be margin-enabled.
Apply via: Alpaca Dashboard → Account → Trading → Options Trading → Level 3.