Bear Call Spread

Spread

Sell a lower-strike call and buy a higher-strike call for a net credit — bearish.

Performance across all datasets

SymbolReturn %SharpeMax DD %Win %Avg/trade %Trades
SPY+37.3%0.05+276.1%+57.9%+2.0%19
QQQ-90.1%-0.11+331.0%+57.9%-4.7%19
IWM-72.4%-0.09+311.7%+52.6%-3.8%19
DIA+53.1%0.08+157.3%+63.2%+2.8%19
Avg-18.0%-0.02+269.0%+57.9%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
Net credit received
Max Loss
Spread width − Credit
Breakeven
Short strike + Credit
Outlook
Neutral to bearish

Parameters

ParameterDefaultDescription
short_strike_pct1.02Short call strike (2% OTM)
long_strike_pct1.07Long call strike (7% OTM)
dte45Days to expiration

Methodology

A bear call spread sells a call at 102% of spot and buys a call at 107% of spot for a net credit. Maximum profit is the credit received when both calls expire worthless (underlying stays below the short strike). Maximum loss is the spread width minus credit. The strategy profits in neutral-to-bearish markets and is the mirror image of the bull call spread. P&L is expressed as a percentage of the spread width.

Implementation

# Bear Call Spread: sell K1 call, buy K2 call (K1 < K2)
for entry in monthly_entries:
    S = spot_at_entry
    K1 = round(S * 1.02 / 5) * 5  # sell call (closer to ATM)
    K2 = round(S * 1.07 / 5) * 5  # buy call (further OTM)
    T = 45 / 365.25

    credit = (
        black_scholes_call(S, K1, T, r, sigma)
      - black_scholes_call(S, K2, T, r, sigma)
    )

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