Trading API and NSE Approval

I am reading about NSE APIs. I have come across Omnysys, Presto, ODIN etc. One things I come across consistently is that fully automated algorithms have to approved by NSE. Basically they want to ensure that the API has proper integration with RMS of the broker.

However, Kite does offer a fully atomatic execution without approal of strategies from NSE. Can someon explain how is Kite compliant with NSE requiring approval of every strategy or does one need to get approval from NSE before a Kite API strategy can go live ?

Why is it that Kite API is fully automatic without approvals whereas other providers need NSE approval (and charge clients for getting this approval)

Again hoping @nithin would pick this one out to answer. Much appreciated in advance.

Exchanges call it algo trading/auto trading, if the broker offers algorithms which are automated to his clients. Just to be clear, Zerodha/Kite connect don’t offer this. Here is the link.
For example, Bracket order is an algorithm which is approved at the exchanges and offered to all of us from Zerodha front end.
The question is, what if we automate on our own? People have been doing this using hacky ways like using macro’s and all for a long time now. The brokerage will never get to know how the order was fired. If you go through the Kite connect terms and conditions, it mandates that if a person wants to do fully automated trading, he has to declare to Zerodha that he is doing it and then they can help getting the algos approved.

All of this is grey, but what exchanges are worried about (which I have spoken to them personally) when they say algo’s are for HFTs which can go wrong and cause issues. Not technical analysis strategies or similar which fires one order every few minutes.


Can someone please give an example of what is likely to be considered a fully automated strategy ?


Exchanges are concerned about only those algos or executions logic’s which are running within their environment (Co-Location). Because, these algo systems are directly connected to the exchange through leased lines and have earlier access to data than any other out.They place trades in microsecond (1/1000000 of a second), that a retail trader can’t even imagine.

Since they have faster and early access to data, their activities may ruin normal investors/traders.They have access to full Market Depth (Retail Platforms provides Best 5 only), with which they can easily manipulate the market.

That’s why SEBI and Exch made rules to regulate them like how many orders they can place etc.

Other than this, any small mistake in their algo, may lead to market crash.

For Example:-
As Tarzan said, Bracket Order is also a algo which is built within the OMS and in turn OMS is directly connected to Exch. At any point of time, tens of thousands of trigger pending orders of BO are sit in the OMS.
Just imagine, what will happen if due to some tech glitch , all the pending orders are released to exch, definitely that will be a big crash.

That’s why, exch thoroughly checks each and every algo before approving.That doesn’t mean that the approved algo will work without any issue. Technical issues are unavoidable and but may be reduced by keeping their risk to fail at minimum level and periodical auditing.

On the Other side,
What we do with the API is isolated from the Exch. The order, you place through API is not directly goes to Exch.
It first, reaches the Kite Sever --> OMS --> Exch. At each stage, your order is validated, only after passing the validation it goes to the next stage and finally reaches Exch.Even if you use super computer, you can’t place more than 10 orders/sec with API (Throttle Limit)..

Even if there is no throttle restriction, you can’t place large number of orders/sec like in leased lines(OFC).Because everything has capacity like OFC has high capacity than copper wire which in turn has high capacity than Aluminium.

Exch don’t even considers this as algo, that’s why they approved. IB is doing this for a very long time.
API is the Future, even Facebook, Whatsapp,Kite etc etc are all using API only.

With Kite API,You are not going to place order in microseconds.
You can’t do any HFT kind of trading with API that will ruin others.
With API, You are just automating the repeated work & that’s the purpose of API.

So, You can automate or do anything with this API, nothing is wrong, provided that you are using this services for personal use only.Suppose, if you distribute data which you get through API to others, then that’s illegal. As long as, you use it for personal use, no problem.

API’ are meant to automate the work. If the work is to be done manually, then why API?
Hope, soon exchanges officially clarifies this.

Here is the wiki definition

In computer programming, an Application Programming Interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer. An API may be for a web-based system, operating system, database system, computer hardware or software library. An API specification can take many forms, but often includes specifications for routines, data structures, object classes, variables or remote calls. POSIX, Microsoft Windows API, the C++ Standard Template Library and Java APIs are examples of different forms of APIs. Documentation for the API is usually provided to facilitate usage

Hope this clears.


Yes it does @botany02: Thanks.