Sell an OTM put and OTM call simultaneously — collect premium, profit in range-bound markets.
| Symbol | Return % | Sharpe | Max DD % | Win % | Avg/trade % | Trades |
|---|---|---|---|---|---|---|
| SPY | +82.8% | 1.78 | +1.6% | +89.5% | +4.4% | 19 |
| QQQ | +97.1% | 1.39 | +5.1% | +89.5% | +5.1% | 19 |
| IWM | +93.2% | 1.42 | +4.8% | +84.2% | +4.9% | 19 |
| DIA | +54.6% | 1.76 | +2.0% | +89.5% | +2.9% | 19 |
| Avg | +81.9% | 1.59 | +3.4% | +88.2% | — | 19 |
| Parameter | Default | Description |
|---|---|---|
| put_strike_pct | 0.95 | Short put strike (5% OTM) |
| call_strike_pct | 1.05 | Short call strike (5% OTM) |
| dte | 45 | Days to expiration |
A short strangle sells an OTM put (95% of spot) and an OTM call (105% of spot) for a net credit. It is the mirror of the long strangle — maximum profit is the total credit when the underlying stays between the two strikes. Risk is theoretically unlimited on the call side and substantial on the put side. It is a high-probability income strategy that loses when the underlying makes a large move. Backtested with 45 DTE cycles.
# Short Strangle: sell OTM put + sell OTM call
for entry in monthly_entries:
S = spot_at_entry
K_put = round(S * 0.95 / 5) * 5 # sell 5% OTM put
K_call = round(S * 1.05 / 5) * 5 # sell 5% OTM call
T = 45 / 365.25
credit = (
black_scholes_put(S, K_put, T, r, sigma)
+ black_scholes_call(S, K_call, T, r, sigma)
)
S_exp = spot_at_expiry
put_loss = max(0, K_put - S_exp)
call_loss = max(0, S_exp - K_call)
pnl = credit - put_loss - call_loss
pnl_pct = pnl / ((K_put + K_call) / 2) * 100