Buy an OTM put for downside protection or bearish speculation.
| Parameter | Default | Description |
|---|---|---|
| strike_pct | 0.95 | Strike as fraction of spot (5% OTM) |
| dte | 45 | Days to expiration at entry |
A long put purchases an out-of-the-money put option, providing leveraged exposure to downside moves or acting as portfolio insurance. Risk is limited to the premium paid. The strategy profits when the underlying falls below the breakeven (strike − premium). Backtested with 45 DTE cycles at a strike of 95% of spot. P&L is expressed as a percentage of premium paid.
def run_long_put(S, K, T, r, sigma):
"""
Long Put: buy OTM put for downside exposure.
K: strike (95% of S)
"""
premium = black_scholes_put(S, K, T, r, sigma)
# At expiration:
# payoff = max(0, K - S_exp)
# P&L = payoff - premium
# P&L% = (payoff - premium) / premium * 100
return premium
# Backtest loop
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, RISK_FREE_RATE, avg_iv)
S_exp = spot_at_expiry
payoff = max(0, K - S_exp)
pnl_pct = (payoff - premium) / premium * 100| Symbol | Return % | Sharpe | Max DD % | Win % | Avg/trade % | Trades |
|---|---|---|---|---|---|---|
| SPY | +8028.3% | 0.19 | +1000.0% | +5.3% | +422.5% | 19 |
| QQQ | +22577.4% | 0.22 | +1000.0% | +5.3% | +1188.3% | 19 |
| IWM | +11328.4% | 0.32 | +600.0% | +21.1% | +596.2% | 19 |
| DIA | +1911.5% | 0.12 | +1000.0% | +5.3% | +100.6% | 19 |
| Avg | +10961.4% | 0.21 | +900.0% | +9.2% | — | 19 |