Limit Price Protection Range (LPPR) is a crucial pre-trade risk management control implemented by stock exchanges such as the National Stock Exchange, in the Futures and Options (F&O) segment. It is designed to prevent limit orders from executing at extreme, unrealistic, or erroneous prices that deviate too far from the prevailing market price.
Understanding how LPPR works helps traders minimise unexpected order rejections, configure stop-loss limit orders correctly, and navigate dynamic market conditions efficiently. Keep reading to learn more about LPPR.
Key Takeaways
- LPP is an additional layer of pre-trade risk control that operates independently of the exchange's Operating Price Range (OPR).
- It establishes a dynamic, boundary-based range (buffer) above and below the contract's live Reference Price (RP).
- A buy limit order placed above the High LPP limit or a sell limit order placed below the Low LPP limit is automatically rejected by the exchange.
- For Stop-Loss-Limit (SL-Limit) orders, LPP validation occurs after the trigger price is breached and the order is released into the regular lot book.
- Orders rejected by this mechanism typically trigger Error Code 17070 (“The Price is out of the current execution LPP range”).
What Is Limit Price Protection (LPP)?
When trading derivatives, fat-finger errors, system glitches, or sudden illiquidity can cause traders or algorithms to place limit orders far away from the market price. Without protection, these orders could execute at devastatingly disadvantageous prices.
To combat this, the exchange computes an LPP range on both sides of a live Reference Price. Every incoming limit order (or newly triggered order) is checked against these boundaries before acceptance.
Exchange-Specific LPP Frameworks: NSE vs. BSE
While both exchanges share the core objective of risk mitigation, their underlying regulatory parameters, minimum absolute buffers, and structural thresholds differ slightly per official exchange circulars (such as NSE Circular NSE/FAOP/54242 and BSE Notice No. 20240405-30):
| Parameter / Segment | NSE Parameters | BSE Parameters |
| Index & Stock Futures (FUTIDX / FUTSTK) | • Index price > ₹10,000: ±2% • Stock price > ₹50: ±3% • Stock price ≤ ₹50: ±₹1.50 (absolute range) |
• ±3% for all futures contracts • Subject to a minimum absolute LPP floor of ₹1.50 |
| Index & Stock Options (OPTIDX / OPTSTK) | • Premium > ₹50: ±40% • Premium ≤ ₹50: ±₹20 (absolute range) |
• Expiry days: ±40%, subject to a minimum LPP floor of ₹10 • Non-expiry days: ±40%, subject to a minimum LPP floor of ₹20 |
| Reference Price Update Interval | Every 30 seconds, based on the simple average of trades executed during the previous 30 seconds | Every 30 seconds, based on trade prices or theoretical price calculations |
| Dynamic Flexing Rule | Flexes automatically when at least 10 orders are rejected, involving a minimum of 5 unique UCCs and 3 unique trading members. | Flexes automatically if at least 5 orders across 2 members and 3 UCCs are rejected within 30 seconds |
Note: The exchange may review and update these parameters periodically via circulars.
How the Reference Price (RP) is Determined
The LPP boundaries are entirely dependent on the Reference Price, which changes dynamically throughout the trading session:
-
At Market Open (9:15 AM): The reference price is derived theoretically from the underlying asset's pre-open cash market price, benchmark interest rates (such as MIBOR), and option pricing frameworks (such as the Black-Scholes model with an appropriate volatility).
-
During Trading Hours: The reference price is calculated as the simple average of trade prices of that contract over the last 30 seconds. It refreshes dynamically every 30 seconds for actively traded contracts.
-
If Untraded: If a contract remains untraded for a continuous 15-minute window, the reference price falls back to a theoretical price derived from the latest available underlying price.
Because the reference price updates continuously, the effective LPP boundaries shift dynamically through the day. An order that is valid at one minute might fall outside a newly calculated range if market momentum shifts rapidly.
Examples
Example 1: Stock Option (Reference Price Above ₹50)
Suppose you are trading a stock option contract with a reference price of ₹60.
Since the reference price is above ₹50, the applicable LPP buffer is ±40%.
Step 1: Calculate the buffer amount
₹60 × 40% = ₹24
Step 2: Determine the LPP boundaries
| Calculation | Amount |
| Lower LPP Limit | ₹60 − ₹24 = ₹36 |
| Upper LPP Limit | ₹60 + ₹24 = ₹84 |
Outcome:
-
A buy limit order at ₹75 is accepted because it falls within the ₹36–₹84 range.
-
A buy limit order at ₹90 is rejected because it exceeds the upper limit of ₹84.
-
A sell limit order at ₹30 is rejected because it falls below the lower limit of ₹36.
Example 2: Index Future (Reference Price Above ₹10,000)
Consider an index futures contract with a reference price of ₹15,000.
Since the reference price is above ₹10,000, the applicable LPP range is ±2%.
Step 1: Calculate the buffer amount
₹15,000 × 2% = ₹300
Step 2: Determine the LPP boundaries
| Calculation | Amount |
| Lower LPP Limit | ₹15,000 − ₹300 = ₹14,700 |
| Upper LPP Limit | ₹15,000 + ₹300 = ₹15,300 |
Outcome: A buy limit order above ₹15,300 or a sell limit order below ₹14,700 will be rejected by the exchange.
Example: BSE Futures Contract Near the Absolute Minimum
Suppose a BSE stock futures contract has a reference price of ₹49.
-
Under the standard ±3% rule, the LPP range would be:
₹49 × 3% = ₹1.47
-
Since ₹1.47 is below BSE's minimum absolute LPP threshold of ₹1.50, the minimum absolute range applies instead.
Effective LPP Boundaries
| Calculation | Limit |
| Upper Limit | ₹49 + ₹1.50 = ₹50.50 |
| Lower Limit | ₹49 − ₹1.50 = ₹47.50 |
Any buy order above ₹50.50 or sell order below ₹47.50 may be rejected for falling outside the applicable LPP range.
How LPP Works with Stop Loss-Limit (SL-Limit) Orders
A Stop Loss-Limit order consists of two distinct components:
-
Trigger Price: The price point that activates/releases the order.
-
Limit Price: The exact price floor/ceiling specified for execution once triggered.
The Mechanism
An SL-Limit order sits passively in the system. The LPP validation does not happen when you initially place the order. Instead, LPP validation is enforced immediately upon reaching the trigger price and releasing the order into the regular order book.
If the limit price you chose sits outside the prevailing LPP boundaries at the exact moment of the trigger, the exchange will reject the order (Error Code: 17070 / Transcode 2231). Triggering an SL-Limit order does not guarantee execution.
LPP vs Operating Price Range (OPR)
It is vital not to confuse LPP with the Operating Price Range (OPR):
-
Operating Price Range (OPR): Establishes the broad, outer daily boundaries (circuit-like filters) for a contract permitted by the exchange.
-
Limit Price Protection (LPP): Acts as a tighter, live, inner layer of validation centred tightly around the moving reference price.
Dual Validation Rule: An order must satisfy both constraints. If an order clears the OPR but violates the dynamic LPP range, it will still be rejected.
Example: If a contract's OPR is ₹50 to ₹150, but its active LPP range narrows down to ₹80 to ₹120, a buy limit order is effectively acceptable only between ₹50 and ₹120 (since LPP cuts off anything above ₹120).
How to Avoid Error Code 17070 Rejections
To minimise trading disruptions caused by LPP rejections, consider the following best practices:
-
Stay Close to the Market Price: Avoid placing limit orders deep out-of-the-money (OTM) or wildly far away from the Last Traded Price (LTP).
-
Maintain Healthy Buffers on SL-Limit Orders: Do not keep your stop-loss trigger price and limit price miles apart. Keep a realistic and safe margin, but ensure your limit price doesn't float outside the expected volatility bands.
-
Anticipate Dynamic Shifts: Remember that reference prices recalculate every 30 seconds. In highly volatile, fast-moving markets, a price spike can cause a mismatch between your order parameters and the newly shifted LPP range.
Conclusion
Limit price protection adds an important layer of price control to exchange trading. By checking limit prices against a dynamically applicable protection range, it helps prevent orders from being entered at extreme prices. For traders, the key is to understand how LPP applies to Limit Orders and stop-loss limit orders, how the reference price determines the protection range, and why an order can be rejected even when the trader has entered a valid limit price from their perspective.
Before placing an order, traders should consider the prevailing Limit price protection range, the operating price range, market volatility and the relationship between the trigger and limit prices. This can help reduce avoidable order rejections while providing a clearer understanding of how exchange-level risk controls affect order execution.
