Daily Iron Condor on QQQ — Alpaca Paper Account · NikkiP2 · Mon–Thu Intraday
A neutral, premium-selling strategy that profits when QQQ closes within a defined range at exit. Four option legs are opened each weekday morning (Mon–Thu) on the nearest-expiry weekly options and closed at 14:20 ET the same day.
QQQ moves more in dollar terms per day than SPY. The tighter MAX_STRADDLE_PCT (1.0% vs 1.5% for SPY)
and higher MAX_PREV_DAY_MOVE threshold (1.50× wing vs 0.45× for SPY) reflect QQQ’s
larger typical daily range. The LOW_IV_HIGH_RVOL filter ($4.50 avg5 vs $3.00 for SPY) is
calibrated for QQQ’s higher dollar volatility per share.
With the defaults below, strikes are centred ±$10 from the ATM strike with $5 wings:
| Parameter | Value | Description |
|---|---|---|
TICKER | QQQ | Underlying ETF |
QTY | 40 | Contracts per leg |
SHORT_SPREAD | 10 | Distance from ATM to short strikes ($) |
WING_WIDTH | 5 | Width of each spread / 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.05 | Net credit must be ≥ 5% of wing width — ensures a meaningful breakeven cushion |
| 2 | MIN_CREDIT_ABS | $0.25 | Absolute floor on collected premium per share |
| 3 | MIN_STRADDLE_PCT | 0.10% | Skip if the ATM straddle is < 0.10% of QQQ price — IV collapse, not enough premium to justify risk |
| 4 | MAX_STRADDLE_PCT | 1.00% | Skip if the ATM straddle is > 1.00% of QQQ price — market pricing in a move large enough to breach the $10 short spread. Tighter than SPY (1.5%) due to QQQ’s higher dollar volatility |
| 5 | MAX_GAP_PCT | 1.0% | Skip if the overnight gap exceeds 1% — event-driven gap signals directional momentum unfavourable for neutral entry |
| 6 | MAX_PREV_DAY_MOVE | 1.50× wing (>$7.50) | Skip if the prior session’s intraday range exceeded 150% of the wing width — catches momentum-continuation losses in high-vol regimes |
| 7 | LOW_IV_HIGH_RVOL | straddle < 0.80% and avg5 > $4.50 | Skip days where IV appears calm but realized vol over the past 5 sessions has averaged more than $4.50/day — avoids selling cheap premium into a volatile tape |
| Date | Loss | Root Cause | Filter |
|---|---|---|---|
| 2026-03-09 | −$15,400 | Straddle 1.72% — market expected a large move | MAX_STRADDLE_PCT = 1.00% |
| 2026-03-23 | −$3,160 | Straddle 0.98%, elevated IV | MAX_STRADDLE_PCT = 1.00% |
| 2026-03-30 | −$2,960 | Straddle 1.70%, tariff-driven vol | MAX_STRADDLE_PCT = 1.00% |
| 2026-03-31 | −$3,680 | Straddle 1.19% | MAX_STRADDLE_PCT = 1.00% |
| 2026-04-07 | −$3,080 | Straddle 1.03% | MAX_STRADDLE_PCT = 1.00% |
| 2026-04-14 | −$3,760 | Prior day QQQ +$8.49 (1.70× wing) | MAX_PREV_DAY_MOVE = 1.50 |
| 2026-04-02 | −$3,760 | Low straddle (0.76%) but avg5 = $6.50 | LOW_IV_HIGH_RVOL |
Maximum loss is bounded by the wing width: (WING_WIDTH − net_credit) × 100 × QTY = (5 − credit) × $4,000.
No overnight risk. Positions are always closed by 14:20 ET. Friday is skipped entirely.
QQQ moves more in dollar terms per day than SPY. The $10 short spread can be threatened by intraday moves during high-vol regimes (tariff events, FOMC, macro surprises). The tighter MAX_STRADDLE_PCT and LOW_IV_HIGH_RVOL filters are calibrated to avoid the worst of these scenarios.
.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 condor_qqq_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.