Bear Put Spread

Spread

Buy a higher-strike put and sell a lower-strike put for a net debit — bearish.

Performance across all datasets

SymbolReturn %SharpeMax DD %Win %Avg/trade %Trades
SPY-944.0%-0.67+889.6%+21.1%-49.7%19
QQQ-862.5%-0.59+867.0%+26.3%-45.4%19
IWM-742.9%-0.45+1033.8%+26.3%-39.1%19
DIA-885.2%-0.60+891.3%+15.8%-46.6%19
Avg-858.7%-0.58+920.4%+22.4%19
Cumulative P&L % — all symbols

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.

Detail:
Cumulative P&L % — SPY

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.

Risk Profile

Max Profit
Spread width − Debit
Max Loss
Debit paid
Breakeven
Long strike − Debit
Outlook
Moderately bearish

Parameters

ParameterDefaultDescription
long_strike_pct1.02Long put strike (2% ITM)
short_strike_pct0.95Short put strike (5% OTM)
dte45Days to expiration

Methodology

A bear put spread buys a put at 102% of spot and sells a put at 95% of spot for a net debit. Maximum profit is the spread width minus debit (when underlying closes below the long strike). Maximum loss is the debit paid. The strategy profits in moderately bearish markets with defined risk and capped reward. It is cheaper than a long put but limits the maximum gain. P&L is expressed as a percentage of the debit paid.

Implementation

# Bear Put Spread: buy K1 put, sell K2 put (K1 > K2)
for entry in monthly_entries:
    S = spot_at_entry
    K1 = round(S * 1.02 / 5) * 5  # buy put (higher strike)
    K2 = round(S * 0.95 / 5) * 5  # sell put (lower strike)
    T = 45 / 365.25

    debit = (
        black_scholes_put(S, K1, T, r, sigma)
      - black_scholes_put(S, K2, T, r, sigma)
    )

    S_exp = spot_at_expiry
    payoff = max(0, K1 - S_exp) - max(0, K2 - S_exp)
    pnl = payoff - debit
    pnl_pct = pnl / debit * 100