Date: 2026-04-23 Analyst: Nadia Okonkwo Subject: Systematic index options premium selling strategy (v0.4) Context: Automated SPX credit spread premium selling system, 45-DTE, targeting monthly cash flow. Phase 1 (SPY covered calls on Alpaca) is code-complete. Phase 2 (SPX credit spreads on IBKR) is in progress.
Systematically sells options premium on equity indices to generate monthly income. Collects small, frequent payments (premium) in exchange for taking on defined, bounded risk — analogous to an insurance company collecting premiums.
- Sell calls against long SPY shares
- Fully wired: daemon, fill walker, state persistence, reconciliation, daily summaries, launchd supervision
- 45-DTE put credit spreads on SPX
- Cash-settled, European-style options
- §1256 60/40 tax treatment
- IBKR options surface landed; daemon dispatch wiring is the open piece
| Parameter | Value | Rationale |
|---|---|---|
| Underlying | SPX | Cash-settled, European-style, §1256 tax treatment |
| Strategy | Put credit spread (bull put spread) | Defined risk, bullish/neutral bias, harvests VRP |
| DTE at entry | 40-50 days (target 45) | Optimal theta/gamma balance (ERN/Spintwig data) |
| Short put delta | 10-16 delta (~1 standard deviation OTM) | 84-90% probability of profit. 5-delta is safer but lower premium; 16-delta matches tastytrade research parameters |
| Spread width | $25-50 | Wider = more premium collected, more capital at risk. $25-wide on SPX = $2,500 max loss per spread |
| Max concurrent positions | 3-4 spreads | Stagger entries weekly to diversify timing. Never >50% of margin. |
| Entry timing | Weekly (every Monday or Tuesday) | Staggers DTE exposure; avoids concentrating all positions at same expiration |
| VIX regime gate | Enter only when VIX < 30 AND VIX term structure in contango | Pause when VRP is likely inverted |
| Management: Take profit | Close at 50% of max credit received | projectfinance data: best risk-adjusted approach |
| Management: Stop loss | Close at 100% of credit received (2x max credit = breakeven on premium) | projectfinance: 50% + 100% stop is optimal combo |
| Management: Time stop | Close at 7 DTE if short strike within 2% of spot | Gamma risk increases exponentially in final week |
| Max margin utilization | 50% of available margin | Buffer for margin expansion during vol spikes |
- Defined risk per trade (credit spreads cap max loss at spread width minus credit received)
- Targets: monthly cash flow from theta decay
- Max single-trade loss: spread width × number of contracts (e.g., $25-wide × 1 contract = $2,500)
- Max portfolio risk: 50% of margin (e.g., $50K margin account → max $25K at risk across all positions)
| KPI | Definition | Current State | Target |
|---|---|---|---|
| Sharpe Ratio | Risk-adjusted return (excess return / standard deviation). Measures how much return per unit of risk. >1.0 is acceptable, >1.5 is good, >2.0 is excellent. | Unknown (no live track record) | >1.5 |
| Sortino Ratio | Like Sharpe but only penalizes downside volatility, not upside. Better for asymmetric strategies like premium selling. >2.0 is good. | Unknown | >2.0 |
| Max Drawdown | Largest peak-to-trough loss. How bad does it get in the worst period? | Unknown | <15% |
| Win Rate | Percentage of trades that are profitable. Premium selling typically has high win rates (70-85%) but the losses are larger than the wins. | Expected: 75-85% | >75% |
| Profit Factor | Gross profits / gross losses. >1.0 means profitable. >1.5 is solid. >2.0 is excellent. | Unknown | >1.5 |
| Monthly Yield | Net premium collected / capital deployed, per month. | Unknown | 1-3% |
| Annual Return | Net of all costs (commissions, slippage, taxes). | Unknown | 12-20% (net) |
| Volatility Risk Premium (VRP) Capture | How much of the implied-vs-realized vol spread are you actually capturing? | Unknown | >60% of theoretical VRP |
| KPI | Definition | Current State | Target |
|---|---|---|---|
| Fill Rate | % of orders that execute at target price or better | Phase 1: operational | >95% |
| Uptime | % of time the daemon is running and responsive | Phase 1: launchd supervised | >99.5% |
| Reconciliation Accuracy | Does system state match broker state? | Phase 1: daily reconciliation | 100% per daily check |
| Time to React | How quickly can the system close/adjust positions in a crisis? | Unknown | <5 minutes during market hours |
The fundamental source of edge in premium selling is the Volatility Risk Premium — the persistent gap between what the market expects volatility to be (implied vol / VIX) and what actually happens (realized vol).
| Metric | Value | Source |
|---|---|---|
| Average VIX (implied vol), 1990-2024 | 19.59% | CFA Institute Enterprising Investor, July 2024 |
| Average S&P 500 realized vol (30-day forward), 1990-2024 | 15.50% | CFA Institute |
| Average VRP spread | 4.09 percentage points | CFA Institute |
| Median VRP spread | 4.65 percentage points | CFA Institute |
| CBOE White Paper VRP, 1990-2018 | 4.2 pp (19.3% implied vs 15.1% realized) | CBOE VRP White Paper |
| OTM put options priced vs "fair value" | ~3.5× overpriced on average | Hedge Fund Journal |
| Implied probability of 10% S&P decline | 13% (market-priced) vs 4% (historical actual) | Hedge Fund Journal |
Why does the VRP exist? Investors systematically overpay for downside protection (puts) because the pain of losses exceeds the pleasure of equivalent gains (prospect theory). Institutions are mandated to hedge. This structural demand inflates implied volatility above realized volatility, creating a persistent premium that sellers can harvest.
Has it compressed? No published study shows definitive decade-by-decade compression. The long-term average has remained ~4 pp across multiple measurement windows (CFA Institute 1990-2024, CBOE 1990-2018). Practitioner commentary suggests possible narrowing from 0-DTE proliferation and retail short-vol strategies, but the data doesn't confirm this yet.
When does it fail? The VRP inverts (realized > implied) during crisis regimes — 2008, March 2020. These are the periods that generate large losses for unfiltered premium sellers.
The CBOE publishes benchmark indices for the exact strategies used in v0.4:
CBOE S&P 500 PutWrite Index (PUT) — Systematic ATM cash-secured put selling on SPX:
| Metric | PUT Index | S&P 500 TR | Period | Source |
|---|---|---|---|---|
| Annualized Return | 9.54% | 9.80% | Jun 1986 – Dec 2018 | Bondarenko 2019 (CBOE/SSRN) |
| Standard Deviation | 9.95% | 14.93% | Jun 1986 – Dec 2018 | Bondarenko 2019 |
| Sharpe Ratio | 0.65 | 0.49 | Jun 1986 – Dec 2018 | Bondarenko 2019 |
| Beta to S&P 500 | 0.56 | 1.00 | Jun 1986 – Dec 2018 | Bondarenko 2019 |
| Annualized Return | ~7.0% | ~10.7% | Inception – Jan 2026 | CBOE PUT Factsheet |
| Max Drawdown | -32.7% | -50.9% | Inception – Jan 2026 | CBOE PUT Factsheet |
Recent calendar year performance (CBOE factsheets, PortfoliosLab):
| Year | PUT Index | S&P 500 TR | Delta |
|---|---|---|---|
| 2020 | 2.1% | 18.4% | -16.3% |
| 2021 | 21.8% | 28.7% | -6.9% |
| 2022 | -7.7% | -18.1% | +10.4% |
| 2023 | 14.3% | 26.3% | -12.0% |
| 2024 | 17.8% | 25.0% | -7.2% |
Key takeaway: PUT underperforms S&P 500 in strong bull markets (2020, 2023) but outperforms in down markets (2022). The Sharpe advantage (0.65 vs 0.49) means you get nearly the same return with ~33% less volatility. The 2020-2024 period favored equities, compressing PUT's relative advantage vs. the longer 1986-2018 window.
CBOE S&P 500 BuyWrite Index (BXM) — Systematic ATM covered call writing (relevant to Phase 1):
| Metric | BXM | S&P 500 | Period | Source |
|---|---|---|---|---|
| Annualized Return | 11.77% | 11.67% | Jun 1988 – Aug 2006 | Callan/Ibbotson study |
| Standard Deviation | 9.29% | 13.89% | Jun 1988 – Aug 2006 | Callan/Ibbotson |
| Sortino Ratio | 0.71 | 0.50 | Jun 1988 – Aug 2006 | Callan/Ibbotson |
| Avg monthly gross premium | 1.7% of notional | — | — | CBOE Benchmark Series |
-
Harvests a documented, persistent edge — The VRP has averaged 4.09-4.2 pp over 34 years across multiple studies (CFA Institute, CBOE). This isn't a backtested anomaly — it's a structural feature of options markets driven by hedging demand.
-
Defined risk — Credit spreads cap max loss per trade. No naked short options. This is the single most important design decision.
-
45-DTE targets optimal theta decay — ERN/Spintwig backtests (2016-2021) show 45-DTE, 5-delta SPY puts achieved a Sharpe of ~2.8 with ~95%+ win rate at 1x leverage (ERN Passive Income Part 9). The 45-DTE window balances premium collected against gamma risk near expiration.
-
§1256 tax treatment — SPX options receive 60% long-term / 40% short-term capital gains tax treatment regardless of holding period (IRS Publication 550). At a combined marginal rate of ~40%, this saves ~5-8% effective tax rate vs. SPY options taxed entirely as short-term gains.
-
European-style exercise — No early assignment risk. Eliminates an entire category of operational surprises.
-
Cash-settled — No need to manage underlying shares. Cleaner operationally.
-
Infrastructure-first approach — Daemon, state persistence, reconciliation, fill walker. This is how institutional systems are built. Most retail traders fail on operations, not strategy.
Problem: All positions are on SPX. In a correlated selloff (2020 COVID, 2022 bear market, 2018 Volmageddon), every position gets hit simultaneously. The portfolio has zero diversification benefit.
Improvement: Add 2-3 uncorrelated or low-correlated underlyings:
| Underlying | Correlation to SPX | Why |
|---|---|---|
| TLT (20+ Year Treasury ETF) | -0.3 to -0.5 historically | Bonds often rally when equities sell off. Premium selling on both captures VRP in both regimes. |
| GLD (Gold ETF) | ~0.0 to 0.2 | Low correlation provides genuine diversification. Gold vol tends to spike independently from equity vol. |
| /CL options (Crude Oil) | ~0.3 | Commodity vol is driven by supply/demand, not the same factors as equity vol. |
Expected impact: Portfolio max drawdown decreases 20-40% with 3 uncorrelated underlyings vs. single-underlying, with similar or higher returns (diversification free lunch).
Caveat: More underlyings = more operational complexity. Each needs its own vol surface, position sizing, and monitoring. Start with one addition (TLT is the most natural complement).
Problem: The strategy appears to sell premium uniformly regardless of market regime. But premium selling performs very differently in:
- Low-vol trending markets (best — VRP is positive, realized vol < implied vol)
- High-vol mean-reverting markets (good — elevated premium, but wider spreads needed)
- Crash/crisis regimes (worst — VRP inverts, realized vol > implied vol, spreads blow through)
Improvement: Add a regime filter using VIX levels or VIX term structure:
| VIX Level | Regime | Strategy Adjustment |
|---|---|---|
| <15 | Low vol | Standard position size, tighter spreads (higher probability) |
| 15-25 | Normal | Standard position size, standard spreads |
| 25-35 | Elevated | Reduce position size 50%, widen spreads, extend DTE to 60 |
| >35 | Crisis | Stop selling premium entirely. Wait for VIX to drop below 30. Consider buying protection. |
Also consider: VIX term structure (contango vs. backwardation). When VIX futures are in backwardation (near-term > far-term), the market is pricing in immediate risk. Every S&P 500 drawdown >10% since 2008 was accompanied by VIX term structure inversion (Volatility Box research). This is a reliable confirmation signal for stepping aside.
Evidence for VIX filtering:
| Study | Metric | With VIX Filter | Without Filter | Source |
|---|---|---|---|---|
| VIX 200-day MA filter (2005-2025) | Max Drawdown | -22% | -55% | Volatility Box |
| VIX 200-day MA filter (2005-2025) | Annual Return | 9.8% | 9.2% | Volatility Box |
| VIX Rank 70 filter (options strategy) | Max Drawdown | 8.7% | 12.9% | Options Cafe |
| VIX Rank 70 filter (options strategy) | Profit Factor | 2.52 | 1.64 | Options Cafe |
Key finding: VIX filtering cuts max drawdown by 32-60% with minimal or zero return sacrifice. The specific threshold (VIX > 30, VIX Rank > 70, or VIX 200-day MA crossover) matters less than having some regime filter. The VIX term structure inversion (backwardation) is the most reliable crisis confirmation signal.
Caveat: No published study specifically tests "pause premium selling when VIX > 30" on a pure short-premium strategy. The studies above apply VIX filters to equity or mixed strategies. However, the mechanism is clear — when VRP inverts (realized > implied), premium sellers lose. VIX > 30 correlates strongly with VRP inversion.
Problem: The description mentions 1% risk per trade for v0.3 but doesn't specify position sizing for v0.4. Fixed-size positions don't adapt to changing market conditions.
Improvement: Scale position size inversely with implied volatility:
Position size = Base size × (Target vol / Current IV)
When IV is high, take smaller positions (vol is elevated, risk is higher). When IV is low, take standard positions. This naturally reduces exposure before big moves.
Kelly Criterion consideration: For a strategy with known win rate and average win/loss ratio, the Kelly formula gives the mathematically optimal position size:
Kelly % = Win% - (Loss% / Win:Loss ratio)
Most practitioners use "half Kelly" (50% of the Kelly-optimal size) to reduce variance. For a typical premium selling strategy with 80% win rate and 1:3 win:loss ratio, full Kelly is ~53%, half Kelly is ~27% of capital at risk at any time.
Problem: What happens when a position moves against you? The doc describes defined risk (credit spreads), which caps the loss. But simply holding to max loss every time leaves money on the table.
Improvement: Systematic adjustment rules:
| Trigger | Action | Rationale |
|---|---|---|
| Short strike breached with >21 DTE remaining | Roll down and out (lower strike, farther expiration) for a credit | Extends duration, collects additional premium, moves away from the money |
| Short strike breached with <21 DTE remaining | Close for a loss | Not enough theta left to make a roll worthwhile |
| Position reaches 50% of max profit with >21 DTE | Close early, redeploy capital | See data below |
| Position reaches 50% of max profit with <14 DTE | Hold to expiration | Minimal additional risk, small remaining theta to collect |
Evidence for 50% profit management (projectfinance, 11-year backtest, SPY 16-delta strangles at 60 DTE):
| Management Approach | Win Rate | Avg P&L/Trade | Total P&L | Max Single Loss |
|---|---|---|---|---|
| Hold to Expiration | 54.9% | $48.18 | $2,635 | -$2,808 |
| 25% Profit Target | 69.1% | $33.82 | $1,850 | -$1,470 |
| 50% Profit Target | 65.5% | $38.36 | $2,100 | -$1,680 |
| 75% Profit Target | 58.2% | $45.27 | $2,490 | -$1,575 |
| 50% Profit + 100% Stop | 63.6% | $44.18 | $2,430 | -$1,575 |
Source: projectfinance — Short Strangle Management Results (11-Year Study)
Key finding: 50% profit target increases win rate from 54.9% to 65.5% and reduces max single loss from -$2,808 to -$1,680 (40% reduction). The best combined approach is 50% profit target + 100% stop loss — highest avg P&L/trade ($44.18) with lowest max loss (-$1,575). This is the recommended management rule for v0.4.
Note: tastytrade has published similar findings via their Market Measures show (2005-2017 data, SPY 1-SD strangles at 45 DTE) but their research is video-only without downloadable data tables. The projectfinance study is the best publicly available replication with exact numbers.
Problem: How does this strategy interact with the rest of the portfolio? If the operator also holds long equities (401k, index funds), selling puts on SPX adds more long equity delta exposure. In a crash, everything gets hit.
Improvement:
- Document total portfolio delta exposure across all accounts
- Size the options strategy relative to total net worth, not just the trading account
- Consider: if total equity exposure (401k + taxable + options) exceeds a threshold (e.g., 70% of net worth), reduce the options position or shift to bearish strategies (call spreads instead of put spreads)
Problem: Several risk categories are not addressed in the current strategy design:
a) Liquidity risk: SPX options have deep liquidity in normal markets, but bid-ask spreads widen dramatically during volatility spikes. In March 2020, SPX put spreads that normally had $0.50 bid-ask widened to $5-10+. If you need to close in a crisis, the cost of exiting can eat 20-50% of the max loss budget. Credit spreads partially mitigate this (defined max loss), but early exit to avoid max loss may be expensive when you most want it.
Mitigation: Size positions assuming you will hold to expiration (max loss). Treat early exit as a bonus, not a plan.
b) Gamma risk near expiration: As options approach expiration, gamma (the rate of delta change) increases dramatically. A 5-point OTM put at 45 DTE barely moves with the market. The same put at 2 DTE is a binary bet. If a position is near the short strike with <7 DTE, close it — the risk/reward flips against you.
Mitigation: Mandatory close at 7 DTE if the short strike is within 2% of current price, regardless of P&L.
c) Margin expansion risk: Brokers can raise margin requirements during volatility spikes, sometimes intraday. If margin increases and the account can't cover it, the broker force-liquidates at the worst possible time.
Mitigation: Never use more than 50% of available margin. This provides a 2x buffer for margin expansion.
d) Vega risk (IV crush/spike): A sudden IV spike (VIX jumps 10+ points in a day) causes immediate mark-to-market losses on all open short premium positions, even if the underlying hasn't moved enough to breach strikes. Conversely, a sudden IV crush can create windfall gains.
Mitigation: The regime filter (VIX > 35 = stop selling) handles the worst case. For moderate spikes, defined-risk spreads cap the max loss regardless of IV.
e) Pin risk / ex-dividend (Phase 1 only): SPY covered calls can be assigned early on ex-dividend date if the call is ITM and the dividend exceeds the remaining time value. This creates unexpected position changes and tax events.
Mitigation: This is a Phase 1 (SPY) issue only. Phase 2 (SPX) uses European-style cash-settled options with no assignment risk. For Phase 1: close or roll any ITM calls before ex-dividend date.
Problem: No live track record and no mentioned backtest results. The strategy is based on sound principles, but without historical performance data, the KPIs are all "unknown."
Improvement:
- Backtest SPX 45-DTE put credit spreads over 2015-2025 (covers: 2018 Volmageddon, 2020 COVID crash, 2022 bear market, multiple Fed rate cycles)
- Measure all KPIs above against the backtest
- Specifically stress-test: What happens in March 2020? What happens in Oct 2018? What's the worst single month?
- Use OptionStack, OptionNet Explorer, or custom Python (using CBOE historical options data or OptionsDX) for backtesting
| # | Improvement | Impact | Effort | Priority |
|---|---|---|---|---|
| 1 | Backtest validation — Verify strategy against 10-year history before going live | HIGH | MEDIUM | DO FIRST |
| 2 | Regime detection — VIX filter + term structure check to pause selling in crisis | HIGH | LOW | DO SECOND |
| 3 | Close at 50% profit + 100% stop — Best risk-adjusted mgmt per projectfinance data | HIGH | LOW | DO THIRD (low effort, high impact) |
| 4 | 7-DTE gamma close — Mandatory exit if short strike within 2% of spot with <7 DTE | MEDIUM | LOW | DO FOURTH |
| 5 | Dynamic position sizing — Scale with IV, never >50% margin utilization | MEDIUM | MEDIUM | DO FIFTH |
| 6 | Add TLT as second underlying — Diversification with negative SPX correlation | HIGH | HIGH | DO SIXTH (after SPX is stable) |
| 7 | Roll/adjustment rules — Systematic loss management for breached strikes | MEDIUM | MEDIUM | DO SEVENTH |
| 8 | Portfolio-level delta management — Whole-portfolio view across all accounts | MEDIUM | LOW | ONGOING |
Based on published benchmarks and backtest data:
| KPI | Base (No Filter, Hold to Exp.) | With All Improvements | Benchmark Source |
|---|---|---|---|
| Annual Return | 7-10% | 10-15% | CBOE PUT Index: 9.54% (1986-2018, Bondarenko); ~7% (inception-2026, CBOE factsheet) |
| Sharpe Ratio | 0.6-0.7 | 1.2-2.0 | CBOE PUT: 0.65 (Bondarenko); ERN/Spintwig 5-delta 45-DTE: ~2.8 (2016-2021) |
| Max Drawdown | 30-35% | 10-20% | CBOE PUT: -32.7% unfiltered; VIX-filtered equity: -22% (Volatility Box) |
| Win Rate | 55-65% (strangles) / 95%+ (5-delta puts) | Similar | projectfinance: 54.9% (hold) → 65.5% (50% mgmt); ERN: 95%+ (5-delta) |
| Profit Factor | 1.3-1.6 | 2.0-2.5 | Options Cafe: 1.64 → 2.52 with VIX filter |
| Monthly Yield | 0.6-0.8% | 1.0-1.5% | Derived from PUT Index annual returns; §1256 adds ~5-8% tax efficiency |
| Sortino Ratio | 0.5-0.7 | 1.5-2.5 | Callan/Ibbotson BXM Sortino: 0.71; regime filter + 50% mgmt improve downside |
How "With All Improvements" is derived:
- Annual return: PUT baseline + regime filter avoids worst months + 50% mgmt redeploys capital faster
- Sharpe: PUT baseline 0.65 + VIX filter (profit factor 1.64→2.52 = ~50% improvement) + 50% mgmt (reduces tail losses)
- Max DD: PUT -32.7% × 0.6 (VIX filter reduces DD 32-60%) = -13% to -20%
- These are estimates, not guarantees. Actual performance requires backtesting with all filters combined.
Critical comparison: S&P 500 buy-and-hold returned ~10.7% annualized (CBOE PUT factsheet period) with -50.9% max DD and higher volatility. The premium selling strategy targets similar returns with dramatically less drawdown — the value is in the risk-adjusted profile, not raw return.
This analysis is based on published research and general financial principles. It is not investment advice. Past performance of referenced benchmarks does not guarantee future results. Options trading involves significant risk of loss. The analyst (Nadia Okonkwo) is a business analyst and financial modeler, not a licensed financial advisor or registered investment professional.
- Bondarenko 2019: Historical Performance of Put-Writing Strategies (CBOE/SSRN) — PUT Index 1986-2018 data
- CBOE PUT Index Factsheet (Jan 2026)
- CBOE PUT Index Dashboard
- CBOE White Paper: VRP and PUT Index
- CFA Institute: How Well Does the Market Predict Volatility? (July 2024) — VRP data 1990-2024
- Hedge Fund Journal: Harvesting the S&P 500 VRP
- Callan/Ibbotson: BXM Index Study
- CBOE Benchmark Indices Series
- PortfoliosLab: PUT Index Performance
- projectfinance: Short Strangle Management Results (11-Year Study) — 50% profit management data
- tastytrade Market Measures: Managing Winners Year by Year (2018)
- tastytrade Options Jive: Why 50% Not 25% (2016)
- Volatility Box: Volatility Regime Detection (2005-2025)
- Options Cafe: Momentum RSI Strategy with VIX Filter
- ERN: Passive Income Through Option Writing Part 9 (Spintwig 45-DTE backtests)
- ERN: Passive Income Through Option Writing Part 5 (2018-2020 backtest)
- Spintwig: Short SPX Put 45-DTE Backtest — Note: detailed data behind $249/yr paywall
- IRS §1256 Contracts: 60/40 Tax Treatment (Publication 550)
- Investopedia: Section 1256 Contract Explained
- Euan Sinclair: Volatility Trading (2nd Edition) — VRP theory and premium selling
- Ernie Chan: Quantitative Trading — Position sizing and Kelly Criterion