Historical-candle values change after refresh (Kite)
Historical candle values changing after refresh on Zerodha Kite charts is a confusing but explainable behaviour. The OHLC values of past candles aren’t “frozen” forever; they can update due to corporate action adjustments, exchange data corrections, or feed reconciliation.
This article explains the underlying mechanisms and when each applies.
Corporate action adjustment
The most common reason. When a stock undergoes a split, bonus, dividend, or other corporate action, Kite charts (by default in adjusted mode) re-scale all historical candles to reflect the new capital structure.
Example: A 1:2 split halves the stock’s price. After the split’s ex-date, all historical OHLC values divide by 2 (in adjusted view).
This means a candle that was Rs 1,000-1,050 yesterday may show as Rs 500-525 after the split’s adjustment is applied to the historical series.
The chart isn’t “lying”; the adjustment is normalising the historical series to current capital terms.
See Corporate actions overlaid on Kite charts .
Exchange data correction
Occasionally NSE / BSE issue corrections to historical trade data. A trade flagged as erroneous (per the exchange’s erroneous trade rules) may be removed; statistics derived from that trade (high, low, volume) get updated.
Kite’s data feed reflects these corrections, sometimes lagging by hours or days.
Final settlement reconciliation
For F&O contracts, intraday “preliminary” values may differ slightly from end-of-day settlement values. After settlement, historical candles can be updated to reflect final values.
Continuous chart re-computation (for futures)
For futures contracts, “continuous chart” composes the chart from a sequence of expiry-month contracts as each rolls over. The composition method (typically Panama-method back-adjustment) can update historical values when a new rollover occurs.
See Continuous-chart data for futures .
Intraday data refresh
For intraday timeframes (1-min, 5-min), the data shown is real-time tick-aggregated. The “current” candle of a timeframe is in-flight; its high / low / close updates with every tick. Refresh after the candle closes shows the final closed values, which may differ from the snapshot the user saw mid-period.
Adjusted vs unadjusted
Kite has an adjusted view (default) and an unadjusted view. Switching between them changes historical values:
- Adjusted: historical values reflect current capital terms.
- Unadjusted: raw historical values, no corporate-action scaling.
What this means for technical analysis
- Trend lines drawn on adjusted charts remain meaningful (they re-scale with the chart).
- Specific price levels drawn on unadjusted charts may move after corporate-action.
- Volume on Kite is unadjusted; bonus issue doesn’t scale historical volume by 2x.
When is this not the case
If you observe historical candle values changing without:
- Recent corporate action announced.
- Switching between adjusted / unadjusted.
- Continuous-chart contract rollover.
then it could be an exchange data correction or a Kite-side data feed issue. In that case raise a ticket with Zerodha support.
See also
- Corporate actions overlaid on Kite charts
- Continuous-chart data for futures
- OHLC differs daily vs hourly
- OHLC differs on intraday charts
- OHLC not matching NSE/BSE
- 12 AM to 12:15 AM previous candle missing
- Charts differ across Kite platforms
- Day-range blue line on charts
- Two charts same timeframe look different
- CPR pivot derivation on Kite
- Pivot points discrepancy on Kite
- Historical data for expired F&O on Kite
- Renko brick retracement on Kite
- Volume indicator on indices: limitations
- Moving average on weekly/monthly with 200
- Kite chart types explained
- Kite TradingView vs ChartIQ engine
- Stock split (corporate action)
- Dividend (corporate action)
- Bonus units (MF)
- Kite (Zerodha)
- Zerodha
External references
References
- Zerodha support documentation on chart data behaviour.
- NSE Erroneous Trade Rules.
- BSE Corporate Action Calendar.