I think freeze quantity limits being pulled up are old and it is not reflecting the latest limit values. And it was ok if this was just a nudge but actual orders are getting rejected. For example, HDFCAMC and TATAMOTORS both have Freeze Qty to the tune of 30 lots but the system is rejecting the order at 21 lots saying freeze limit is 20 when it is clearly 30 as per NSE.
ORDER FAILED. ERROR: The order quantity 6300 (21 lots) is higher than the maximum quantity of 6000 (20 lots) allowed by the exchanges. Please reduce the order quantity or use iceberg orders.
ORDER FAILED. ERROR: The order quantity 29925 (21 lots) is higher than the maximum quantity of 28500 (20 lots) allowed by the exchanges. Please reduce the order quantity or use iceberg orders.
The information available in this particular file is old, this can be verified by checking the sheet name (which states that it was updated on 30th Nov 2023) as well as by checking the metadata present in the file (using a tool like exiftool)
The freeze quantity is updated on a monthly basis based on the criteria shared in this NSE circular
For easier understanding, here is an example of how the exchange would have calculated the freeze quantity for HDFCAMC (based on data available on 31st Jan 2024) :
A) Market wide Position limit
20260834
B) Market Lot
300
C) Highest strike price
4200
D) Maximum value of an order
25000000
E) 1% of market wide position limit (A*0.01)
202608.34
F) Freeze quantity based on Rs. 2.5 Crs Limit (D/C)
5952.380952
G) Interim freeze quantity (lesser of E and F)
5952.380952
H) Conversion of freeze quantity to no of contracts (G/B)
19.84126984
I) Rounding off the number of contracts to the nearest 10 contracts on the higher side
Someone should point this out to NSE … Though … Don’t know how …
@Prayag
Thanks indeed. This is an excellent reply with many titbits like exiftool and freeze quantity calculation methodology - I never knew. Really appreciate the same.
I am unable to find the freeze limit file, it has vanished! nse website mentions a gz file but unable to find it. Someone help asap please, my algo is failing!
ORDER FAILED. ERROR: The order quantity 28500 (20 lots) is higher than the maximum quantity of 22000 (15 lots) allowed by the exchanges. Please reduce the order quantity or use iceberg orders.
Zerodha - Has not yet decided to share how they are getting freeze quantity information in Kite and Nudge and pass it on via API.
NSE - Is not directly answerable to retail of any file they maintain. There is no mechanism even to reach out to them except via TM.
My interim fix - is based on the observation that 98.36% of the derivatives have freeze quantity value (qty * price) above 2 crore. So I have my own overriding freeze qty value check for each stock before entering a trade. It costs slightly more in brokerage but saves you from such big loss days.
@Prayag - How are you getting freeze qty information in Kite? It is certainly not via this CSV file. Just for understanding …