🦋 SPY Daily Iron Butterfly

Daily Iron Butterfly on SPY — Alpaca Paper Account · NikkiP2 · Mon–Thu Intraday


● Paper Trading  |  ⚪ Neutral / Net-Credit  |  📅 Intraday Only

📡 Strategy Overview

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.

Spread Construction

Leg Side Strike Action
Long Put Buy to open ATM − WING_WIDTH PAY (downside hedge)
Short Put Sell to open ATM COLLECT (premium)
Short Call Sell to open ATM COLLECT (premium)
Long Call Buy to open ATM + WING_WIDTH PAY (upside hedge)
Net Credit (short put + short call at ATM) − (long put + long call)

Both short strikes are at the same ATM strike. With the default $10 wing:

← $10 →     ATM     ← $10 →
LP               SP / SC               LC
(buy)          (sell / sell)          (buy)

Iron Butterfly vs Iron Condor

AspectIron ButterflyIron Condor
Short strikesBoth at ATMATM ± $10
Profit zoneNarrow (ATM ± credit)Wider (ATM ± $10 ± credit)
Max credit collectedHigher (ATM straddle)Lower (OTM strangle)
Win probabilityLowerHigher
Risk / rewardMore favourable ratioLower max credit per trade

⚙️ Parameters

Ticker
SPY
Qty / Leg
40
Wing Width
$10
ParameterValueDescription
TICKERSPYUnderlying ETF
QTY40Contracts per leg
WING_WIDTH10Distance from ATM to long strikes ($); also max loss per side

Max Profit

net_credit × $4,000

Max Loss

(10 − credit) × $4,000

Expiry

Next Friday

🕐 Schedule

EventTime (ET)Days
Entry open09:40Mon–Thu
Entry cutoff12:00Mon–Thu
Exit14:20Mon–Thu

Options expiry is always the next Friday (nearest weekly expiry).

📅

Friday Skipped

No new positions opened on Friday. Intraday-only exposure — no overnight risk.

Auto-Exit Rules

TriggerThresholdAction
PROFIT_TARGET_PCT+90% of max profitClose all legs
STOP_LOSS_PCT−80% of max profitClose all legs

🔍 Trade Filters

All filters are evaluated from live option prices at entry time. Set any filter to None to disable it.

#FilterValueRationale
1MIN_CREDIT_RATIO0.20Net credit must be ≥ 20% of wing width ($2.00 on a $10 wing) — the butterfly requires substantial premium since the profit zone is narrow
2MIN_CREDIT_ABS$1.00Absolute minimum credit per share — ensures adequate compensation for the short straddle risk
3MIN_STRADDLE_PCT0.75%Skip if the ATM straddle is < 0.75% of SPY — IV too low, premium won’t cover the expected move
4MAX_STRADDLE_PCT1.20%Skip if the ATM straddle is > 1.20% of SPY — market pricing in a move that will likely break the $10 wing
5MAX_GAP_PCT1.0%Skip if the overnight gap exceeds 1% — gap opens place SPY away from the ATM strike, reducing probability of pinning
6MAX_PREV_DAY_MOVE0.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

⚠️ Risk Assessment

Max Profit

net_credit × $4,000

Max Loss

(10 − credit) × $4,000

Upper Breakeven

ATM + credit

Lower Breakeven

ATM − credit

Overnight Risk

None

Delta at Entry

Neutral
⚠️

Narrow Profit Zone

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.

📋

Intraday-Only Exposure

No overnight risk. Positions are always closed by 14:20 ET. Friday is skipped entirely.

💡

Best Conditions

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.

🛠️ Prerequisites & Usage

Install Dependencies

pip install -r requirements.txt

Environment File — .envNP2

apiKeyAIV011P=<paper-trading API key>
apiSecretAIV011P=<paper-trading API secret>
apiDataKey=<data API key>
apiDataSecret=<data API secret>

Run

python3 daily_iron_butterfly_spy.py

The 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.

⚠️

Paper Trading Only — Not Financial Advice

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.

⚠️ Options Permission Requirements (Alpaca)

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.