Suppose I have subscribed to all NSE stocks only, not futures or options, lets say 2500 stocks in 1 socket connection. Is there an order or some sequence in which the ticks occur or how fast they happen? I read somewhere here that, it is generally 1 tick/sec, if so, lets say 500 stocks value changed, it will come in 500 sec?
If you have subscribed for 2500 instruments then only first tick you will receive for all tokens given that Kite ticker has the cache. Post that if there is a change in data then only you will receive data. You can check out FAQs for general API related queries.
@Saleem I have been using the kite ticker API for a few years now and my observation is that I receive about 37500 ticks per day or to be precise between 37502 to 37509 ticks per day. That mean 100 ticks per minute (375 trading minutes from 9:15 to 3:30) or 1.5 ticks on average per second.
Now each "tick" received via the websocket is an array containing all the individual ticks you have subscribed to and that have a change since the last tick.
To explain this if you have subscribed to 2500 ticks and out of these 500 are very liquid with trades happening more than once a second and the remaining 2000 are illiquid with hardly any trades. Then for every tick you will receive the array will contain an average of 500 ticks with some intermittent variance as and when trades happen in the remaining illiquid instruments. But whether you subscribe to one instrument or 3000, each tick will take the same amount of time i.e, an approx 1.5 ticks per second.
I will try to attach a raw tick from yesterday in JSON format in some time for better understanding.
I don't usually run continuous checks for repeat data. I only did that during initial testing and I found that they were distinct. Also whenever I have looked at individual tick data for any instrument, I don't remember having found duplicates ever. But then as I said before I havent run that check on all the ticks received so far. So I cannot promise you that there are no duplicates. However knowing how these systems work and the sheer quantum of tickdata generated at the exchanges, what we get is a small subset and the likelihood of getting duplicates is negligible unless you are dealing with penny or illiquid stocks.
As promised here is a one tick received (exchange_timestamp': datetime.datetime(2023, 9, 1, 15, 29, 59)) printed out using prettyprinter module. This one tick received contains individual ticks for 168 instruments
But whether you subscribe to one instrument or 3000, each tick will take the same amount of time i.e, an approx 1.5 ticks per second.
@MAG is it same for banknifty/nifty/finnifty option strikes ? I just want to retrieve real time ltp of selected few index strikes will it happen instantly in real time during the wild price move/fluctuations or will it arrive or update at a steady peace only that you mentioned.
It is always steady at about 1.5 ticks per second or about 100 ticks per minute. Very rarely during days of high volatility would you get a few more ticks. By that I mean 2 to 2.5 ticks per second or 120-150 ticks per minute. But thats very rare maybe once a quarter.
Now each "tick" received via the websocket is an array containing all the individual ticks you have subscribed to and that have a change since the last tick.
To explain this if you have subscribed to 2500 ticks and out of these 500 are very liquid with trades happening more than once a second and the remaining 2000 are illiquid with hardly any trades. Then for every tick you will receive the array will contain an average of 500 ticks with some intermittent variance as and when trades happen in the remaining illiquid instruments.
But whether you subscribe to one instrument or 3000, each tick will take the same amount of time i.e, an approx 1.5 ticks per second.
I will try to attach a raw tick from yesterday in JSON format in some time for better understanding.
Also whenever I have looked at individual tick data for any instrument, I don't remember having found duplicates ever. But then as I said before I havent run that check on all the ticks received so far. So I cannot promise you that there are no duplicates.
However knowing how these systems work and the sheer quantum of tickdata generated at the exchanges, what we get is a small subset and the likelihood of getting duplicates is negligible unless you are dealing with penny or illiquid stocks.