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.
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.
@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.
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.
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.
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.
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.
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.
If you breach this limit, you can write to RMS team at support portal and they increase it for the day.