Lesson Learned: Credit Spreads for Capital-Efficient Options Trading
Lesson Learned: Credit Spreads for Capital-Efficient Options Trading
Date: 2025-12-17 Severity: CRITICAL Category: Options Strategy, Capital Management
Problem Statement
Cash-Secured Puts (CSPs) require FULL collateral equal to strike price Ă 100 shares:
- SOFI $25 put requires $2,500 collateral
- SPY $650 put requires $65,000 collateral
With 19 equity positions consuming buying power, our OPTIONS buying power dropped to $153 - not enough for ANY cash-secured puts, even on cheap stocks.
Root Cause Analysis
- All capital deployed to equities: 19 positions using all available margin
- No cash reservation: System deployed 100% of buying power to stocks
- Options buying power separate from buying power: Alpaca has separate âoptions_buying_powerâ
- CSP collateral requirements: Full strike Ă 100 needed per contract
Solution Implemented
1. Credit Spreads (Bull Put Spreads)
- Collateral = Spread Width Ă 100 (NOT full strike price!)
- $2 wide spread = $200 collateral (vs $2,500 for CSP)
- 10x+ more capital efficient
- Still collect premium (though less than naked CSP)
2. Adaptive Strategy Selection
if options_buying_power < 1000:
use_credit_spreads() # $200-500 collateral per spread
else:
use_cash_secured_puts() # $1k-65k collateral per CSP
3. New Script: execute_credit_spread.py
- Bull put spread finder
- Automatic spread width calculation
- Same IV/trend filters as CSPs
- Integrated fallback in execute_options_trade.py
Key Metrics
| Strategy | SOFI Collateral | SPY Collateral | Min Buying Power Needed |
|---|---|---|---|
| CSP | $2,500 | $65,000 | $1,000+ |
| $2 Credit Spread | $200 | $200 | $200 |
| $5 Credit Spread | $500 | $500 | $500 |
Prevention Rules
- ALWAYS check options_buying_power before attempting CSPs
- Adaptive strategy: Use spreads when buying power < $1,000
- Consider reserving cash: Donât deploy 100% to equities
- Monitor position count: 19+ positions = likely low options BP
Files Changed
scripts/execute_credit_spread.py- NEW: Bull put spread executionscripts/execute_options_trade.py- Added spread fallback on insufficient BP.github/workflows/daily-trading.yml- Smart strategy selection
Testing
Run manually:
python3 scripts/execute_credit_spread.py --symbol SOFI --width 2 --dry-run
References
- Alpaca Options API: https://alpaca.markets/docs/trading/options/
- Bull Put Spreads: Max loss = width - credit received
- TastyTrade: Spreads are capital-efficient but have lower max profit