Strategy builder, backtester and broker-connected execution tools for Indian markets
Market Research

Bank Nifty F&O vs Nifty Weeklies: Algo Risk Rules

Bank Nifty F&O runs on a monthly expiry while Nifty still carries weeklies. Here is how Indian algo traders turn that split into real risk filters.

A
Anadi Algo Research
Nov 12, 2026  ·  11 min read

Most retail traders treat the NSE contract specification page as boring paperwork. It is actually one of the most underrated risk documents in Indian derivatives, because almost every hard-coded assumption inside an algo — expiry date, strike universe, lot size, rollover day — traces back to it.

The Nifty Bank F&O page on NSE spells out the rules in plain language. Bank Nifty futures run a maximum three-month trading cycle: near month, next month, far month. A new contract is introduced on the trading day following the expiry of the near month contract. Contracts expire on the last Tuesday of the expiry period, and if that Tuesday is a trading holiday, expiry moves to the previous trading day.

That last sentence alone has broken more live algos than any indicator ever will.

This post is a process walkthrough, not a market call. Today is November 12, 2026, which puts us mid-series in the November contract, and mid-series is exactly when traders get sloppy about calendar logic because nothing feels urgent yet.

What the NSE Bank Nifty F&O page actually tells your algo

Read the spec page as a schema, not as trivia. Four lines of it map directly onto config values in your system.

Three live series, one trading universe

Near, next, and far month contracts are all tradable from introduction to expiry. If your scanner or data pipeline resolves "BANKNIFTY futures" to a single symbol, you have an ambiguity bug waiting to happen. Volume and open interest sit mostly in the near month, but the next month exists and quotes, and a careless symbol lookup can hand your strategy a thin far-month contract.

Practical check: log the exact contract identifier your order used, not just the underlying name. If a fill report says only "BANKNIFTY FUT", your audit trail is incomplete.

Last Tuesday, with a holiday fallback

The last-Tuesday rule is simple until a holiday lands on it. Then expiry shifts earlier, and any logic written as "flatten on the last Tuesday" is now holding positions through a settlement it did not expect.

The correct pattern is to resolve expiry from an exchange-sourced holiday calendar, then derive "days to expiry" from that resolved date. Never compute expiry from a weekday rule alone.

For the current series, the last Tuesday of November 2026 falls on November 24. Confirm it against the exchange holiday list yourself rather than trusting any single page — including this one. Assuming no shift, that leaves roughly eight scheduled sessions from today, which means the November contract is past the comfortable middle and moving toward the part of the cycle where gamma and theta behaviour change character.

New strikes arrive the day after expiry

The page is explicit: on expiry of the near month contract, new contracts are introduced at new strike prices for both calls and puts, on the trading day following expiry.

Your strike universe is therefore not static. It expands and re-centres right after expiry. Any algo that caches a strike list, or a backtest that assumed a fixed strike ladder, will quietly diverge from reality on the first session of a new series.

If you run a strike-selection rule like "second strike out of the money", that rule has to re-resolve against the live chain every session, not against last week's snapshot.

The split calendar: Bank Nifty monthly, Nifty weekly

Here is the structural fact that still trips up traders two years later. NSE discontinued weekly derivatives contracts on BANKNIFTY, MIDCPNIFTY and FINNIFTY, per circular NSE/FAOP/64506 dated October 10, 2024. Nifty is the index retailers still watch for a weekly options cycle. Check the current expiry weekday on the exchange page before you encode it, because that detail has been revised more than once.

So you are running a book across two different clocks.

Nifty gives you a short, repeating expiry rhythm with frequent high-gamma sessions. Bank Nifty gives you one expiry per series, which means a longer build-up, a different theta curve, and no weekly reset of positioning.

Why your old backtest may be lying

If your Bank Nifty results include data from before the weekly discontinuation, part of your equity curve was generated by an instrument that no longer exists. A weekly-expiry Bank Nifty short-straddle backtest from 2023 is not a forward-looking estimate of anything you can trade in 2026.

Three concrete audit steps:

  • Split your Bank Nifty backtest at the discontinuation boundary and report both halves separately. If the post-change half is thin, say so instead of averaging it away.
  • Check whether your "days to expiry" feature was computed against weekly or monthly contracts. Mixed-definition features are a silent source of inflated results.
  • Re-run any strategy whose edge depended on weekly expiry-day behaviour. That edge may still exist in Nifty; it does not automatically transfer to a monthly Bank Nifty contract.

This is ordinary hygiene, but it is the kind of thing people skip because the numbers look fine. If you want a structured way to do it, our notes on options backtesting cover the measurement discipline, and a BANKNIFTY strategy builder workflow lets you keep expiry logic as a rule rather than a hardcoded date.

Lot size changes and position math

NSE also revised lot sizes for index derivatives effective trade date November 21, 2024. Lot size is a contract attribute, not a constant, and it feeds directly into exposure, margin estimate, and any per-trade risk cap you have defined in rupees.

If your sizing logic multiplies a fixed lot number by a remembered lot size, a future revision silently changes your real exposure. Pull lot size from the instrument master every session and recompute notional from it.

A simple sanity rule: your system should be able to print, for each open position, the quantity, the lot size it used, the resulting notional, and the percentage of capital at risk. If it cannot print all four, it cannot defend its own sizing.

Risk filters that respect two calendars

Mid-series is the right time to build filters, because you are not under pressure. Here is a framework that holds up without needing any market prediction.

An expiry-distance state machine

Stop treating expiry as a single flag. Use states, defined per index since the two indices are on different clocks:

  • Far from expiry: normal position sizing, normal stop distance, slower exit logic acceptable.
  • Approaching expiry: tighten stop-loss distance, reduce fresh entry size, disallow adding to losers.
  • Expiry session: no new naked short options, mandatory square-off time, no overnight carry.

The important part is that Bank Nifty can be in "expiry session" state while Nifty is in "far from expiry" state, or the reverse. If your risk engine has one global expiry flag, it is wrong roughly half the time.

IV term structure as a regime input, not a signal

Platforms like TradingView publish implied volatility curves and ATM IV term structure for NSE:BANKNIFTY. That data is useful as a regime descriptor — is the near series priced richer or flatter than the next series — and it is not a trade instruction.

Use it to answer process questions. Does your short-premium strategy have a rule that reduces size when near-series IV is unusually compressed relative to the next series? Does your debit strategy have a rule that avoids paying up when the near series is elevated? Write those as thresholds and backtest them. Do not eyeball the curve and override your system.

Also log the IV you observed at entry. Without it, you cannot later distinguish "my strategy failed" from "I entered at a volatility level the strategy was never tested on."

Liquidity and strike-width checks

The NSE option chain for BANKNIFTY is published as an OPTIDX chain, and it is the right place to validate before acting, not after.

Pre-trade checks worth automating:

  • Bid-ask spread on every leg, as a percentage of leg premium. Reject the basket if any leg is wider than your threshold.
  • Open interest and volume on the exact strike, not the nearby strike you assumed.
  • Strike availability — especially in the first sessions of a new series, when new strikes have just been introduced and some are not yet liquid.
  • Total basket margin against available capital, with existing positions considered.

In the Anadi options workspace, chain inspection, basket preview, margin estimate, and risk budget sit in the same flow precisely because these checks lose their value when they happen after the order. You can move from an index view to the chain, build a quick trade or a basket, see the margin estimate with positions considered, and only then execute.

Event avoidance and the pre-open routine

Event avoidance is the cheapest risk control available to a retail algo, and the most commonly skipped.

Build a blocked-dates table. Populate it with exchange holidays, the resolved expiry dates for each index you trade, scheduled policy events, and any day your own strategy historically bled for structural reasons. Then have your algo refuse entries on those dates rather than relying on you to remember.

A mid-series pre-open routine that takes under five minutes:

  • Confirm today's resolved expiry distance for Nifty and for Bank Nifty separately.
  • Confirm the broker session is actually authenticated, not just that the app opens.
  • Confirm instrument master and lot sizes refreshed today.
  • Check index and sector context before acting on individual signals — a stock setup can look clean while the broader tape is not participating.
  • Confirm your daily loss limit is armed and the number in it matches your current capital, not last quarter's.

That fourth point is where index context earns its place. Index cards and a sector heatmap are context for sizing and for deciding whether to act at all. They are not a forecast, and treating them as one is how traders end up with conviction they did not earn.

Turning noisy signals into a short action queue

Scanner output is where discipline usually breaks. A pattern scanner that surfaces trendline breakouts, channels, wedges, flags, triangles, double tops and bottoms, and head-and-shoulders formations will produce more candidates than any trader can validate by hand.

The useful step is ranking and blocking, not more signals. Freshness matters — a breakout you noticed forty minutes late is a different trade from the one your scanner flagged at the bar close. Chase distance matters. Invalidated price levels matter. A signal that is structurally fine but already extended should be marked blocked, with the reason visible, so you learn which blocks were correct.

For F&O-eligible names, the route question follows: stock, future, or option. That depends on margin, liquidity, and your risk budget — not on which one feels exciting. Anadi's Action Center enriches eligible symbols with future preview, option context, OI pulse, VWAP gate, basis, and PCR so the route decision has data behind it. Pair that with explicit risk management rules and the queue stays short.

If you are reviewing your process this week rather than chasing the tape, you can request early access and set up expiry-aware rules and a weekly market outlook habit before the next series begins.

Mid-series checklist

Work through this once, not every day:

  1. Resolve expiry from an exchange holiday calendar, never from a weekday rule.
  2. Maintain separate expiry-distance states for Nifty and Bank Nifty.
  3. Refresh lot size and strike universe from the instrument master every session.
  4. Log the exact contract identifier on every order.
  5. Split any Bank Nifty backtest at the weekly-discontinuation boundary and report both halves.
  6. Record entry IV and expiry distance alongside every trade.
  7. Automate spread, OI, and margin checks before the order, not after.
  8. Keep a blocked-dates table that your algo obeys without your intervention.
  9. Arm a daily loss limit sized to current capital.
  10. Re-validate strike selection in the first sessions of a new series.

None of this predicts where Bank Nifty goes. That is the point. The contract specification page does not tell you direction — it tells you the rules of the arena, and traders who encode those rules correctly spend far less time explaining unexpected losses.

Related

Weekly Market Outlook

Use market context to prepare, not to chase noisy trade calls.

Explore →