Guides /
Historical options data for research in India: a guide for students and academics
Indian index options data for theses and papers: what intraday option history is available, how to describe it in a data section, and how to keep results reproducible.
Research on Indian derivatives often stops at daily data because intraday option history is hard to obtain. Minute-level NIFTY, SENSEX and MCX history makes questions about intraday volatility, expiry effects and market microstructure practical for a thesis or paper.
Questions this data supports
- Intraday implied volatility patterns and their change around expiry.
- Effects of exchange rule changes, such as the move of expiry weekdays.
- Put-call parity deviations and their persistence by minute.
- Comparing NSE and BSE index options on the same days.
Writing the data section
Describe the sample precisely: instruments, date range, bar size, the timestamp convention (IST, bar start), and any filters you applied. Keep a manifest of the files you used:
import hashlib
from pathlib import Path
import pandas as pd
rows = [(f.name, f.stat().st_size, hashlib.md5(f.read_bytes()).hexdigest())
for f in sorted(Path("NIFTY").rglob("*.parquet"))]
pd.DataFrame(rows, columns=["file", "bytes", "md5"]).to_csv("data_manifest.csv", index=False)
A manifest lets a reviewer, or you a year later, confirm the exact inputs.
Practical points
- Parquet loads directly into Python, R (
arrow) and Stata via conversion. - Start with the free samples to write and test your cleaning code.
- Pick the shortest window that answers the question; you can add years later.
Common choices: NIFTY options, 3 years, NIFTY + SENSEX, 3 years.
Questions
Can students buy Indian options data for research?
Yes. Any pack can be bought for research use, and free samples are available to test first.
Can the data be used in R?
Yes. Parquet files load in R with the arrow package, or ask for CSV.
How should I cite the timestamps?
Timestamps are Indian Standard Time and mark the start of each bar.