# option-vertical-trading-system

> Regime-adaptive vertical credit spreads on index ETFs (SPY, QQQ, IWM)

## What It Does
Sells defined-risk vertical credit spreads on liquid index ETFs, picking direction from the 200-day SMA regime: bull-put spreads when price is above (uptrend) and bear-call spreads when price is below (downtrend). Max loss per trade is always ≤2% of the $20k book ($400). A 50%-credit profit-take exits early; a monthly-loss circuit breaker halts new opens after a bad month. One of three parallel paper books built as a head-to-head benchmark alongside `option-iron` and `options-wheel`.

## 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
- Direction by regime: bull-put spread above 200-SMA; bear-call spread below 200-SMA
- Short leg ~0.30 delta, $2 wing width, 35 DTE (monthly cadence)
- 50% credit profit-take; monthly −8% circuit breaker halts new opens
- Every trade cleared by the shared 5-reviewer SPREAD_COUNCIL; max risk ≤2% of book
- Watchlist: SPY, QQQ, IWM (liquid index ETFs only)

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

## Status
Working (paper-trading) — live since 2026-07-05. Current paper stats: $20,000.05 equity, 3 open spreads (SPY/QQQ/IWM put spreads). Target monthly return: 5%. Note: option legs are model-priced (Black-Scholes proxy); swap `_bs_put`/`_bs_call` for a real options chain to go live.
