Home · Guides · How to model slippage in a NIFTY options backtest with 1-minute data

HOW-TO · SLIPPAGE · 1-MINUTE FILLS · CATALOG VERIFIED 2026-11-11

How to model slippage in a NIFTY options backtest with 1-minute data

Model NIFTY option slippage from the bar after the signal: fill at its open, then add a share of its high-low range, and use a larger share on expiry day. Across 738 NIFTY sessions from 3 November 2023 to 3 November 2026 in Options Data (optionsdata.shop) 1-minute files, the at-the-money fill bar ranged a median 4.65 points (3.99% of premium) on non-expiry days and 4.20 points (13.52%) on expiry days. Data: NIFTY options, 1-minute, 3 years.

NIFTY options, 1-minute, 3 yearsNIFTY Complete, 3 yearsFree NIFTY sample Get free sample by email File schema

Get the free sample by email → check the columns

Dates on this page are read from the live file catalog, not typed by hand. Full matrix: /coverage.

NIFTY nearest-expiry options, Options Data 1-minute option and spot files, 738 sessions 3 Nov 2023 to 3 Nov 2026 (157 expiry days). Signals at the 09:20, 10:30, 12:00, 14:00 and 15:15 IST bar closes; ATM strike = NIFTY spot close of the signal bar rounded to 50; call and put both measured. Fill bar = the next 1-minute bar. Medians unless stated.

MeasureATM, non-expiry daysATM, expiry days300 points OTM, non-expiry days300 points OTM, expiry days
Median premium at signal close117.45 points36.55 points26.40 points1.40 points
Signal close to fill-bar open0.10 points0.05 points0.00 points0.00 points
Fill-bar high minus low4.65 points (3.99%)4.20 points (13.52%)1.30 points (4.87%)0.10 points (12.50%)
Fill-bar range, 90th percentile10.26 points (8.32%)10.91 points (50.00%)4.20 points (10.42%)0.85 points (50.00%)
Fill-bar open to high (buy at the high)1.95 points (1.65%)1.55 points (5.71%)0.45 points (2.01%)0.05 points (5.36%)

Median ATM fill-bar high minus low by signal time, NIFTY nearest expiry, same 738 sessions, all days.

Signal bar (IST)Fill-bar range, pointsFill-bar range, % of premium
09:207.306.65%
10:304.834.72%
12:003.853.95%
14:004.204.43%
15:153.454.05%

Why does a NIFTY options backtest filled at the signal close overstate returns?

A NIFTY options backtest filled at the signal bar close trades at a price that was already printed when the signal formed, so a live order cannot get it. Traded 1-minute OHLC holds no queue or spread, so a backtest models slippage from the bar after the signal: its open, high, low and volume.

Options Data NIFTY option files hold datetime, expiry_date, strike_price, right, open, high, low, close, volume and open_interest per strike at 1-minute, with datetime as the IST bar start. Coverage dates are on the NIFTY option chain data page.

Is filling at the next 1-minute bar open enough to model NIFTY option slippage?

Filling at the next 1-minute bar open removes look-ahead but adds almost no cost for liquid NIFTY strikes. Over 738 sessions from November 2023 to November 2026, the at-the-money option opened a median 0.10 points from the signal close; 37.9% of fill bars opened at the exact signal close and 47.9% within 0.05 points.

The NIFTY at-the-money next-bar open is a timing rule, not a cost model. At the 90th percentile, the gap from signal close to fill-bar open was 0.75% of premium, while the fill bar itself ranged a median 4.65 points on non-expiry days.

How do I add a slippage cost from the 1-minute bar range?

Add a slippage cost from the 1-minute bar range by filling buys between the fill-bar open and high and sells between the open and low. In NIFTY at-the-money options over 738 sessions, buying at the fill-bar high instead of its open cost a median 1.95 points (1.65% of premium) on non-expiry days.

A NIFTY option backtest can test fills at three levels: the fill-bar open, the open plus half the distance to the high (buys) or low (sells), and the high or low itself. A strategy whose edge disappears at the high-or-low fill depends on execution inside the minute, which 1-second data shows; see the 1-minute vs 1-second guide.

How much larger is NIFTY option slippage on expiry day?

NIFTY option slippage as a share of premium is more than three times larger on expiry day. The at-the-money fill bar ranged a median 13.52% of premium on 157 expiry days against 3.99% on other days from November 2023 to November 2026, because the premium fell to a median 36.55 points while the point range stayed near 4 points.

On NIFTY expiry days the 90th-percentile at-the-money fill-bar range was 50.00% of premium. A percentage slippage rule calibrated on non-expiry days understates expiry-day costs; a points-based rule, or a rule set per expiry day using the expiry_date column, keeps expiry-day fills separate. Expiry-day timing is in the 9:20 straddle guide.

Does NIFTY option slippage depend on the time of day?

NIFTY option fill-bar ranges are widest after the open. The at-the-money fill bar after a 09:20 IST signal ranged a median 7.30 points (6.65% of premium), against 3.85 points (3.95%) after 12:00 and 3.45 points (4.05%) after 15:15, measured over 738 sessions from November 2023 to November 2026.

How should a backtest treat out-of-the-money NIFTY strikes?

Out-of-the-money NIFTY strikes have small point ranges but large ranges as a share of premium. The strike 300 points out of the money had a median premium of 26.40 points and a fill-bar range of 1.30 points (4.87%) on non-expiry days; on expiry days the premium was 1.40 points and the range 0.10 points (12.50%).

A NIFTY backtest of out-of-the-money strikes can check that a fill bar exists and carries volume before filling. In the measured sessions the at-the-money fill bar was present after 99.97% of signal bars, and 0.18% of at-the-money fill bars had zero volume.

How were the NIFTY slippage figures measured?

Method: for each NIFTY session from 3 November 2023 to 3 November 2026, the nearest expiry was read from the option file names. At the 09:20, 10:30, 12:00, 14:00 and 15:15 IST bar closes, the at-the-money strike was the NIFTY spot close rounded to 50 points, and the call and put of that strike, plus the strikes 300 points out of the money, were measured.

In the NIFTY slippage measurement, the fill bar was the 1-minute bar starting one minute after the signal bar. Percentages divide by the signal-bar close. An expiry day is a session whose date equals the nearest expiry_date. Costs, taxes and order size are not modelled. Files dated 3 July 2023 to 31 July 2026 use older column names, which the script renames.

import pandas as pd
names = {"timestamp": "datetime", "strike": "strike_price", "option_type": "right"}
def bars(f):
    d = pd.read_parquet(f).rename(columns=names)
    d["hm"] = pd.to_datetime(d["datetime"]).dt.strftime("%H:%M")   # IST bar start
    return d
day, expiry, signal, fill = "2026-10-21", "2026-10-27", "12:00", "12:01"
s = bars(f"NIFTY_SPOT_1min_{day}.parquet").set_index("hm")
k = round(s.loc[signal, "close"] / 50) * 50                       # ATM strike at the signal
o = bars(f"NIFTY_OPT_1min_{day}_exp{expiry}.parquet")
o = o[(o["strike_price"] == k) & (o["right"].astype(str).str[0].str.upper() == "C")].set_index("hm")
sig, nxt = o.loc[signal], o.loc[fill]
print("close-to-next-open:", abs(nxt["open"] - sig["close"]))
print("buy at next high, cost vs open:", nxt["high"] - nxt["open"])
print("next bar range, % of premium:", (nxt["high"] - nxt["low"]) / sig["close"] * 100)

Which NIFTY pack should I buy for a slippage-aware backtest?

Buy NIFTY options, 1-minute, 3 years for a slippage-aware backtest on the option chain: every row carries open, high, low, close and volume for the fill-bar model. NIFTY Complete, 3 years adds NIFTY futures and spot on the same IST clock for strike selection from spot.

NIFTY packs hold traded OHLC, volume and open interest. Quoted bid and ask prices for BSE contracts are in the BSE F&O bid/ask pack. The free NIFTY sample shows the option and spot file layouts before buying.

Exactly which fields are in the files

Options files

Column (layout A · layout B)TypeMeaning
datetime · timestamptimestampBar start time, IST wall-clock (e.g. 2026-09-10 09:15:00)
stock_code · —stringUnderlying code: NIFTY, or BSESEN for SENSEX
exchange_code · —stringNFO (NSE F&O) or BFO (BSE F&O)
product_type · —stringOptions
expiry_date · expirystringContract expiry (A: 15-SEP-2026, B: 2026-09-15)
strike_price · strikenumberStrike price
right · option_typestringA: Call / Put, B: CE / PE
open / high / low / closefloatTraded premium OHLC within the bar
volumeintVolume traded in the bar
open_interest · oiintOpen interest at that bar

No Greeks or bid/ask.

Format: Parquet. Validate on the free sample and the schema page before buying.

FAQ

How do I model slippage in a NIFTY options backtest with 1-minute data?

Fill at the open of the bar after the signal, then add a share of that bar's range: toward the high for buys and the low for sells, with a separate rule for expiry days.

How far does the next 1-minute bar open from the signal close in NIFTY ATM options?

A median 0.10 points over 738 sessions from 3 November 2023 to 3 November 2026 in Options Data 1-minute files; 47.9% of fill bars opened within 0.05 points of the signal close.

What is the median 1-minute range of a NIFTY ATM option?

4.65 points (3.99% of premium) on non-expiry days and 4.20 points (13.52%) on expiry days, for the bar after signals at 09:20, 10:30, 12:00, 14:00 and 15:15 IST.

How much does buying at the 1-minute high cost in NIFTY ATM options?

A median 1.95 points (1.65% of premium) above the fill-bar open on non-expiry days and 1.55 points (5.71%) on expiry days, November 2023 to November 2026.

Do NIFTY option packs include bid and ask prices?

No. NIFTY packs hold traded open, high, low, close, volume and open interest per minute. Quoted bid and ask prices are in the BSE F&O bid/ask pack for BSE contracts.

Get the data

Free sample · Schema · Ask the AI for your data

NIFTY options, 1-minute, 3 yearsNIFTY Complete, 3 yearsFree NIFTY sample Get free sample by email

Related guides

Index and commodity data only.