Own the underlying and buy an OTM put as downside insurance.
| Symbol | Return % | Sharpe | Max DD % | Win % | Avg/trade % | Trades |
|---|---|---|---|---|---|---|
| SPY | +4.8% | 0.06 | +21.9% | +47.4% | +0.3% | 19 |
| QQQ | -13.9% | -0.13 | +26.2% | +42.1% | -0.7% | 19 |
| IWM | +1.4% | 0.01 | +34.3% | +52.6% | +0.1% | 19 |
| DIA | +17.6% | 0.25 | +15.9% | +63.2% | +0.9% | 19 |
| Avg | +2.4% | 0.05 | +24.6% | +51.3% | — | 19 |
What this shows: Overlayed cumulative return series for this strategy across all available symbols.
How to read it: Look for symbols with smoother curves and faster recoveries to assess whether performance is broad-based or driven by a few outliers.
What this shows: Single-symbol cumulative return path for SPY.
How to read it: Use this detailed view to inspect entry/exit behavior over time and whether drawdowns cluster in specific periods.
| Parameter | Default | Description |
|---|---|---|
| strike_pct | 0.95 | Put strike (5% OTM) |
| dte | 45 | Days to expiration |
A protective put owns the underlying asset and buys an OTM put (95% of spot) to cap downside risk. It is portfolio insurance — the put limits losses below the strike while preserving full upside participation. The cost is the put premium, which reduces net returns. The strategy is equivalent to a long call in terms of payoff shape. Backtested with 45 DTE cycles, measuring combined stock + put P&L as a percentage of the entry price.
# Protective Put: own stock + buy OTM put
for entry in monthly_entries:
S = spot_at_entry
K = round(S * 0.95 / 5) * 5 # 5% OTM put
T = 45 / 365.25
premium = black_scholes_put(S, K, T, r, sigma)
S_exp = spot_at_expiry
stock_pnl = S_exp - S
put_payoff = max(0, K - S_exp)
pnl = stock_pnl + put_payoff - premium
pnl_pct = pnl / S * 100