QuantsappFaster in the app: live data, alerts, tradingOpen
Log inStart free
OI · PCR · VIX signalsPositionalNIFTYhigh complexity

NIFTY-BANKNIFTY IV spread

NIFTY and BANKNIFTY options usually price volatility in step, because the two indices move together. This relative-value strategy watches the gap between their at-the-money implied volatilities minute by minute. When NIFTY's volatility looks unusually rich compared with BANKNIFTY's, it sells a NIFTY straddle; when unusually cheap, it buys one, closing as soon as the gap returns towards normal.
Sells the NIFTY ATM straddle when NIFTY's implied volatility is unusually rich versus BANKNIFTY's on a rolling z-score, buys it when unusually cheap, and exits when the gap normalises.
Market viewFades moves (mean reversion)
TradesNIFTY monthly ATM straddle, bought or sold
RiskOpen-ended (loss not capped by the structure)
CapitalFull option-selling margin
SuitsAdvanced
Trades a month101.4
Typical hold4 min
Profitable months12 of 12
Longest losing run10 trades
Made money inEvery condition before costs (all buckets positive)NIFTY weekly expiry days
Lost money inAny condition once trading costs are included
Default settings
Symbol
Other
Spread
Window min
Regime bands
Entry z
Exit z
Entry z low
Exit z low
Entry z med
Exit z med
Entry z high
Exit z high
Min DTE
Entry start
Exit time
Max trades per day
Lots
Backtest this strategy →Change any setting, pick your own period and run it in the Quantsapp web app. Backtesting is part of the Max plan. Pro+ members can use it now as a free trial.
1

How it trades

What it trades
Universe
NIFTY Positional · 1 Oct 25 → 30 Sep 26
Enters
From 10:00 when the IV-spread z-score passes its regime's entry band
Legs
SELL CE · ATM (when NIFTY IV is rich vs BANKNIFTY) · Monthly with at least 5 days left · 1 lotSELL PE · ATM (when NIFTY IV is rich vs BANKNIFTY) · Monthly with at least 5 days left · 1 lotBUY CE · ATM (when NIFTY IV is cheap vs BANKNIFTY) · Monthly with at least 5 days left · 1 lotBUY PE · ATM (when NIFTY IV is cheap vs BANKNIFTY) · Monthly with at least 5 days left · 1 lot
Exits
signal z-score back inside the regime's exit bandtime Anything still open at 15:00
Re-entry
Yes, up to 5 trades a day, one at a time
IVs
every minute, the ATM implied volatility of NIFTY and of BANKNIFTY - the average of the call and put IV at the strike nearest to each index's future (plus the morning carry), on each index's nearest MONTHLY expiry with at least MIN_DTE days left (matched maturities).
Spread
SPREAD "base" = NIFTY IV - BANKNIFTY IV; "advanced" = 38.8518 x NIFTY IV - 39.1766 x BANKNIFTY IV (the source's cointegrating weights). Either way a HIGH spread means NIFTY vol is rich.
z
(spread - mean) / std over the previous WINDOW_MIN minutes (carried across sessions).
Regime
the percentile of that rolling std among its last REGIME_LOOKBACK_MIN values: below 33 -> low (enter |z| >= ENTRY_Z_LOW, exit |z| < EXIT_Z_LOW), 33-67 -> medium, above 67 -> high. REGIME_BANDS False uses ENTRY_Z / EXIT_Z throughout.
Entry
between ENTRY_START and EXIT_TIME, when flat: z >= +entry band -> SELL the NIFTY ATM straddle (NIFTY vol rich); z <= -entry band -> BUY it. LOTS each leg. At most MAX_TRADES_PER_DAY.
Exit
the first later minute with |z| below the exit band of the entry's regime, or EXIT_TIME.
2

Results

PRE-BUILT · DEFAULTS
NIFTY · 2025-10-01 → 2026-09-30 · 1217 trades · before costs
Net P&L+₹1,20,582
Win rate69%
Max drawdown−₹4,105
Avg per trade+₹99
Profit factor2.96
Worst trade−₹2,688
3

Where it made and lost money

Before costs the signal earned in every condition the evidence tracks, which is unusual. Quiet sessions made ₹43,466 over 536 trades, trend days ₹39,970 over 344 and choppy days ₹36,645 over 327. India VIX made little difference: ₹24,954 over 329 trades when calm and ₹40,658 over 338 when above 14.5. That evenness fits the mechanism: the trade is a few minutes long and bets only that a small gap between NIFTY and BANKNIFTY volatility closes, not on direction. The catch is size: average trades of about ₹99 are smaller than the cost of four orders, so no condition survives costs.

Expiry day (NIFTY weekly)
Expiry day+₹28,628251 trades73% won
Other days+₹91,453956 trades68% won
How the entry day opened
Gap up of 0.4% or more+₹28,308184 trades70% won
Flat open+₹71,776827 trades69% won
Gap down of 0.4% or more+₹19,997196 trades67% won
India VIX the evening before
VIX below 11.5 (calm)+₹24,954329 trades71% won
VIX 11.5-14.5 (normal)+₹54,470540 trades69% won
VIX above 14.5 (nervous)+₹40,658338 trades66% won
Day of the week
Monday+₹24,734240 trades65% won
Tuesday+₹28,242232 trades73% won
Wednesday+₹24,792254 trades70% won
Thursday+₹10,517234 trades64% won
Friday+₹31,004242 trades72% won
Trend going in
Uptrend (NIFTY above its 20-day average)+₹55,260595 trades70% won
Downtrend (NIFTY below its 20-day average)+₹64,822612 trades68% won
Kind of session on the entry day
Quiet session (range under 0.75%)+₹43,466536 trades69% won
Trend day (closed near the high or low)+₹39,970344 trades70% won
Choppy day (wide range, closed mid-range)+₹36,645327 trades67% won
Session direction on the entry day
NIFTY closed above its open+₹62,029594 trades67% won
NIFTY closed below its open+₹58,053613 trades71% won
The same trades, split by the market conditions around each entry, before costs.
4

About this strategy

  1. Every minute, read the ATM implied volatility of NIFTY and BANKNIFTY on their nearest monthly expiries with at least five days left.
  2. Compute the spread (NIFTY IV minus BANKNIFTY IV) and its z-score against the previous 120 minutes.
  3. Classify how volatile the spread itself has been, and set entry and exit bands accordingly: entry at a z of 1.2, 1.5 or 2.0 for low, medium or high regimes.
  4. From 10:00, when flat: if z is above the entry band, sell one lot each of the NIFTY monthly ATM call and put; if below the negative band, buy them.
  5. Close when z returns inside the regime's exit band, or at 15:00. At most five trades a day.

Why traders use it

Pairs and relative-value traders look for prices that normally move together and bet on temporary gaps closing. Implied volatilities of NIFTY and BANKNIFTY are closely linked, so a sudden divergence may be noise rather than news. Using a z-score adapts the trigger to how noisy the spread has been recently. This version keeps the signal but trades only the NIFTY side, since the full pair would also need BANKNIFTY options.

Works best whenBefore costs it earned in every condition tracked in this test, quiet, trending and choppy sessions alike, and on weekly expiry days as well as other days, because each trade depends only on a brief volatility gap closing.
Struggles whenWhenever trading costs are included. Each round trip of four orders costs more than the average gross profit per trade, so every condition turns negative after costs.

The year in plain words

With default settings on NIFTY from 1 Oct 2025 to 30 Sep 2026, the strategy made 1,217 trades, about 100 a month, with a median hold of four minutes. Before costs the numbers look striking: 69% winners, ₹1,20,582 profit, a profit factor of 2.96, every month positive and a drawdown of only ₹4,105. But the average trade made just ₹99, while each round trip needs four orders on monthly options. After ₹20 per order and bid-ask slippage, the year becomes a ₹2,05,778 loss and the win rate falls to 13%. The edge is real in the signal but far too small to trade.

What the settings do

OtherThe index whose implied volatility is compared with NIFTY's. It is read only; no trades are placed on it.SpreadBase uses a simple difference of the two IVs; advanced uses fixed weights from a cointegration fit.Window minHow many past minutes form the z-score's mean and standard deviation. A shorter window reacts faster but is noisier.Regime bandsIf on, entry and exit bands depend on how volatile the spread has been; if off, the fixed ENTRY_Z and EXIT_Z are used.Entry zThe z-score needed to enter when regime bands are off.Exit zThe z-score inside which the trade is closed when regime bands are off.Entry z lowThe entry z-score in the low-volatility regime.Exit z lowThe exit z-score in the low-volatility regime.Entry z medThe entry z-score in the medium regime.Exit z medThe exit z-score in the medium regime.Entry z highThe entry z-score in the high regime, set higher to demand a larger divergence when the spread is jumpy.Exit z highThe exit z-score in the high regime.Min DTESkips a monthly expiry this close to expiry and uses the next, because IV near expiry is noisy.Entry startThe earliest time a trade can be opened.Exit timeThe latest time; any open trade is closed and no new ones are opened.Max trades per dayThe cap on trades per day.

Risks

  • Average gross profit per trade is smaller than trading costs, so the strategy loses money in practice.
  • Only the NIFTY half of the pair is traded, so the position carries NIFTY's full vega and gamma rather than a hedged spread.
  • Selling straddles leaves open-ended risk if a sudden move happens while the trade is open.
  • Minute-level IV readings can be noisy, and fills at the quoted price are not guaranteed.

Who it suits

Quantitative traders studying relative-value volatility signals, who want to see how a statistically clean edge looks before and after realistic execution costs.

5

Questions traders ask

What is an implied volatility spread trade?

It compares the implied volatility of two related underlyings and trades when the gap between them is unusually wide or narrow, expecting it to revert. Here the pair is NIFTY and BANKNIFTY, and only the NIFTY straddle is traded.

Is the NIFTY BANKNIFTY IV spread strategy profitable?

Before costs it made ₹1,20,582 from 1 Oct 2025 to 30 Sep 2026, with every month positive. After ₹20 per order and bid-ask slippage it lost ₹2,05,778, because trades were tiny and very frequent. Past results do not guarantee future ones.

Why use BANKNIFTY monthly options?

BANKNIFTY has only monthly expiries now, so both indices' volatility is read on monthly expiries. Comparing matched maturities avoids mistaking a weekly-versus-monthly difference for a signal.

What is a z-score in trading?

A z-score measures how far a value is from its recent average in units of standard deviation. A z of 2 means the spread is two standard deviations above its 120-minute mean, which is treated as stretched.

6

Before you rely on it

ADAPTED FOR TODAY'S NSE RULESBANKNIFTY has monthly expiries only, so both IVs are read on monthly expiries (the spread is not a weekly-vs-monthly term-structure artefact). NIFTY sized in lots.
WATCH OUTIVs near expiry are noisy (MIN_DTE guards the front monthly). A greek series reads 0 before its first print - such minutes are skipped.
WHERE THE RULES WERE UNCLEAR · OUR CHOICESThe source trades an abstract IV spread with P&L = spread x TTE^0.7 - no option legs. Spec reading: ATM straddles. The source's regime bands are used (low 1.2/0.5, medium 1.5/0.7, high 2.0/0.6), window 120 minutes; the 1-minute ATM IV comes from each strike's own IV series (no chain read per minute). No delta hedge (an ATM straddle starts near delta-neutral; the source's variant hedges with futures).
Also known ascointegration vol tradingIV pairsNIFTY vs BANKNIFTY implied-vol spread mean reversion (vol pairs)vol pairsiv cointegration nifty banknifty
Backtests run on historical NSE data with fills at the last traded price. "Before costs" excludes brokerage, taxes and slippage. Quantsapp is not recommending any strategy; it is just a backtesting utility. Past results are not a promise of future returns.

Log in or sign up

Enter your mobile number. New to Quantsapp? The same OTP creates your free account.

+91

By continuing you agree to the Terms of Use and Privacy Policy.