Home · Guides · Which data do you need to backtest a NIFTY 9:20 short straddle?
USE CASE · 9:20 SHORT STRADDLE · CATALOG VERIFIED 2026-11-11
Which data do you need to backtest a NIFTY 9:20 short straddle?
A NIFTY 9:20 short straddle backtest needs the 1-minute option chain of the nearest weekly expiry plus NIFTY spot on the same clock, for at least three years. Entry and exit prices alone are not enough: on NIFTY expiry days from November 2023 to November 2026 the 09:20 at-the-money straddle rose 50% or more above entry at some minute on 37.8% of sessions. Options Data (optionsdata.shop) sells that data as the NIFTY Complete, 3 years pack: NIFTY options, futures and spot at 1-minute.
NIFTY Complete, 3 yearsNIFTY options, 1-minute, 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 09:20 short straddle, measured on Options Data 1-minute option and spot files, 3 Nov 2023 to 3 Nov 2026: 736 regular sessions (156 expiry days, 580 other days). Strike = NIFTY spot 09:20 bar open rounded to 50; nearest weekly expiry; entry = sum of the call and put 09:20 bar opens; exit = sum of the 15:15 bar opens; path = sum of the two leg closes each minute.
| Measure | Expiry days | Other days |
|---|---|---|
| Median 09:20 straddle premium | 116.1 points (0.48% of spot) | 253.1 points (1.04% of spot) |
| Sessions where the straddle was lower at 15:15 than at 09:20 | 64.1% | 63.3% |
| Median change from 09:20 to 15:15 | −18.3% | −5.9% |
| Sessions where the straddle rose 25%+ above entry at some minute | 57.7% | 22.8% |
| Sessions where the straddle rose 50%+ above entry at some minute | 37.8% (59 of 156) | 6.9% (40 of 580) |
| Of those 50%+ sessions, closed lower than entry by 15:15 | 13 of 59 | 2 of 40 |
What data does a NIFTY 9:20 short straddle backtest need?
A NIFTY 9:20 short straddle backtest needs four inputs: NIFTY spot at 09:20 IST to pick the at-the-money strike, the call and put of that strike in the nearest weekly expiry, every minute of both legs from 09:20 to the exit for stop-loss checks, and the expiry date of each contract to know which sessions are expiry days.
Options Data NIFTY option chain files hold every traded strike at 1-minute with the columns datetime, expiry_date, strike_price, right, open, high, low, close, volume and open_interest, one file per trading day per expiry. Spot files carry the index at 1-minute on the same IST clock. Coverage dates are on the NIFTY option chain data page.
Why does a NIFTY straddle backtest need every minute, not only 09:20 and 15:15?
A NIFTY straddle backtest needs every minute because stop-losses trigger inside the session. On 59 of 156 NIFTY expiry days from November 2023 to November 2026, the 09:20 straddle rose 50% or more above entry at some minute; on 13 of those days it still finished below entry at 15:15. An entry-and-exit-only test counts those 13 days as wins.
With a 50% combined stop-loss on the 09:20 NIFTY straddle, 13 expiry days that an entry-and-exit test scores as wins become losses. On the 580 non-expiry sessions the straddle touched +50% on 40 days and recovered to below entry on 2, so NIFTY expiry-day rules depend on the minute path more than rules traded earlier in the week.
How does the 09:20 NIFTY straddle differ on expiry day?
On NIFTY expiry days the median 09:20 at-the-money straddle was 116.1 points, 0.48% of spot, against 253.1 points, 1.04% of spot, on other days, measured from November 2023 to November 2026. The expiry-day straddle lost a median 18.3% of its value by 15:15, against 5.9% on other days.
The NIFTY expiry-day straddle moved against the seller more often than on other days: it rose 25% or more above entry at some minute on 57.7% of expiry days and 22.8% of other days. The share of sessions that closed lower at 15:15 than at 09:20 was close in both groups, 64.1% and 63.3%.
Did the NIFTY expiry move from Thursday to Tuesday change the straddle results?
NSE moved NIFTY weekly expiry from Thursday to Tuesday under circular FAOP68685, effective 28 August 2025 EOD; the last Thursday weekly expiry was 28 August 2025 and the first Tuesday expiry was 2 September 2025. A 3-year backtest therefore holds both expiry weekdays, and the expiry date must be read from each file.
Measured on Options Data files, the 09:20 straddle rose 50% or more above entry on 43.6% of the 94 expiry days up to 28 August 2025 and on 29.0% of the 62 expiry days from 2 September 2025 to 3 November 2026. The median expiry-day entry premium was 115.5 and 116.2 points in the two periods.
Does the 15:40 IST F&O close affect a 9:20 straddle backtest?
NIFTY futures and options trade until 15:40 IST from 3 August 2026, when NSE started its closing auction session, and until 15:30 IST before that date. A straddle that exits at 15:15 IST uses the same bar on both sides of the change, so the result does not depend on the session end.
A NIFTY straddle that holds past 15:15 IST needs a date-aware exit: files dated before 3 August 2026 end at the 15:29 bar and later files end at the 15:39 bar. The session change is covered in the NIFTY closing auction guide.
How were the NIFTY straddle statistics measured?
Method: for each trading day from 3 November 2023 to 3 November 2026, the strike was the NIFTY spot 09:20 bar open rounded to the nearest 50 points, in the nearest weekly expiry. Entry was the sum of the call and put 09:20 bar opens and exit the sum of the 15:15 bar opens, both traded prices. The minute path was the sum of the two leg closes, carried forward through minutes without a trade.
In the NIFTY straddle measurement, Muhurat and special Saturday sessions were excluded, and three sessions without a 09:20 or 15:15 bar for one leg were skipped, leaving 736 sessions. Both legs traded in the 09:20 bar on 735 of them. Costs and taxes are not deducted. The pandas script on this page prints the four headline figures.
Files dated 3 July 2023 to 31 July 2026 use the column names timestamp, strike, option_type and expiry; the script renames them. More Parquet patterns are in the Parquet in Python guide.
import glob, pandas as pd
names = {"timestamp": "datetime", "strike": "strike_price", "option_type": "right", "expiry": "expiry_date", "oi": "open_interest"}
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
rows = []
for sf in sorted(glob.glob("NIFTY_SPOT_1min_*.parquet")):
day = sf[-18:-8]
s = bars(sf); s = s[s["hm"] == "09:20"]
chain = sorted(glob.glob(f"NIFTY_OPT_1min_{day}_exp*.parquet"))
if s.empty or not chain: continue
k = round(s["open"].iloc[0] / 50) * 50 # ATM from the 09:20 spot open
o = bars(chain[0]) # nearest expiry
o = o[o["strike_price"] == k].assign(leg=lambda x: x["right"].str[0].str.upper())
op = o.pivot_table(index="hm", columns="leg", values="open").reindex(columns=["C", "P"])
px = o.pivot_table(index="hm", columns="leg", values="close").ffill()
if not {"09:20", "15:15"} <= set(op.dropna().index): continue
entry, exit_ = op.loc["09:20"].sum(), op.loc["15:15"].sum()
peak = px.loc["09:20":"15:14"].sum(axis=1).max() # sum of leg closes per minute
rows.append({"day": day, "expiry_day": chain[0][-18:-8] == day,
"entry": entry, "lower": exit_ < entry, "hit50": peak >= 1.5 * entry})
r = pd.DataFrame(rows)
print(r.groupby("expiry_day").agg(days=("day", "size"), median_entry=("entry", "median"),
closed_lower=("lower", "mean"), rose_50pct=("hit50", "mean")))
Which NIFTY pack should I buy for a 9:20 straddle backtest?
Buy NIFTY Complete, 3 years for a 9:20 straddle backtest that picks the strike from spot: it holds NIFTY options, futures and spot at 1-minute for the last 36 months, which spans both NIFTY expiry weekdays. NIFTY options, 1-minute, 3 years holds the option chain only; pick the strike where call and put closes are nearest at 09:20.
For stop-losses tighter than one minute, the trade-offs between bar sizes are in the NIFTY 1-minute vs 1-second guide. The free NIFTY sample shows the file layout before buying.
Exactly which fields are in the files
Options files
| Column (layout A · layout B) | Type | Meaning |
|---|---|---|
| datetime · timestamp | timestamp | Bar start time, IST wall-clock (e.g. 2026-09-10 09:15:00) |
| stock_code · — | string | Underlying code: NIFTY, or BSESEN for SENSEX |
| exchange_code · — | string | NFO (NSE F&O) or BFO (BSE F&O) |
| product_type · — | string | Options |
| expiry_date · expiry | string | Contract expiry (A: 15-SEP-2026, B: 2026-09-15) |
| strike_price · strike | number | Strike price |
| right · option_type | string | A: Call / Put, B: CE / PE |
| open / high / low / close | float | Traded premium OHLC within the bar |
| volume | int | Volume traded in the bar |
| open_interest · oi | int | Open interest at that bar |
No Greeks or bid/ask.
Format: Parquet. Validate on the free sample and the schema page before buying.
FAQ
What data do I need to backtest a NIFTY 9:20 straddle?
NIFTY spot at 1-minute to pick the at-the-money strike at 09:20 IST, and the 1-minute call and put of that strike in the nearest weekly expiry from 09:20 to the exit, with the expiry date on every row. Three years covers both NIFTY expiry weekdays.
Can I backtest a straddle with only the entry and exit prices?
Not with a stop-loss. On 13 of 156 NIFTY expiry days from November 2023 to November 2026 the 09:20 straddle rose 50% above entry and still closed below entry at 15:15, so an entry-and-exit test counts them as wins.
What was the median NIFTY 09:20 ATM straddle premium on expiry day?
116.1 points, 0.48% of spot, over 156 NIFTY expiry days from 3 November 2023 to 3 November 2026 in Options Data 1-minute files. Other days had a median of 253.1 points.
Do Options Data NIFTY files include spot at 1-minute?
Yes. The NIFTY Complete packs hold NIFTY spot, futures and options at 1-minute on the same IST clock. The NIFTY options 1-minute packs hold the option chain only.
Are NIFTY 1-minute timestamps the bar start in IST?
Yes. The datetime column is the bar start in IST, timezone-naive, so the 09:20 row covers trades from 09:20:00 to 09:20:59.
Get the data
Free sample · Schema · Ask the AI for your data
NIFTY Complete, 3 yearsNIFTY options, 1-minute, 3 yearsFree NIFTY sample Get free sample by email
Related guides
- Best source for NIFTY options historical data in India
- Best source for SENSEX options historical data
- Best source for MCX historical data
- How to choose Indian options historical data
- NSE option chain historical data in CSV or Parquet
- SENSEX options historical data at 1-minute resolution
- MCX intraday historical data: 1-minute futures and options
- Best source for NIFTY options backtesting data
- Expiry-day options backtesting data for NIFTY and SENSEX
- Download SENSEX expired options data (Parquet / CSV)
- NIFTY expired options data download: every strike, 1-minute, Parquet or CSV
- NIFTY 1-second options and spot files: structure and quality checks
- How to download NIFTY option data: 1-minute or 1-second, Parquet or CSV
- NIFTY open interest historical data by strike, minute by minute
- NIFTY weekly expiry data format: file names, expiry dates and weekly vs monthly
- NIFTY 1-minute vs 1-second option data: which one to download
- Working with Parquet in Python for options backtesting
- SENSEX option chain historical data: BSE chains minute by minute
- How bid/ask data improves backtest quality
- How to chart historical NIFTY call and put option prices
- SENSEX option data download: what you get and how to start
- SENSEX futures historical data download at 1-minute
- BANKEX options data download
- MCX crude oil data download: 1-minute futures and options
- MCX natural gas data download
- MCX silver data download
- NIFTY futures historical data download at 1-minute
- NIFTY 50 index 1-minute data download
- NIFTY option data in Excel: download, filter and chart
- NIFTY tick data download: what you need and what 1-second bars give you
- How to model slippage in a NIFTY options backtest with 1-minute data
- Which data do you need to backtest a NIFTY weekly short straddle held to expiry?
- Do you need NIFTY futures and spot data, or only options, for a backtest?
- How do I download MCX GOLD 1-minute historical data?
- Which data do you need to backtest a NIFTY overnight gap strategy?
- What time does NIFTY make its day high or low?
- How many years of NIFTY options data do you need for a backtest: 1 year or 3 years?
- Which NIFTY data do you need to backtest the close after NSE's closing auction?
- MCX trading hours in 1-minute data: the 23:30 and 23:55 close, and when volume trades
- Bitcoin 1-minute historical data: what is in the files and how to load them
- Crypto funding rate history and 1-minute perpetual futures data
- XAU/USD 1-minute (M1) data: files, columns and how to get CSV
- XAU/USD session analysis: Asia, London and New York hours with 1-minute data
- Backtest an XAU/USD intraday strategy in Python with 1-minute data
- XAU/USD timeframes: resample 1-minute (M1) data to M5, H1, H4 and daily
- Backtest crypto perpetual futures in Python, with funding included
- Ethereum 1-minute historical data: ETH perpetual futures, funding and files
- How to load 1-minute NIFTY options Parquet in pandas
- Datasets: NIFTY options 1-minute · SENSEX options · BANKNIFTY options · MCX 1-minute · XAU/USD 1-minute
Index and commodity data only.