I was finally able to get the live data using your websockets. Comparing it to the existing feeds I have, I have noticed a possible systematic issue at your end.
Firstly, I would like to specify that the exchange sends the packet with trade info (ltp and other last traded details) and quote info (depth details).
In your depth feed, I have noticed that only those packets are transmitted, in which the depth info changes, which is great. (But it may cost latency, but lets discard that for now).
But the issue is that the ticks are being transmitted almost exactly 1 second late (always) compared to the exchange time. What it means is possibly one out of the 2 things:
- The logic at your end, to detect change in depth info is 1 tick late (one off error)
- There is some major processing delay at your end
But I suspect the issue is the first one only, since the times I receive the packets are almost always exactly 1 second late + (approx) network delay.
I would be able to better point out the exact issue once you guys start streaming the complete exchange packet.