A long ATM straddle is the cleanest bet in options — pay theta, get paid by movement in either direction. Running one systematically is another matter: when is movement actually coming, when is the premium too rich to pay, and how do you stop a +2% peak from round-tripping into a stop-loss? This note opens up our production engine — the entry vote, the veto gates, the single profit governor — and ends with an event study on 18 months of 5-minute data that shows exactly what the entry signal does and does not predict.
The engine never enters on opinion. Entry requires three layers to align, evaluated every scan cycle:
A signed price-CUSUM (calibrated drift threshold, reset each session) must have fired. No event, no entry — full stop. The rule is empirical: every early stop-loss in our live record entered without a trigger. The event latches for several scan cycles so the downstream checks can complete without the trigger expiring mid-entry.
Four booleans: the CUSUM event · vol-squeeze momentum positive (or a vol-CUSUM breakout, or strictly rising 3 bars) · the Kalman vol filter's own uncertainty above a high percentile of its own history · vol-of-vol elevated versus its median. Since the event is already mandatory, this means the trigger plus at least two vol-quality votes: the event says something is moving; the votes say the vol surface looks pre-expansion, not post.
Passing the vote buys nothing yet. Each gate below can still refuse — and each refusal is logged with its reason, because a silent gate is an unauditable gate.
| Veto | Rule | Why it exists |
|---|---|---|
| VOL CONTRACTION | VSM < 0 + uncertainty low + no breakout → block | Entering into contraction triggers an immediate thesis-death exit — you'd pay two spreads for nothing. Overridden when the CUSUM just fired or VSM is inflecting up: momentum outruns lagging vol metrics. |
| VRP | IV − RV above a calibrated cap → block | The straddle is priced richer than what the market has actually been delivering. Buying expensive vol is how theta wins. |
| RV / IV | RVadj / IV above a calibrated floor > 1 | The multiplicative version of the same idea — and RV must be overnight-adjusted (√(intraday² + gap²)). Intraday Parkinson vol misses close-to-open gaps, roughly half of index variance; on this gate's first live day the unadjusted ratio wrongly blocked every single evaluation. |
| IV SKEW | |IVCE − IVPE| / mean above a calibrated cap → block | Materially different leg IVs mean the market is pricing directional drift — the rich leg bleeds faster than the cheap leg gains. That's not a pure vol bet any more. |
| IV WARMUP | vol-regime model not yet warmed → block | Without regime context you can't know if vol is cheap or expensive. Don't enter blind. |
| IV VELOCITY | dIV/dt falling → block | Long premium into declining IV starts the trade with a vega headwind. |
| TIMING | no entry 09:15–09:30 · expiry day after noon · DTE < 1 | The open IV spike marks entries against you; sub-1-DTE gamma is a different (and crueler) game. |
Only after all of that does the order path run — and it has its own gauntlet: a depth check (both legs must show live bid and ask), a five-level order-book walk on thin symbols, a cost gate (round-trip cost must stay under a fixed share of the premium at risk), and a margin precheck. Every refusal is a retryable abort: the scanner simply re-fires next cycle.
Our trade history taught us that the straddle's P&L problem was never entries — it was giving gains back. Worse, the natural evolution of an exit stack (a trailing stop, a profit target, a z-based ride) creates rules that fight each other: the tight trail exits the trade the ride wanted to hold. Two design decisions fixed this:
| Exit | Fires when |
|---|---|
| ADAPTIVE STOP | a hard floor, widened in proportion to the entry IV's implied daily move — high-IV entries earn wider stops; big swings were priced in |
| DELTA CAP | ||ΔCE| − |ΔPE|| beyond a calibrated cap — the straddle has drifted into a directional bet; it no longer is the trade you put on |
| GAMMA LOCK | |position Δ| over cap while profitable — lock the rally before it mean-reverts |
| GOVERNOR | objective anchor reached → bank or ride by z-state (the only profit-taker while armed) |
| GIVEBACK FLOOR | once the peak clears an arming bar: a fraction-of-peak floor, multi-cycle breach confirm |
| VOL CONTRACTION | squeeze momentum collapses — the expansion we bought never came; stop paying theta for it |
| STALE / MAX TIME | no progress — but vetoed if the CUSUM is near a fresh trigger or the Kalman innovation just spiked: never pay exit costs seconds before the move |
| BOUNDARIES | expiry-day and end-of-day squareoffs that no profit state can suppress |
Here is the honest part. We recently tested a stronger trigger — the CUSUM event confirmed by a Kalman-filtered trend z-score, combined into a confidence score with a 30-minute latch — as a candidate directional signal. On fixed 30-minute horizons it looked mildly directional (54% hit rate at high confidence). Then we followed every one of the 953 confirmed signals bar-by-bar for two hours:
Verdict: these signals are movement detectors, not direction detectors. After a confirmed event, price travels ~70% further than baseline within two hours — with no preference whatsoever for the signal's direction. That is a finding with teeth: it says the trigger belongs in front of a long straddle (bounded loss, paid by movement, indifferent to direction), and emphatically not in front of a debit vertical. It is also the third independent time our data has produced this exact shape — signed information in vol-triggered events is noise; unsigned information is activity.
Candidate triggers like this one never go straight to production here. They run in a premium-marked shadow first: every signal journals the option structure it would have bought at live bid/ask, marked again at 30, 60 and 120 minutes — because a spot-move edge can die completely in the option premium (spreads, theta, and the fixed cost of four legs). Arming waits for the shadow, not the backtest.
Setup. 5-minute bars, five index underlyings, Mar 2025 – Sep 2026 (~363 sessions each). CUSUM: signed price-drift detector with session reset (production calibration withheld). Kalman: local-level price filter; the confirmation score blends trigger freshness (full weight ≤ 30 min, decaying to zero by 75) with |z| agreement, and a confirmed verdict latches 30 minutes against noise. Event study measures signed forward paths at signal starts with same-session windows only; first-passage = which of ±b barriers is touched first, b ∈ {0.15%, 0.25%, 0.40%}.
Companion note: The Volatility Clock — intraday IV behaviour across the trading day.
Disclaimer. This is a research note for informational and educational purposes only and does not constitute investment advice or a recommendation to buy or sell any security. Options and F&O trading involves significant risk of loss. System parameters and study results are drawn from a limited historical window and our own execution environment; past behaviour is not indicative of future results. Spot-level findings do not account for transaction costs, slippage, or liquidity. Please read all scheme-related documents carefully and consult a qualified adviser before trading.
© 2026 OptionsForQuants · AMFI Registered Mutual Fund Distributor · SEBI RIA registration in progress