Price Reasonability Range (PRR) and the execution range
The Price Reasonability Range (PRR), more often called the execution range, is a dynamic band that NSE and BSE set around a contract’s reference price, inside which an order is allowed to match and execute. It exists to prevent freak trades, fills that print far from the prevailing market because a fat-finger order or thin depth let a market order sweep through empty price levels. An order priced or matched outside the range is cancelled rather than executed. It is a market-microstructure control, not a Zerodha rule, and it is distinct from the daily price band .
This page defines the range, sets out how the reference price is computed at open and through the day, gives the band widths NSE applies, separates the execution range from the daily price band that traders routinely confuse it with, and explains the rejection message and the volatility edge case where a legitimate stop can be turned away. The mechanism is the reason an SL-M order can be refused and why exit orders sometimes bounce in a fast move.
Conflict-of-interest disclosure. This guide is published by the WebNotes Editorial Team for informational purposes and is written independently. WebNotes operates a Zerodha account-opening referral programme, disclosed on the pages that carry the referral link; this guide does not carry it and earns no referral commission from the procedure described here.
What the execution range is
The execution range is a price band built around a reference price for each contract. Orders match and trades take place only if the trade price is within the range; an order that would execute outside it is cancelled. NSE introduced the mechanism to handle, in the exchange’s framing, fat-finger trades placed at erroneous prices and to protect traders from the impact cost of market orders in illiquid contracts. The band sits on both sides of the reference price, so it caps how far above and below the prevailing level a single execution can occur.
The control operates on execution, not on the day’s overall range. A security can travel its full daily price band over hours of trading, one minute at a time, while every individual trade still falls inside a tight execution range around the rolling reference price. The two limits answer different questions: the price band asks how far the instrument can move today; the execution range asks how far a single order can print from where the contract is trading right now.
How the reference price is computed
The band is only as good as its centre, the reference price, which NSE recomputes continuously:
- At market open, the reference price is the theoretical price derived from the underlying, using implied volatility for options.
- During trading hours, it is the simple average of the contract’s trade prices over the last one minute, revised every minute on a rolling basis.
- For inactive or illiquid contracts with no recent trades, it is a theoretical price from the latest underlying price, revised roughly every 30 minutes.
The one-minute rolling average is the key design choice and its weakness. It keeps the band centred on real, recent trades in a normally trading contract, but it means the centre lags when trades stop, which is exactly what happens in a sharp move.
Band widths
NSE sets the half-width of the execution range per contract, scaled to the price of the instrument so that low-priced and high-priced contracts get sensible bands. For options, the published example uses a wider percentage band on higher-premium contracts, for instance a 40 per cent execution range on a premium above 50, so a reference of 500 yields a 300 to 700 band. For low-priced options the band switches to an absolute floor, for instance plus or minus 20 points around the reference, so a reference of 30 yields a 24 to 36 band rather than a percentage that would be too tight to trade. The exact tier table is maintained by NSE and updated by circular; the design principle is a percentage band that is floored by an absolute value so a cheap contract is not boxed into an untradeable range. For market and stop-loss orders, NSE additionally applies a mark-up or mark-down off the LTP, subject to a minimum absolute value in rupees, to set the furthest price the order may trade to when it triggers.
How PRR differs from the daily price band
This is the distinction that causes the most confusion, so state it plainly:
| Feature | Execution range (PRR) | Daily price band / circuit filter |
|---|---|---|
| What it bounds | Individual order execution | The day’s total price movement |
| Reference point | Rolling reference price, revised every minute | Previous day’s close |
| Width | Per-contract band around the reference, dynamic | Fixed percentage (commonly 2, 5, 10, 20 per cent) of close |
| When it changes | Every minute, intraday | Set once for the day |
| Effect on breach | Order cancelled, contract keeps trading | Trading in the security halts at the limit |
The circuit filter and circuit limits are a fixed daily cap off the previous close, and hitting one halts trading in the scrip. The execution range is recalculated every minute around a moving centre, and breaching it cancels your order without halting the contract. A separate halt does exist in options: when an option premium reaches NSE’s price limit, the exchange stops further trading in that contract, which is a distinct mechanism from the execution-range order cancellation.
The rejection message and the volatility edge case
On NSE derivatives, an order that would execute outside the range is cancelled with the message “17070: The price is out of the current execution range.” Where no valid reference price exists, a market order received in that scenario is rejected by the exchange and a message is sent to the trading terminal.
The edge case that frustrates traders is a legitimate stop or exit rejected during a fast move. Because the range refreshes from the last minute’s trade prices, a sudden move with few or no trades leaves the reference price stale, so the band has not caught up to where the contract is now trading. A stop firing at the new market level can land outside that stale range and be cancelled, the opposite of what the trader wanted at the worst moment. This is a known limitation of a trade-price-averaged band, and it is part of why the exchanges paired the execution range with the withdrawal of SL-M orders in options and pushed traders toward SL-L orders with explicit limit prices. NSE’s standing caution is that members should trade responsibly, since trading away from normal prices or causing disruption can draw inquiry and regulatory action.
What to do when an order is out of range
If an order is rejected as out of the execution range, do not simply resubmit at the same price; check the current market and the rolling reference, then price the order inside the band, or use a limit order at a level you can verify is within range. In a fast move, wait for the next one-minute refresh so the reference price catches up, then re-enter. For options especially, prefer an SL-L order with a limit you have set deliberately over a market-style order that the range may reject at the worst time. The execution range is not something you can disable; it is an exchange control, so the only response is to price inside it.
See also
- Zerodha
- Kite by Zerodha
- National Stock Exchange
- Bombay Stock Exchange
- Circuit limits and price bands
- Circuit filters on NSE and BSE
- Market-wide circuit breakers
- Upper and lower circuit on Zerodha trading
- SL-M orders blocked on BSE
- SL-M (stop-loss market) order on Kite
- SL (stop-loss limit) order on Kite
- SL-M with trigger outside circuit limits
- Trigger price versus limit price
- Market order on Kite
- Limit order on Kite
- How to fix a price-band rejection on Zerodha
- How to fix a theoretical-price rejection on Zerodha
- How to fix a circuit-limit rejection on Zerodha
- How to fix an RMS rejection on Zerodha
- Order validity types
- Iceberg order on Kite
- SEBI
- Zerodha Console
External references
- Zerodha Z-Connect: deciphering NSE’s execution range circular
- NSE: limit price protection FAQs
- NSE: exchange communication circulars
- NSE Clearing: circulars
- BSE India
References
- Zerodha Z-Connect, Deciphering NSE’s execution range circular (reference price computation, band-width examples, the “17070: The price is out of the current execution range” message; as of 21 June 2026).
- NSE circular on the trade execution range in the derivatives segment (reference price as the one-minute rolling average; theoretical price at open and for inactive contracts).
- NSE Limit Price Protection (LPP) framework and FAQs, including mark-up and mark-down off the LTP for market and stop-loss orders.
- NSE circular references NSE/CMTR and NSE/FAOP on Limit Price Protection ranges, 2025.