Delay in Nifty Index Ticks, but Options Data is Fine - Data Provider Issue?

jaimin_blackqr
I'm encountering a strange issue where I'm seeing a significant delay (30+ seconds) specifically in the Nifty index tick data from WebSocket feed. During these periods, the tick data for all my other subscribed option symbols continues to arrive perfectly in real-time without any delay.

My monitoring system caught the issue and generated the following alert, which shows that no new Nifty tick had been received for over 30 seconds, while everything else was working.
2025-07-11 12:47:01.201 (#Log Time): 
ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25182.45, 'ohlc': {'high': 25322.45, 'low': 25136.75, 'open': 25255.5, 'close': 25355.25},
'exchange_timestamp': datetime.datetime(2025, 7, 11, 12, 46, 31), # time from provider
'received_timestamp': datetime.datetime(2025, 7, 11, 12, 46, 32, 230084)} # time when code received data
Since the delay is isolated only to the Nifty index instrument and not affecting my other option symbol subscriptions, I suspect the issue might be originating from the data provider's end.

Has anyone else experienced similar selective delays specifically for an index while other instruments are fine?

Thanks for any insights!
  • salim_chisty
    We have reviewed the reported issue on our end and did not observe any delays. Please check again, and if the issue persists, let us know.
  • jaimin_blackqr
    @salim_chisty Thanks for response

    Today, this issue occurred again; it happens daily at a random time, and the Option data is getting properly. Please see the logs below.
    2025-07-16 11:56:02.134 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25190.7, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.020241468816225502, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31), 'received_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31, 897115)}
    2025-07-16 11:59:02.284 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25190.7, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.020241468816225502, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31), 'received_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31, 897115)}
    2025-07-16 12:02:02.449 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25190.7, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.020241468816225502, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31), 'received_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31, 897115)}
    2025-07-16 12:05:02.671 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25190.7, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.020241468816225502, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31), 'received_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31, 897115)}
    2025-07-16 12:08:02.824 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25190.7, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.020241468816225502, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31), 'received_timestamp': datetime.datetime(2025, 7, 16, 11, 55, 31, 897115)}
    2025-07-16 12:12:38.181 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25186.3, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.03770469681454846, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35), 'received_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35, 904251)}
    2025-07-16 12:15:38.328 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25186.3, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.03770469681454846, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35), 'received_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35, 904251)}
    2025-07-16 12:18:42.096 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25186.3, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.03770469681454846, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35), 'received_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35, 904251)}
    2025-07-16 12:22:10.269 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25186.3, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.03770469681454846, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35), 'received_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35, 904251)}
    2025-07-16 12:25:10.518 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25186.3, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.03770469681454846, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35), 'received_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35, 904251)}
    2025-07-16 12:29:16.229 main - <module>: ####
    ALERT - NO TICK DATA RECEIVED ORDER MANAGEMENT {'tradable': False, 'mode': 'full', 'instrument_token': 256265, 'last_price': 25186.3, 'ohlc': {'high': 25218.95, 'low': 25121.05, 'open': 25196.6, 'close': 25195.8}, 'change': -0.03770469681454846, 'exchange_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35), 'received_timestamp': datetime.datetime(2025, 7, 16, 12, 10, 35, 904251)}
  • Nivas
    We're checking this and will provide an update shortly.
  • jaimin_blackqr
    Today, no alerts are generated for index tick data. Seems everything is working fine now.

    Is anything updated on your side for the same? just want to confirm @salim_chisty
  • jaimin_blackqr
    Hello @Nivas @salim_chisty

    No alert has been generated from the past few days, and working well. Is this issue on your end?
    Waiting for your reply
  • Nivas
    @jaimin_blackqr We haven't made any changes on our end. It's possible that some ticks were missed due to latency or connectivity issues.

    Additionally, we use the same tick data to form OHLCV candles as displayed on the Kite charts, so unless you are inadvertently blocking the ticker (which can cause missed ticks) or not storing/dumping the tick data correctly in a file or database, I don't see any other reason. You might want to try out this example for further verification.
  • jaimin_blackqr
    Thanks for your response. I found the cause — it turned out to be an issue related to Redis.
This discussion has been closed.