Freeze Qty Old/Stale - Not Being Updated

Hi,

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.

Freeze Qty From NSE - https://nsearchives.nseindia.com/content/fo/qtyfreeze.xls

Screenshot 2024-02-01 at 3.40.26 PM

Freeze Qty From Nudge -


Freeze Qty From Actual Order Reject Message -

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.

Please look into this urgently.

Checking this @abhiwin123. Will get back to you.

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)

meta_data


Instead check the latest freeze limits for each particular security on Contract Information, Equity Derivatives - NSE India page (specifically the https://nsearchives.nseindia.com/content/fo/qtyfreeze.csv file)

latest_file_freeze_limits


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 20
J) Final Freeze quantity (I*B) 6000

Wow. So it seems that at the same NSE location/link - the xls file is outdated and csv file is updated.

Outdated - https://nsearchives.nseindia.com/content/fo/qtyfreeze.xls
Updated - https://nsearchives.nseindia.com/content/fo/qtyfreeze.csv

I used to access the xls file link via https://www.nseindia.com/products-services/equity-derivatives-nifty50 after clicking on Nifty 50 Options and then Download file for quantity freeze (.xls) link.

Someone should point this out to NSE … Though … Don’t know how … :slight_smile:

@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.

2 Likes

Have reported this to the exchange, should be fixed soon

The exchange has deprecated the XLS file and it has been superseded by the CSV file, there was a circular about this change

Got it. Thanks for the follow up with Exchange. I will make changes accordingly and start using CSV.

1 Like

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!

Hi @Prayag,

Can you please check TATAMOTORS?

From order execution -

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.

Nudge Screenshot -
Screenshot 2024-05-10 at 12.41.32 PM

But if you check the CSV file - https://archives.nseindia.com/content/fo/qtyfreeze.csv
Screenshot 2024-05-10 at 12.40.17 PM

again Midcpnifty freeze limits are changed and the file is not updated. My algo took a big loss because of this today!

What is the best way to pick up latest limits through code?

Yup … That file is not always reliable.

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 …

Thanks buddy, hoping zerodha can give some solution for its customers …

We are getting from the exchange contract master mainly. That file is available publically via their Reports page -