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 | -29.2% | -0.49 | +30.1% | +63.2% | -1.5% | 19 |
| QQQ | -53.3% | -0.64 | +53.5% | +36.8% | -2.8% | 19 |
| IWM | -54.4% | -0.65 | +55.1% | +47.4% | -2.9% | 19 |
| DIA | -17.4% | -0.38 | +18.0% | +68.4% | -0.9% | 19 |
| Avg | -38.6% | -0.54 | +39.2% | +53.9% | — | 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