I’ve noticed sometimes that there is a difference in the price and market-depth/volume data of certain stocks sometimes between Kite and Moneycontrol. I’ve added a screenshot of one such instance, could somebody explain the reason, this is very confusing. Also in such cases market depth shows 0 on Kite.
Money control give delayed data by about 15 min
The streaming solution we have for Kite is built such a way that it picks up LTP, market depth and all other data fields when a trade happens on the exchange. By doing this, we ensure that we are not constantly querying exchange for data, hence brings down the bandwidth/internet consumption on the app.
But we have realized the issue doing this in cases like what you have pointed. If there are no trades happening on the exchange, our streaming server will not send any updates to the Kite application.
For example in the case you have pointed out, Valiant closing price on 20th April was 85.05. The 85.75 price update was a pre-market price update and not a normal trade (order matching happened at around 9.03 am). After that, there was no trade until 9.47 am. Since there was no trade, Kite app kept showing 85.05 (previous day closing price) as the last traded price. (check out the charts below for 20th from Moneycontrol).
I understand this is an issue on stocks where there are very few trades happening (both NSE/BSE, more so on BSE which has a lot of stocks like these). We are trying to find an optimal solution for this without having to compromise on the bandwidth utilization. This is not a straightforward solution, will take us a few days at least to fix.
Until then I’d request you to look at Moneycontrol or BSE/NSE website if you see all fields as 0 on kite market depth while placing an order (which essentially means no trades have happened). We will let you know as soon as this is fixed.