Iceberg, ATO, OCO GTT Orders - Order Slicing - Order Rate Limits

sam_zerodha
Hello Team,

Hope you are doing well.
As you know, Iceberg Orders, ATO and OCO GTT Orders, each has a capacity to execute multiple orders at a time via order slicing or baskets. I have following questions regarding these features in terms of how to use them while trading with huge quantities:
  1. If these features are used via API client, order slicing will be applicable and taken care by Zerodha wherever needed - Yes? If not, please explain.
  2. If, for example, Iceberg order (or ATO or OCO GTT) is used with NIFTY Options with large quantity that would exceed maximum quantity per order limit of NSE (1800/Order or 24 Lots/Order) and order placement rate limit (10/second or 200/minute) - In this case, for orders placement rate limits, is this considered as 1order or will be considered as many orders as Iceberg order legs? I would like to know how rate limit will be calculated in this case?
  3. Also, considering above example of iceberg order, I am assuming Zerodha will take care of order placement rate limits and maximum quantity/order limit of NSE using order slicing automatically while executing these order types - please correct me if I am wrong.
  4. While using ATO, we have to create basket or orders. In this case, we need to make sure we create orders with quantity that does not exceed NSE limit (1800/order in case of NIFTY Options), or we can just create 1 order with required quantity and Zerodha will deal with it using order slicing? Also, rate limit will be managed as well?
These are amazing features that could be used to minimise slippage and tackle maximum quantity per order limits and order placement rate limits. Your detailed response will clarify exactly how we should take advantage of them while trading with huge quantities.

Regards.
  • sujith
    If these features are used via API client, order slicing will be applicable and taken care by Zerodha wherever needed - Yes? If not, please explain.
    It is handled by the Kite backend.
    If, for example, Iceberg order (or ATO or OCO GTT) is used with NIFTY Options with large quantity that would exceed maximum quantity per order limit of NSE (1800/Order or 24 Lots/Order) and order placement rate limit (10/second or 200/minute) - In this case, for orders placement rate limits, is this considered as 1order or will be considered as many orders as Iceberg order legs? I would like to know how rate limit will be calculated in this case?
    It is considered as 1 request only for 10/second or 200/minute rate limit but for the Zerodha account level limit of 3000 orders per day will include the count of all sub orders as well.
    Also, considering above example of iceberg order, I am assuming Zerodha will take care of order placement rate limits and maximum quantity/order limit of NSE using order slicing automatically while executing these order types - please correct me if I am wrong.
    That is the whole point of order slicing and iceberg orders. It will be taken care of by the Kite backend.
    While using ATO, we have to create basket or orders. In this case, we need to make sure we create orders with quantity that does not exceed NSE limit (1800/order in case of NIFTY Options), or we can just create 1 order with required quantity and Zerodha will deal with it using order slicing? Also, rate limit will be managed as well?
    You just need to add the order to the basket with required quantity and send params just like how you send while placing a single order. Like for order quantity above freeze quantity, you need to send your desired quantity but make sure to send auto_slice value as true. Kite backend will take care of order slicing for you. But iceberg orders are not allowed in ATO AFAIK.

  • sam_zerodha
    Hi Sujith,

    Thank you for your detailed response. Much appreciated. It clarifies all my queries.

    Just one new thing I wanted to ask: I understand this 3000 orders/day limit is from Zerodha, and not from SEBI or NSE. Is there any provision to increase this limit on an Account/API Key basis?

    Regards.
  • sujith
    If you hit the limit and not able to exit your position then you may call up support and ask RMS team to increase your order limit for the day. We're working on simplifying this.
  • sam_zerodha
    Hi Sujith,

    Thank you for your response. It is helpful.
    Yes, some sort of process to increase this limit or to remove it all together on temporary or permanent basis would be helpful. Please do let us know when such process is finalised.

    Until then, we will have to factor this in our algo as manually calling RMS would not be practical. Putting this precaution in the algo will limit our ability to execute high quantity trades. Hence, we are looking forward to have some resolution on this soon.

    Thank you.
Sign In or Register to comment.