Historical candle data not adjusted after corporate actions, prices show >20% single-day gaps

msethi006
Hi,

We are observing an issue where Zerodha's historical candle API (/api/historical/{instrument_token}/{interval}) returns unadjusted prices after corporate actions such as demergers and splits. The problem is that the adjustment is not applied retroactively to prior candles, resulting in apparent single-day price gaps that are impossible on the NSE (which enforces 20% upper/lower circuit limits for most stocks).

Examples from our data (NSE equities, day interval):

Symbol Date Prev close Close Apparent move Event
ABFRL 2025-05-22 ₹203.55 ₹89.85 −55.86% ABREL demerger
V2RETAIL 2026-03-25 ₹1,920.00 ₹196.30 −89.78% Suspected demerger
STLTECH 2025-04-24 ₹36.73 ₹65.05 +77.10% Corporate event
IEX 2025-07-24 ₹187.89 ₹132.32 −29.58% Corporate event
STAR 2024-12-06 ₹1,326.90 ₹682.55 −48.56% Corporate event



Steps to reproduce:

Fetch day-interval historical data for any of the above symbols covering the dates listed.
Compare consecutive daily closes; the gap on the listed date persists even after re-fetching the data days/weeks later.
Expected behaviour:
When a corporate action occurs, Zerodha is supposed to retroactively adjust all prior candles (back-adjust), so the price series is continuous and shows no artificial gap. This is the standard behaviour described in the Kite Connect documentation.

Actual behaviour:
The post-event candle shows the unadjusted new price, while all prior candles remain at the pre-event unadjusted price, creating a >20% apparent gap on the event date. Re-downloading the same symbol weeks later returns identical data; the adjustment is never applied.
Tagged:
  • salim_chisty
    We're checking this and will provide an update shortly.
  • salim_chisty
    We do demerger adjustment as soon as we receive the Cost of Acquisition (COA) and pre ex-date for the particular script. The adjustment for ABFRL, V2RETAIL, STAR and STLTECH has already been completed.
    IEX- dividend corporate action adjustment will be done, if it's a special dividend i.e more than 2%.

    You can verify it in a similar discussion on our TradingQnA post here.
  • msethi006
    msethi006 edited July 1
    Hey,

    We verified this directly from fresh Kite historical API pulls on two machines. These are not stale local database values.

    The Kite historical API is still returning unadjusted or discontinuous candles around multiple corporate-action dates:

    Symbol: VEDL
    Instrument token: 784129
    Event date: 2026-04-30
    2026-04-29 close: 404.90
    2026-04-30 OHLC: 289.50 / 292.00 / 268.70 / 271.55
    Raw close-to-close: -32.93%

    Symbol: ABFRL
    Instrument token: 7707649
    Event date: 2025-05-22
    2025-05-21 close: 203.55
    2025-05-22 OHLC: 98.00 / 98.00 / 88.20 / 89.85
    Raw close-to-close: -55.86%

    Symbol: STLTECH-BE
    Instrument token: 2384129
    Event date: 2025-04-24
    2025-04-23 close: 36.73
    2025-04-24 OHLC: 61.11 / 65.05 / 58.86 / 65.05
    Raw close-to-close: +77.10%

    Symbol: IEX
    Instrument token: 56321
    Event date: 2025-07-24
    2025-07-23 close: 187.89
    2025-07-24 OHLC: 169.10 / 169.10 / 131.50 / 132.32
    Raw close-to-close: -29.58%

    Symbol: STAR
    Instrument token: 1887745
    Event date: 2024-12-06
    2024-12-05 close: 1326.90
    2024-12-06 OHLC: 650.05 / 682.55 / 650.00 / 682.55
    Raw close-to-close: -48.56%

    These raw close-to-close gaps are not normal market moves. For VEDL specifically, TradingView shows around -6.64% on 2026-04-30, which implies an adjusted/reference previous price near 290.86, not the 404.90 previous close still returned by Kite historical API.

    Can you please confirm whether these symbols have been adjusted in Kite historical data? If not, what is the expected timeline for the historical candle adjustment?

    @salim_chisty @sujith @rakeshr
  • nagavenij
    We have shared the above concern with the relevant team. The necessary adjustments will be taken up and implemented at the earliest.

    Meanwhile, we request you to raise a support ticket and track the progress through the ticket for further updates and communication.
  • msethi006
    Thanks, I have also raised a similar complaint via a support ticket.
    I think there are many more irregularities in the data than I have pointed out.
    What is the most appropriate way to raise and escalate this issue when I discover more or a similar issue?


    I am not a fan of creating Support Tickets regarding this. I have seen that the support team is reluctant to acknowledge any issue and keeps repeating a template response, wasting 1-2 weeks of my time.

    @nagavenij
Sign In or Register to comment.