How to handle freeze quantity on F&O
The freeze quantity is the maximum number of units (shares or index units) that can be submitted in a single order on NSE or BSE F&O contracts. Any order exceeding the freeze quantity is automatically rejected by the exchange. This guide explains how to find the freeze quantity for a specific contract and how to manage large orders by splitting them appropriately.
For context on F&O order placement see How to trade futures on Kite (first time) and How to use basket order for multi-leg options on Kite.
What freeze quantity is and why it exists
The exchange sets a freeze quantity (also called the market lot-based upper limit per order) to prevent accidental fat-finger errors and to manage single-order impact on the order book. The freeze quantity is set at a multiple of the contract lot size, typically around 1 to 5 percent of total market-wide position limits for major index contracts.
For smaller or less liquid contracts (mid-cap or small-cap stock options), the freeze quantity may be only a few lots; for liquid index contracts such as Nifty or Bank Nifty, it is higher in lot terms but still a finite ceiling.
The freeze quantity is set in units (individual shares or index units), not in lots. This is an important distinction: if Kite’s order form shows quantity in lots (some versions do, some show units), you must convert accordingly before comparing to the freeze limit.
After SEBI’s October 2024 rationalisation, Nifty’s contract size was revised to 75 units per lot and the freeze quantity was set at 1,800 units, allowing a maximum of 24 lots per order.
Step-by-step procedure
Look up the freeze quantity for your contract
Method 1, NSE website:
- Go to nseindia.com.
- Navigate to Products → Equity Derivatives → Underlying Securities (the exact path may vary with NSE website updates).
- Find your underlying in the table. The columns show Symbol, Lot Size, Freeze Quantity, and other specifications.
- Note the freeze quantity in units.
Method 2, Zerodha SPAN calculator:
- Open zerodha.com/margin-calculator/SPAN/.
- Add a position for the contract.
- The lot-size note below the instrument row sometimes displays the freeze quantity. If not, refer to NSE directly.
Method 3, Zerodha Kite order rejection message: If you accidentally enter a quantity above the freeze limit, Kite’s order rejection message will state “Quantity exceeds freeze quantity” and may display the maximum allowed quantity. This is a reactive approach and not recommended for planned large-lot trades.
Reference table: freeze quantities for common contracts
The following table reflects quantities as of October 2024 following the contract-size revision. Always verify current values on the NSE website before trading, as the exchange updates freeze quantities periodically.
| Underlying | Lot size (units) | Freeze quantity (units) | Max lots per order |
|---|---|---|---|
| Nifty 50 | 75 | 1,800 | 24 |
| Bank Nifty | 15 | 900 | 60 |
| Nifty Midcap Select | 120 | 2,400 | 20 |
| Sensex (BSE) | 10 | 500 | 50 |
| Stock options (varies) | Contract-specific | Contract-specific | Verify on NSE |
For stock futures and options, freeze quantities vary by underlying and are typically lower in lots than for index contracts. A large-cap stock like Reliance may have a freeze quantity of 1,000 or more units; a mid-cap stock may have a limit of 250–500 units, which may be only 1–5 lots.
Calculate the maximum lots per order
Convert the freeze quantity from units to lots:
Maximum lots per order = Freeze quantity (units) ÷ Lot size (units per lot)
Example: Bank Nifty freeze quantity 900 units, lot size 15 units. Maximum lots per order = 900 ÷ 15 = 60 lots per order.
Example: A stock with freeze quantity 500 units and lot size 50 units. Maximum lots per order = 500 ÷ 50 = 10 lots per order.
Calculate how many orders are needed for your total size
Divide the total desired lots by the maximum lots per order:
Number of orders = Total lots ÷ Maximum lots per order (round up)
Example: You want to sell 100 lots of Bank Nifty options. Maximum per order is 60 lots.
- Orders needed: 100 ÷ 60 = 1.67, rounded up to 2 orders (one of 60 lots, one of 40 lots).
Example: You want to buy 200 lots of Nifty futures. Maximum per order is 24 lots.
- Orders needed: 200 ÷ 24 = 8.33, rounded up to 9 orders (eight of 24 lots, one of 8 lots).
Place orders in sequence
Place each order individually, one after the other. Between orders:
- Check the previous fill: confirm the prior order is filled (Complete in the Order Book) before placing the next.
- Adjust the limit price: if the market has moved since the first order, update the limit price for subsequent orders. For a buy order, the market may have risen; for a sell order, it may have fallen.
- Track total filled quantity: maintain a running count of how many lots have been filled so you know exactly how many remain.
For strategies where all legs must be entered nearly simultaneously (for example, a straddle at 100 lots), sequential order placement introduces significant timing risk. Consider whether a smaller size (within a single order’s freeze limit) is more practical than a large multi-order execution.
Monitor for partial fills and price drift
In a fast-moving market (first and last 30 minutes of the trading session, news events, expiry day), sequential orders can fill at materially different prices. For a 9-order Nifty futures execution:
- If each order takes 30 seconds to place and fill, the total execution takes approximately 4–5 minutes.
- In that time, Nifty can move 20–50 points.
- The average fill price may be 20–50 points higher than the first fill for a buy order in a rising market.
For large trades, consider placing all orders rapidly and accepting this drift as an execution cost, rather than waiting for each fill before proceeding.
Freeze quantity on basket orders
When using Kite’s basket order feature, each leg in the basket is still an individual order subject to freeze limits. If any leg’s quantity exceeds the freeze quantity for that contract, that leg is rejected while the others may fill, leaving a partial strategy. Ensure all legs in a basket are within their respective freeze quantities before submitting.
What can go wrong
- Incorrect unit-vs-lot conversion. Entering the freeze quantity in lots instead of units (or vice versa) leads to over-size orders that are rejected. Always verify whether Kite is expecting units or lots in the quantity field.
- Freeze quantity changed by exchange. NSE periodically revises freeze quantities, especially after lot size revisions. Always verify the current limit on the NSE website rather than relying on memory from a prior session.
- Sequential orders on a fast-moving day. During high-volatility sessions, a 30-second gap between large sequential orders can result in materially different fill prices, raising the average entry cost above what was planned.
- Partial strategy due to one leg exceeding the freeze limit. For a basket order where one leg exceeds the freeze limit, that leg rejects, leaving the other legs filled and creating an unintended unhedged position. Always check each leg’s size before basket submission.
Related guides
- How to trade futures on Kite (first time)
- How to use basket order for multi-leg options on Kite
- How to exit a multi-leg F&O position on Zerodha
- How to calculate margin using the Zerodha SPAN calculator
- F&O segment on Zerodha
References
- NSE F&O underlying securities and lot sizes, nseindia.com/products/content/derivatives/equities/fo_underlying_sec.htm.
- SEBI Circular SEBI/HO/MRD/MRD-PoD-3/P/CIR/2024/120 dated October 2024, Rationalisation of weekly index derivatives contracts and revised contract sizes.
- Zerodha support article: “What is the freeze quantity for F&O contracts?”, support.zerodha.com.
- NSE circular on market-wide position limits and freeze quantity, nseindia.com.