Executing large quantity index option buying orders

sud747
New to this forum, in fact I signed up a while ago only to ask this question. I am a scalper (not at all HFT kind) who mostly hold the trade for few minutes to catch few quick points, planning to develop a simple python GUI tool (integrating it with kite API) through which I can fire multiple beyond freeze limit market/limit orders, is iceberg order option available in kite API or should I simply slice the orders before execution ? I am currently using to punch orders, the max quantity I ever bought using this tool was around 3600 (on expiry day), it works well but I think they are simply using generic order slicing algorithm for all brokers instead of using broker specific feature (like zerodha's iceberg, I guess fyers and dhan too have come with somewhat similar feature very recently). Do you think implementing iceberg orders via kite API would have resulted in much faster order execution in that mentioned video over that generic order slicing ? This tool is hosted on some cloud instance (most probably AWS Mumbai) so every time I am placing an order it's being forwarded to broker's backend via their cloud instance which might be increasing overall latency (correct me if I am wrong), so will it be any faster if orders were punched from a standalone simple python GUI desktop application which is directly connected to brokers backend via API ? I am not at all interested in fancy stuff like automating my trading or build strategy based algorithm, all I care is speed of order execution which can be scaled to significantly to very large quantity.
  • rakeshr
    is iceberg order option available in kite API or should I simply slice the orders before execution ?
    Yes, you can use the Iceberg order. This article explains in detail about usage.
  • sud747
    Yes, you can use the Iceberg order. This article explains in detail about usage.
    Thank you for that quick reply, but do you think coding such GUI tool to punch orders via kite API would yield better results/performance than the third party tool I mentioned in original post which I am using currently ? I did checked several algo platforms who claims to have low latency order execution but they all need some strategy as input there is hardly any algo platform where I can manually punch several orders beyond freeze limit hold the trade for few mins and then exit instantly.
  • sud747
    @rakeshr if I place an iceberg order with 10 legs (total of 9000 banknifty option quantity) will it counted as 1 order request or total of 10 order requests ? if its the latter then does that mean one can only punch single iceberg order/sec (utilizing maximum legs) as requests are capped @ 10 requests/sec, correct me if I am wrong.
  • suprxd
    That should count as 1 order. The request/sec means call to API, not about quantity of order. But problem with Iceberg order is it executes trade in sequential manner, means if you have 10 leg, the 2nd leg will be placed once 1st leg is executed. This can be a challenge in less liquid assets like stock options trading. For Nifty and bank nifty I think it should be fine.
  • sud747
    sud747 edited October 2023
    Thank you for your input n resolving my query about iceberg order. Interactive brokers have capped it's api @ 50 messages/sec and offers rock solid platform for trading, zerodha being market leader in India should think of this competitor more seriously.
  • suprxd
    I agree with you. 10req/sec is very low number. People are giving 2000 rupees on Zerodha, whereas no other major brokers charge any amount on the API and still have at least 25 orders/sec number. I am also a scalper and 3000 orders per day is something that can be reached quickly on expiry days. Even if it is a safety measure, it should be individually configurable for each user. The only good thing about paying 2000 rupees is getting support at this forum. But Zerodha, you can do better.
  • sud747
    Couldn't agree more, hope someone from zerodha takes note of this n start working on it.
  • sujith
    The 3000 orders for a Zerodha account is a huge number. It is set by RMS team after evaluating multiple factors. It has been like this for years now. We have seen only a handful of clients coming back to us as their algorithm has some issue or they didn't know that each POST request for order placement is counted.

    If you breach this limit, you can write to RMS team at support portal and they increase it for the day.
  • Gautam8421
    how to time does it take to execute 18000 quantity banknifty order using iceberg method
  • sujith
    It depends on the market, if there is a match then it will be executed immediately or your order will sit in the pending state until there is another match.
Sign In or Register to comment.