# option-iron-trading-system

> Automated paper-trading of iron condors on liquid index ETFs (SPY, QQQ)

## What It Does
Sells defined-risk iron condors on index ETFs: simultaneously short an OTM put spread and an OTM call spread on the same expiry, banking both premiums and profiting when price stays range-bound. A regime filter stands aside in trends and vol spikes, a 50%-credit profit-take exits early, and a monthly-loss circuit breaker halts new opens after a bad month. One of three parallel $20k paper books (alongside `option-vertical` and `options-wheel`) built as a head-to-head benchmark.

## Tech Stack
- Language: Python 3
- Options pricing: Black-Scholes proxy (20-day historical vol) — no live chain yet
- Data: shared `_trading_lib.marketdata` (daily OHLCV, SMA200)
- Key deps: `_trading_lib` (verify_gate SPREAD_COUNCIL, notify, fleet engine)

## Key Features
- Simultaneous OTM put spread + OTM call spread (iron condor), 40 DTE, $2 wings
- Strike selection: ~0.28 delta short put / ~0.22 delta short call (index skew)
- Regime filter: only open within ±9% of 200-SMA and when 20d vol ≤1.5× its 120d level
- 50% credit profit-take; monthly −8% circuit breaker halts new opens
- Every trade cleared by the shared 5-reviewer SPREAD_COUNCIL before booking; max risk ≤2% of book ($400/trade)

## How to Run
```bash
cd /home/barry/projects/option-iron-trading-system
python3 iron.py
```
Cron-guarded: runs weekdays at 13:25 PT. State in `data/paper_state.json`; audit log in `logs/`.

## Status
Working (paper-trading) — live since 2026-07-05 as part of the wheel/vertical/iron benchmark. Current paper stats: $20,000.05 equity, 1 open condor (SPY). Target monthly return: 5%. Note: option legs are model-priced (Black-Scholes proxy); swap `_bs_*` functions for a real options chain to go live.
