Bull Call Spread

Spread

Buy a lower-strike call and sell a higher-strike call for a net debit.

Risk Profile

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

Parameters

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

Methodology

A bull call spread buys an OTM call (102% of spot) and sells a further OTM call (107% of spot) for a net debit. Maximum profit is the spread width minus debit (when underlying closes above the short strike). Maximum loss is the debit paid. The strategy profits in moderately bullish markets with defined risk and capped reward. P&L is expressed as a percentage of the debit paid.

Implementation

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

    prem_buy  = black_scholes_call(S, K1, T, r, sigma)
    prem_sell = black_scholes_call(S, K2, T, r, sigma)
    debit = prem_buy - prem_sell

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

Backtest Performance

SymbolReturn %SharpeMax DD %Win %Avg/trade %Trades
SPY+2846.8%0.62+500.0%+63.2%+149.8%19
QQQ+4521.3%0.74+300.0%+63.2%+238.0%19
IWM+4286.5%0.77+600.0%+57.9%+225.6%19
DIA+2118.1%0.53+600.0%+57.9%+111.5%19
Avg+3443.2%0.67+500.0%+60.5%19

← back to options strategies