Long Straddle

Volatility

Buy an ATM call and ATM put simultaneously — profits from large moves in either direction.

Performance across all datasets

SymbolReturn %SharpeMax DD %Win %Avg/trade %Trades
SPY+1392.8%0.61+101.2%+68.4%+73.3%19
QQQ+2322.0%0.72+91.2%+73.7%+122.2%19
IWM+2888.0%0.80+148.3%+73.7%+152.0%19
DIA+2517.7%1.07+45.7%+79.0%+132.5%19
Avg+2280.1%0.80+96.6%+73.7%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
Unlimited (call side) / Strike − Debit (put side)
Max Loss
Total debit paid
Breakeven
Strike ± Debit
Outlook
High volatility expected (direction agnostic)

Parameters

ParameterDefaultDescription
dte45Days to expiration

Methodology

A long straddle buys an ATM call and ATM put at the same strike and expiration. It profits when the underlying makes a large move in either direction, exceeding the total premium paid. The strategy is a pure volatility bet — it wins when realised volatility exceeds implied volatility. It loses when the underlying stays near the strike (time decay erodes both legs). Backtested with 45 DTE cycles at the nearest round-number ATM strike.

Implementation

# Long Straddle: buy ATM call + buy ATM put
for entry in monthly_entries:
    S = spot_at_entry
    K = round(S / 5) * 5           # ATM strike
    T = 45 / 365.25

    prem_call = black_scholes_call(S, K, T, r, sigma)
    prem_put  = black_scholes_put(S, K, T, r, sigma)
    debit = prem_call + prem_put

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