Tuesday 16 Jun 2026 was a weekly expiry. Nifty closed at 23,989.15, and every option on that expiry settled against that close. Six days earlier, on Wednesday 10 Jun, the 23,250 straddle had sold for 346.05 a unit. The index finished 739.15 points above the strike, so the seller gave back more than was collected. One trade tells a backtester nothing, and four tell almost as little, as the ledger below shows. This lesson is about the work under an options backtest: the dated inputs, the rule changes a test must carry, the costs of a sold straddle and the number of trades it takes before a record means anything. The trades are an illustration of method. They are not a strategy, and nothing here is a view on where Nifty goes.
3By the end you can
- List the dated inputs an options backtest needs and where each comes from.
- Carry lot size, expiry day, charges and settlement regime by date through a ledger of trades.
- Work out how many trades a result needs before an edge of a given size can be told from luck.

The idea, plainly
What does an options backtest need that a stock test does not?
A stock test needs one price series. An options test needs a whole chain for each date: every strike, with its settlement price, open interest in units and volume in contracts. NSE's end of day F&O file carries those, plus the future's own row and the lot of each contract. The rate and the expiry calendar come from elsewhere, and every one of them must carry the date of the chain. A rule is then replayed against each chain, settled at expiry, charged its costs of that date and written into a ledger.
Every stage of an options test reads something dated
How is a trade settled at expiry?
Nifty options are European and cash settled, so at expiry a call is worth the index close less the strike, or nothing, and a put the strike less the close, or nothing. Name the regime of each expiry. Before 3 Aug 2026 the settlement price was the index close, itself built from the constituents' volume weighted prices over the last 30 minutes. From 3 Aug to 6 Dec 2026 it is the index close set by the closing auction session. The four trades below all expired before 3 Aug. From 7 Dec 2026, under SEBI's circular of 15 Oct 2026, settlement returns to the index built from volume weighted prices over the last 30 minutes, now of continuous trading, and expiring index contracts stop trading at 3:30 pm. A rule that leans on the final pin at the close will meet different mechanics after that date, so a test across the change should flag it.
Which rules changed inside the files?
Lot size was 75 on 11 Jun 2025 and is 65 now, so a result in rupees per lot cannot be compared across the change without restating it. The weekly expiry day moved from Thursday to Tuesday for contracts expiring from 1 Sep 2025. BANKNIFTY weekly contracts ended with the expiry of 13 Nov 2024, so a weekly BANKNIFTY test has no data after it. Keep a table of rules by date and read it row by row. The lesson on the real cost of an F&O trade has the charges and backtest biases has the wider list of traps.
Seven dated changes a test across 2024 to 2026 has to carry
- Last BANKNIFTY weekly expiry
Weekly options stay only on Nifty at NSE. A weekly BANKNIFTY test ends here.
- Nifty lot becomes 75
New contracts carry the larger lot. Rupee results before and after are not on one scale.
- Tuesday expiries
Nifty weekly and monthly contracts expire on Tuesday. Thursday was the day before.
- First weekly with a lot of 65
The lot falls from 75 to 65. The first monthly with the new lot is 27 Jan 2026.
- STT on options rises
Sold and exercised options both pay 0.15%. The sale rate was 0.10% before.
- Closing auction session
The cash market closes on an auction, which sets the index close that settles expiries.
- Settlement on a 30 minute average
Index contracts settle on a 30 minute volume weighted average of continuous trading and stop at 3:30 pm on expiry day.
The term this section turns on: Ledger
What does the written rule hold?
Five things, fixed before the first run: how the strike is chosen, when the trade is entered, when it is left, how many lots it holds and what happens on a gap. Strike by distance from the future, by delta or by premium are three different rules, because each picks a different strike as volatility moves. A rule that asks for the strike nearest a given delta reads the Greeks from the chain, which need the rate and the forward of that date. A rule that adjusts when the index moves one percent needs an intraday path the free files do not hold, so a test on them can adjust only at a settlement. Write each such choice down as an assumption with the reason for it, and count every version tried, because the lesson on biases shows how fast luck passes a test.
What is a fill in a free end of day file?
The file has one settlement price for each strike and day. It has no bid, no ask and no time. A strike that did not trade still gets a settlement price from the exchange's own method, and a test that sells there assumes a price nobody paid. Keep a volume filter and report it. ATM needs a definition too: the strike nearest the future for monthly contracts and nearest the parity forward for weekly ones. The weekly chains below use the parity forward, as the files record. With a free file every entry and exit is a settlement price, because nothing else is recorded.

What does a sold straddle cost to run?
The seller of an index option held to expiry pays charges on the sale. STT is 0.15% of the premium from 1 Apr 2026, NSE charges Rs 3,553 per crore of premium, SEBI takes Rs 10 per crore and GST sits on the exchange charge. The buyer who exercises pays STT on exercise, not the seller who is assigned. SEBI's fee also falls on the notional of an assigned leg, a rupee or two a lot, left out here. Brokerage is a labelled assumption and is left out here. A test that holds to expiry has few charges. A test that adjusts has many, and each adjustment is a fresh trade with its own line.
Maths: the charges on one sold lot
Premium of the lot =
straddle price
× lot size
STT = premium
× STT rate
Exchange = premium in crore
× charge per crore
SEBI fee = premium in crore
× fee per crore
GST = exchange
× GST rate
For the first trade in the ledger the premium of the lot is Rs 27,365. STT is Rs 41.05 and the exchange charge Rs 9.72. The four charges add to Rs 52.55, the first row of the charges column below.
How many trades before the record means anything?
The four results below swing by hundreds of points around a mean that is itself uncertain. With that spread, seeing a real edge of 20 points a trade, 5.5% of the average premium, at the usual 95 percent level would take about 738 trades. At one weekly trade, that is about 14 years of Tuesdays. The unit of evidence is the trade, or better the expiry, not the day. Marking a weekly position every day adds rows, not independent outcomes.
Maths: the trades needed to see an edge
n = (1.96 × s ÷ e)²
Here s is the standard deviation of the result per trade and e the edge to be seen, both in points. The four results give a sample variance of 76,852, and s is its square root. With e = 20, n = 3.84 × 76,852 ÷ 400, which is 738 trades. Halving the edge to be seen quadruples n. Overlapping trades do not count twice, because their results move together.
Worked example: one written rule, four trades
The rule, written before opening the files: on a date with a weekly contract six to eight days from expiry, sell one lot of the at the money straddle at the settlement price, hold to expiry and settle on the index close. ATM is the strike nearest the parity forward. Four of the school's example dates fit and have a close for their expiry in the files. All four expiries fall before 3 Aug 2026 and on a Tuesday. The lot is 65 units.
Two terms to hold on to from 19.6
| Trade, 2026 | Sold at | Index close | Result per lot | Charges |
|---|---|---|---|---|
| 2 Feb to 10 Feb, 25,100 | 421.00 | 25,935.15 | −26,920 | 52.55 |
| 10 Jun to 16 Jun, 23,250 | 346.05 | 23,989.15 | −25,552 | 43.19 |
| 16 Jun to 23 Jun, 24,000 | 325.75 | 23,824.10 | 9,740 | 40.66 |
| 29 Jun to 7 Jul, 24,000 | 366.15 | 24,398.70 | −2,116 | 45.70 |
| Total of four | −44,847 | 182.10 |
The seller won only where the move stayed under the premium
Three of the four June and July weeks, on the index path
Read 3 more paragraphs, 224 words
Rupees per lot before charges. Three of the four trades lost, and the ledger totals −44,847 before charges and −45,029 after them. The charges were 0.19% of the premium sold, so costs did not decide this record. The index move did. A short straddle keeps its premium only if the index closes within that many points of the strike. The closes were 835.15, 739.15, 175.90 and 398.70 points from the strike, against premiums of 421.00, 346.05, 325.75 and 366.15.
A line of the ledger holds the entry date and the expiry, the settlement regime, the strike and lot, the settlement price in and the index close out, the result before charges and each charge separately. A reader can then rebuild any line by hand from the files. If one cannot be rebuilt, it is not yet a result.
This table is also a poor sample for a second reason. The dates are the school's teaching dates, picked because something happened on them, not drawn at random. A ledger of four chosen weeks is a worked sum, and the lesson it carries is the size of the sample needed, shown above. The other half of the data question is in where to get historical option chain data, and how to backtest an option strategy lists the steps in order.
The common mistake
The belief: The backtest used exchange data, so its fills are what I would have got.
The files are official, and the prices in them are settlements, not trades. A strike that traded a handful of contracts gets a settlement price no order stood at. Check four things before reading a ledger. Was every sale made at a strike that traded? Does each row carry its own lot, expiry day, charges and settlement regime? Were the rules written before the data was opened? And how many independent trades stand behind the total? The curve on top of the ledger is built from these, so an error in a row is an error in the curve. A ledger that answers all four is a reason to test further on data the rule has not seen, not a result.
Key takeaways
- An options test needs a dated chain, future, rate and lot for every trade.
- A settlement price in a free file is not a fill.
- Name the settlement regime of every expiry, and flag 7 Dec 2026.
- Lot size, expiry day and STT all changed inside the files.
- Trades needed rise with the variance and fall with the square of the edge.
- Four trades chosen for teaching are a worked sum, not a sample.
Where this section sits in module 19.6
Before you trade. Derivatives trading carries a high risk of loss. SEBI's study "Profitability of Individual Traders in the Equity Derivatives Segment (FY25 to FY26)" (August 2026) found that 87.7% of individual traders in equity F&O made net losses in FY26, with aggregate net losses of Rs 91,685 crore. Read the SEBI study