Home · Guides · SENSEX option chain historical data: BSE chains minute by minute
GUIDE · SENSEX OPTION CHAIN · CATALOG VERIFIED 2026-11-11
SENSEX option chain historical data: BSE chains minute by minute
Options Data (optionsdata.shop) sells historical SENSEX option chains from BSE as 1-minute Parquet or CSV files: every traded strike of the nearest expiries, calls and puts, with OHLC, volume and open interest, covering NOV 2023 → NOV 2026. Files use the same layout as the NIFTY chain, so one loader handles both indices. Open interest has known gaps, listed below. Dataset: SENSEX options historical data.
SENSEX option chain dataSENSEX options, 3 yearsNIFTY option chain data 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.
SENSEX weekly expiry day by period (BSE)
| Period | Weekly expiry |
|---|---|
| Up to the 3 Jan 2025 weekly | Friday |
| From January 2025 | Tuesday |
| Contracts expiring from September 2025 | Thursday (first: 4 Sep 2025) |
What a SENSEX chain file holds
One file per trading day per expiry, named like SENSEX_OPT_1min_<trading day>_exp<expiry>.parquet. Each row is one strike and side in one minute: traded open, high, low, close, volume and open interest, with strike, expiry and call/put. In layout A files the underlying code is BSESEN and the exchange code is BFO.
Nearest NIFTY and SENSEX expiries, every traded strike. Full detail on the coverage page. SENSEX 1-second chains cover 27 May 2024 to present in the SENSEX Options + Spot 1-second pack.
Rebuild the chain at any minute
Take the last traded bar of every strike at or before your minute, then pivot calls and puts side by side:
import pandas as pd
df = pd.read_parquet("SENSEX_OPT_1min_2026-09-09_exp2026-09-10.parquet")
# older files use layout B names; map them to the sample names
df = df.rename(columns={"timestamp": "datetime", "strike": "strike_price",
"option_type": "right", "expiry": "expiry_date",
"oi": "open_interest"})
if "right" in df:
df["right"] = df["right"].replace({"CE": "Call", "PE": "Put"})
df["datetime"] = pd.to_datetime(df["datetime"])
t = pd.Timestamp("2026-09-09 11:00:00")
snap = df[df["datetime"] <= t].sort_values("datetime").groupby(["strike_price", "right"]).last()
chain = snap[["close", "volume", "open_interest"]].unstack("right")
print(chain)
Open interest gaps, stated plainly
SENSEX options 1-min: open interest is present 7 Nov 2023 – 20 Apr 2026 and 6 Jul – 14 Aug 2026; it is 0 from 21 Apr – 3 Jul 2026, on 16 individual days, and from 17 Aug 2026.
On those dates price and volume are complete; only the OI column reads 0. Filter them out of any OI-based signal rather than treating 0 as real positioning. Exact per-day detail is on the coverage page.
Expiry days moved twice
Expiry-day sessions are where SENSEX chains differ most from ordinary days: volume crowds into the strikes around the money late in the session and the expiring series loses open interest as positions close or roll. Each expiry-day file sits next to the next expiry's file for the same day, so the roll is visible directly. For expiry-day research see the expiry-day backtesting guide.
SENSEX weekly options expired on Friday until the 3 January 2025 weekly, moved to Tuesday from January 2025, and moved to Thursday for contracts expiring from September 2025, with the first Thursday weekly on 4 September 2025. Read each contract's expiry from the data, not the weekday.
To compare the two weekly chains on the same clock, pair these files with the NIFTY option chain data; the NIFTY + SENSEX Complete packs include both with futures and spot.
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 (SENSEX has gaps where it is 0 — see /free/schema) |
Each row is one contract in one bar: traded OHLC, volume and open interest, with strike, expiry and call/put on every row.
Format: Parquet. Validate on the free sample and the schema page before buying.
FAQ
Where can I download SENSEX option chain historical data?
Options Data sells SENSEX option chains at 1-minute (NOV 2023 → NOV 2026) as Parquet or CSV. See the SENSEX options historical data page.
What day is SENSEX weekly expiry?
Thursday, for contracts expiring from September 2025 (first: 4 September 2025). It was Tuesday from January 2025 and Friday before that.
Does SENSEX option data include open interest?
Yes, with gaps: SENSEX options 1-min: open interest is present 7 Nov 2023 – 20 Apr 2026 and 6 Jul – 14 Aug 2026; it is 0 from 21 Apr – 3 Jul 2026, on 16 individual days, and from 17 Aug 2026.
Can I compare SENSEX and NIFTY option chains on the same clock?
Yes. Both use IST wall-clock bar starts and the same columns, so you can join the two chains by minute. The NIFTY + SENSEX Complete packs include both indices with futures and spot.
Is the SENSEX file layout the same as NIFTY?
Yes. Same columns and naming, so the same code loads both. Layout A files use BSESEN as the underlying code.
Is there SENSEX 1-second option chain data?
Yes, 27 May 2024 to present, in the SENSEX Options + Spot 1-second pack: /packs/sensex-options-1-second. Note that SENSEX 1-second option files have OI = 0 throughout.
Get the data
Free sample · Schema · Ask the AI for your data
SENSEX option chain dataSENSEX options, 3 yearsNIFTY option chain data 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
- 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?
- Which data do you need to backtest a NIFTY 9:20 short straddle?
- 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.