I am using the KiteConnect API to fetch 1-minute historical candles for the SENSEX index. The open, high, low, close values returned by the API match exactly with the SENSEX values shown on the Kite chart.
However, the Bollinger Band values (Upper and Lower) on the Kite chart do NOT match the values I calculate using the same 10 candles, even when I try:
SMA(10)
EMA(10)
RMA/Wilder
WMA
StdDev with ddof=0
StdDev with ddof=1
Typical Price (H+L+C)/3
Close price
HL2
OHLC4
Different window alignments (current 10 candles, previous 10 candles)
Different rounding steps
Even with all these combinations, I cannot reproduce the exact Bollinger Bands displayed in the Kite chart.
❓ Could you please confirm the exact Bollinger Band formula used in the Kite chart?
I need the following details:
What price source is used?
Close only
Typical Price (H+L+C)/3
(H+L)/2
Weighted close
Or something else?
What moving-average basis is used for the middle band?
SMA(10)
EMA(10)
EMA with adjust=False
EMA with adjust=True
RMA (Wilder)
WMA
Or any custom smoothing?
What type of Standard Deviation is used?
Population StdDev (ddof=0)
Sample StdDev (ddof=1)
Any additional smoothing or offset?
Any internal rounding?
What exact window of candles is used for BB?
Last 10 including the current candle?
Previous 10 candles (excluding the current candle)?
Any shift?
Is the Kite chart using the same OHLC feed that the API returns, or a different internal feed for indices like SENSEX?
I need to compute Bollinger Bands in Python that exactly match the Kite chart values, so the exact formula and parameters are required.