Context
Added two new trading strategies to the autonomous trading agent: options trading (long calls/puts) and SPY intraday day trading with a dedicated 3-minute PM2 daemon loop.
What Was Built
- Options Reactive (10%): OCC symbol parser, DTE/contract/exposure risk checks, long calls/puts only, 3-45 DTE bounds
- SPY Day Trading (15%): PM2 daemon at 3-min intervals, bracket orders with server-side stop-loss and dynamic take-profit, EOD auto-liquidation at 3:50 PM ET
- Risk Engine: Replaced blanket option block with proper checks, added day trade checks (position cap, trade limit, EOD cutoff)
- Bracket Orders: Every SPY buy includes server-side stop-loss and take-profit. Claude specifies both stop_loss_pct and take_profit_pct per trade based on setup quality.
Architecture: Three Loops
- Fast Loop (run.sh, 30m cron): 5 swing strategies including options
- Deep Loop (run.sh –deep, 2x/day): Thesis-driven analysis
- Day Trade Loop (daytrade/daemon.py, PM2, 3m): SPY intraday only
Strategy Allocations (rebalanced)
news 25%, alt_data 25%, insider 15%, macro 10%, options 10%, day_trade 15%
Key Decisions
- Options as separate strategy per user request, not integrated into existing ones
- PM2 daemon over cron for day trading (configurable interval, no granularity issues)
- Conservative options params to start (long only, 15% max exposure)
- Dynamic take-profit: Claude sets R:R per trade, defaults to 2x stop if omitted
Open Items
- Option chain data collector (automated contract discovery)
- Options sections in main prompt templates
- Day trade cost monitoring (first week)
- PDT rule for real money transition
Files
3 commits, 9 files changed, +1,338 lines. All 201 tests passing. Deployed to VM.