Buy an OTM call for leveraged upside exposure with defined risk.
| Symbol | Return % | Sharpe | Max DD % | Win % | Avg/trade % | Trades |
|---|---|---|---|---|---|---|
| SPY | -1190.7% | -1.05 | +1154.3% | +15.8% | -62.7% | 19 |
| QQQ | -972.6% | -0.69 | +964.3% | +21.1% | -51.2% | 19 |
| IWM | -977.3% | -0.80 | +951.7% | +10.5% | -51.4% | 19 |
| DIA | -1461.8% | -1.39 | +1523.6% | +10.5% | -76.9% | 19 |
| Avg | -1150.6% | -0.98 | +1148.5% | +14.5% | — | 19 |
| Parameter | Default | Description |
|---|---|---|
| strike_pct | 1.05 | Strike as fraction of spot (5% OTM) |
| dte | 45 | Days to expiration at entry |
A long call purchases an out-of-the-money call option, providing leveraged exposure to upside moves with risk limited to the premium paid. The strategy profits when the underlying rises above the breakeven (strike + premium). It is a high-risk, high-reward directional bet suited to bullish outlooks with a defined loss. Backtested with 45 DTE cycles at a strike of 105% of spot. P&L is expressed as a percentage of premium paid.
def run_long_call(S, K, T, r, sigma):
"""
Long Call: buy OTM call for upside exposure.
K: strike (105% of S)
"""
premium = black_scholes_call(S, K, T, r, sigma)
# At expiration:
# payoff = max(0, S_exp - K)
# P&L = payoff - premium
# P&L% = (payoff - premium) / premium * 100
return premium
# Backtest loop
for entry in monthly_entries:
S = spot_at_entry
K = round(S * 1.05 / 5) * 5 # 5% OTM call
T = 45 / 365.25
premium = black_scholes_call(S, K, T, RISK_FREE_RATE, avg_iv)
S_exp = spot_at_expiry
payoff = max(0, S_exp - K)
pnl_pct = (payoff - premium) / premium * 100