We use the Kite Connect historical API (day and minute candles, NSE equities) and compared the adjusted candles with NSE's official bhavcopy closes for the same days. With a multiplicative (ratio) adjustment, Kite close / NSE close stays constant between two corporate actions. For most stocks it does: RELIANCE (738561) is 0.2383 on every day of 2010-2014. For the stocks below it does not. All values are from candles downloaded in October 2026.
1) A fixed rupee amount is subtracted instead of multiplying by a ratio In these periods Kite close = a x NSE close - b. b stays the same for many years and the fit is accurate to a few paise, while a single ratio leaves errors of several rupees.
- HINDPETRO (359937): b = 19.46 in 2010-2015 and 2018-2023 (in 2013: Kite = 0.1373 x NSE - 19.46) - GNFC (300545): b = 43.35 in 2010-2022 (in 2013: Kite = 0.9321 x NSE - 43.35) - IOC (415745): b = 14.24 in 2010-2015, 2017 and 2019-2021 (in 2013: Kite = 0.1583 x NSE - 14.24) - TATASTEEL (895745): b = 3.52 in 2010-2021 and 2023 (in 2013: Kite = 0.0977 x NSE - 3.52) - VEDL: b = 10.62 in 2015-2022. UTIAMC: b = 45.17 in 2021-2023. - BPCL (134657): a = 0.0751 in 2010-2011 and 0.1500 in 2013-2014 (after its 2012 corporate action), with b = 9.70 in both periods, so b is not rescaled by later adjustments.
The 1-minute candles have the same a and b (checked on Feb 2015 minutes against raw minute data from another vendor). Because a fixed amount is subtracted, percentage moves in the adjusted series are inflated: - HINDPETRO 29-Jul-2013 -> 30-Jul-2013: NSE 224.00 -> 199.25 (-11.05%), Kite 11.30 -> 7.95 (-29.65%) - VEDL 20-Mar-2020 -> 23-Mar-2020: NSE 75.45 -> 62.65 (-16.96%), Kite 25.85 -> 19.65 (-23.98%) Averaged over a year, GNFC's adjusted daily moves are up to 3.4x the real moves, HINDPETRO's up to 2.9x.
2) Adjusted prices of 0.00 GNFC (300545) closes at 0.00 on 159 days between 27-Jan-2003 and 25-Jun-2004: exactly the days when the NSE close was Rs 46.50 or lower, i.e. when 0.9321 x NSE - 43.35 is zero or negative. 25-Jun-2004: NSE 46.50, Kite 0.00 28-Jun-2004: NSE 47.30, Kite 0.70 29-Jun-2004: NSE 47.55, Kite 0.95 (+35.7% in the adjusted series, +0.5% on NSE) We also see 0.00 closes with a positive NSE close for IOC (73 days), ASHOKLEY (41) and MPSLTD (338).
3) Step on 1-Jan-2015 - CGPOWER (194561): Kite/NSE is 0.3413 up to 31-Dec-2014 and 1.0000 from 1-Jan-2015. The adjusted series rises 190.7% on 1-Jan-2015 while NSE fell 0.8%, and the demerger on 15-Mar-2016 is not adjusted (Kite and NSE both fall 71.7% that day). - MASTEK (543745): 0.3424 -> 1.0000 on 1-Jan-2015 (+195.0% vs NSE +1.0%); the demerger on 12-Jun-2015 is not adjusted (-66.0%). It looks as if these adjustments were applied only to data before 1-Jan-2015. In our data, 44 of 1,034 stocks have a step of more than 1% in Kite/NSE on 1-Jan-2015 (e.g. KTKBANK 0.5866 -> 0.7201, CONCOR 0.2048 -> 0.2560).
4) Coarse rounding of adjusted prices BAJFINANCE (81153): every 2011 close is a multiple of Rs 0.50 (adjusted prices Rs 5.00-7.00), so one rounding step is 7-10% of the price. 12-Oct-2011 -> 13-Oct-2011: NSE 657.80 -> 654.65 (-0.48%), Kite 6.50 -> 6.00 (-7.69%).
5) Repeated closes on 5-Jan-2011 and 10-Apr-2013 On 5-Jan-2011, 52 of 898 stocks have the same Kite close as on 4-Jan-2011 although the NSE close moved by more than 1% (2 of 957 on an ordinary day such as 12-Jun-2012). Example AARTIIND (1793): NSE 63.65 -> 62.00, Kite 15.90 -> 15.90. 10-Apr-2013 has 32 such stocks.
6) RELIANCE minute vs day candles RELIANCE (738561): in 2015-2019 the last 1-minute close of each day is about 1% below the day candle's close (median 0.990 in every year), and about 1.000 from 2020. The minute and day candles seem to use different adjustment factors for that period.
Questions a) Are some adjustments (dividends?) done by subtracting an amount instead of multiplying by a ratio? Could all adjustments be multiplicative, so that percentage moves stay correct and prices can't reach 0? b) Can the 1-Jan-2015 steps be fixed so that each adjustment starts on its actual ex-date? c) Can adjusted history keep more precision instead of coarse steps like Rs 0.50? d) Can the closes on 5-Jan-2011 and 10-Apr-2013, and RELIANCE's 2015-2019 minute candles, be corrected?
We can share the script we used; it only compares your candles with NSE bhavcopy closes.
Thank you.
Note: I took help from AI to write this detailed post, but it does makes sense. And this seems a very important bug in the data, that should be fixed.