Home · Guides · How many years of NIFTY options data do you need for a backtest: 1 year or 3 years?

BUYER GUIDE · 1 YEAR VS 3 YEARS · CATALOG VERIFIED 2026-11-11

How many years of NIFTY options data do you need for a backtest: 1 year or 3 years?

Buy 3 years of NIFTY options data for any strategy you plan to trade with real money; buy 1 year only when the rule depends on contract terms that exist today. The last 36 months of NIFTY hold two expiry weekdays, three lot sizes (25, 75, 65) and market years that ended +27.0%, +6.5% and −12.4%. Options Data (optionsdata.shop) sells both windows with NIFTY options, futures and spot at 1-minute: NIFTY Complete, 3 years and NIFTY Complete, 1 year.

NIFTY Complete, 3 yearsNIFTY Complete, 1 yearFree 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 spot, three 12-month windows measured on Options Data 1-minute files, 30 Oct 2023 to 23 Oct 2026, full sessions only (09:15–15:29 IST bars). Day range = (high − low) / open. Move = close-to-close change. Expiry days = NIFTY option expiry days in each window.

WindowIndex changeMedian day rangeDays with a 2%+ moveLargest one-day moveExpiry days with a 1.5%+ range
30 Oct 2023 – 25 Oct 2024+27.0%0.79%7−5.62% (4 Jun 2024)9 of 52
28 Oct 2024 – 24 Oct 2025+6.5%0.89%4+3.67% (12 May 2025)5 of 52
27 Oct 2025 – 23 Oct 2026−12.4%0.83%8+3.81% (8 Apr 2026)9 of 52

NIFTY contract terms inside each pack window. Lot sizes and expiry days are from NSE circulars; expiry-day counts are NIFTY option expiry days held in Options Data 1-minute files, 4 Nov 2023 to 3 Nov 2026.

Contract termLast 36 months (3-year pack)Last 12 months (1-year pack)
Weekly expiry dayThursday to 28 Aug 2025, Tuesday from 2 Sep 2025Tuesday
Expiry days held157: 91 Thursday, 57 Tuesday, 4 Wednesday and 5 Monday (holiday shifts)53: 49 Tuesday and 4 Monday (holiday shifts)
Lot size25, then 75 from the 2 Jan 2025 weekly, then 65 from the 6 Jan 2026 weekly75 to the 30 Dec 2025 expiry, 65 from the 6 Jan 2026 weekly
F&O close15:30 IST, then 15:40 IST from 3 Aug 202615:30 IST, then 15:40 IST from 3 Aug 2026

Is 1 year of NIFTY options data enough for a backtest?

One year of NIFTY options data is enough to check that a rule works under today's contract terms: Tuesday weekly expiry, a 65-unit lot and the 15:40 IST F&O close. One year is not enough to judge risk. In the 12 months to 23 October 2026 NIFTY spot fell 12.4%, so one year shows one market direction and about 52 expiry days.

A 1-year test suits intraday rules that reset each day, a re-check of a strategy already tested on longer data, or a first look before a larger download. The NIFTY Complete, 1 year pack holds the last 12 months of NIFTY options, futures and spot at 1-minute.

What changes in a 3-year NIFTY options backtest?

A 3-year NIFTY backtest covers three market years with different direction: NIFTY spot rose 27.0% from 30 October 2023 to 25 October 2024, rose 6.5% to 24 October 2025 and fell 12.4% to 23 October 2026. A rule that holds up in all three windows has been tested in a rising, a flat and a falling year.

The NIFTY median day range stayed between 0.79% and 0.89% in all three windows, while the tails differed. The largest one-day move was −5.62% on 4 June 2024, the general election result day, against +3.67% and +3.81% in the later windows. A short-option strategy tested only on the last 12 months never meets a day like 4 June 2024.

Which NIFTY contract rules changed in the last 3 years?

Three NIFTY contract rules changed between November 2023 and November 2026. The lot size went from 25 to 75 for contracts introduced from 20 November 2024 (NSE circular FAOP64625; first weekly at 75 on 2 January 2025), then to 65 (circular FAOP70616; first weekly at 65 on 6 January 2026).

Weekly expiry moved from Thursday to Tuesday (NSE circular FAOP68685, effective 28 August 2025 EOD); the last Thursday weekly expiry in the files is 28 August 2025 and the first Tuesday expiry is 2 September 2025. From 3 August 2026 NIFTY futures and options trade until 15:40 IST instead of 15:30 IST.

A NIFTY backtest that spans November 2023 to November 2026 needs the lot size by contract expiry date, the expiry date read from each file rather than from a weekday rule, and a session end that depends on the date. File naming and both expiry-date formats are in the NIFTY weekly expiry data format guide; the session change is in the NIFTY closing auction guide.

How many NIFTY expiry days does each window hold?

Options Data NIFTY 1-minute files hold 157 expiry days from 4 November 2023 to 3 November 2026: 91 on Thursday, 57 on Tuesday, and 9 moved to a Wednesday or Monday by exchange holidays. The last 12 months hold 53 expiry days, 49 on Tuesday and 4 on Monday.

Expiry-day strategies run on one trade per expiry, so the window sets the sample size. Over three years 23 of 156 expiry days in the spot windows had an intraday range of 1.5% or more; a 1-year window holds 5 to 9 such days. Expiry-day coverage per index is in the expiry day backtesting data guide.

How were the NIFTY year statistics measured?

Method: each Options Data NIFTY spot 1-minute file from 27 October 2023 to 26 October 2026 was cut to the 09:15–15:29 IST bars, days with fewer than 370 bars were dropped as partial sessions, and the day open, high, low and close were taken from the bars. Day range is high minus low over the open; move is the close-to-close change.

Expiry days were matched from the NIFTY option files, where an expiry day is a trading day on which a held series expires. The pandas script on this page prints the median day range, the count of 2%+ moves and the largest move per window.

import glob, pandas as pd
rows = []
for f in sorted(glob.glob("NIFTY_SPOT_1min_*.parquet")):
    d = pd.read_parquet(f).rename(columns={"timestamp": "datetime"})
    d["datetime"] = pd.to_datetime(d["datetime"])      # IST, bar start
    d = d[d["datetime"].dt.strftime("%H:%M").between("09:15", "15:29")]
    if len(d) < 370: continue                          # full sessions only
    rows.append({"day": d["datetime"].iloc[0].normalize(), "open": d["open"].iloc[0],
                 "high": d["high"].max(), "low": d["low"].min(), "close": d["close"].iloc[-1]})
r = pd.DataFrame(rows).set_index("day")
r["range_pct"] = (r["high"] - r["low"]) / r["open"] * 100
r["move_pct"] = r["close"].pct_change() * 100
r["window"] = pd.cut(r.index, pd.to_datetime(["2023-10-27", "2024-10-26", "2025-10-26", "2026-10-26"]))
print(r.groupby("window").agg(median_range=("range_pct", "median"),
      big_moves=("move_pct", lambda s: (s.abs() >= 2).sum()), largest=("move_pct", lambda s: s.abs().max())))

Which NIFTY pack should I buy: 1 year, 3 years or since 2020?

Buy NIFTY Complete, 3 years for strategy research, position sizing and expiry-day rules; it holds the last 36 months of NIFTY options, futures and spot at 1-minute. Buy NIFTY Complete, 1 year to test under current contract terms only.

For a longer history, NIFTY Complete, since 2020 starts in January 2020. Dates per segment are on the NIFTY option chain data page, and the free NIFTY sample shows the file layout 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 many years of data do I need to backtest a NIFTY options strategy?

Three years for a strategy you plan to trade: the last 36 months hold a rising, a flat and a falling NIFTY year, two expiry weekdays and three lot sizes. One year only checks a rule under current contract terms.

When did NIFTY weekly expiry move from Thursday to Tuesday?

NSE moved NIFTY expiry from Thursday to Tuesday from 28 August 2025 EOD (circular FAOP68685). The last Thursday weekly expiry was 28 August 2025 and the first Tuesday expiry was 2 September 2025.

What is the NIFTY lot size in a backtest from 2023 to 2026?

25 for contracts introduced before 20 November 2024, 75 from the 2 January 2025 weekly expiry, and 65 from the 6 January 2026 weekly expiry and the 27 January 2026 monthly expiry, per NSE circulars FAOP64625 and FAOP70616.

How many NIFTY expiry days are in 3 years of Options Data files?

157 expiry days from 4 November 2023 to 3 November 2026: 91 Thursday, 57 Tuesday, 4 Wednesday and 5 Monday. The last 12 months hold 53.

Do the NIFTY Complete packs include futures and spot?

Yes. NIFTY Complete 1 year and 3 years each hold NIFTY options, futures and spot at 1-minute as Parquet, with CSV available.

Get the data

Free sample · Schema · Ask the AI for your data

NIFTY Complete, 3 yearsNIFTY Complete, 1 yearFree NIFTY sample Get free sample by email

Related guides

Index and commodity data only.