Why does the same technical charts for the same stock from NSE Tame, Google finance, Yahoo finance, Amibroker, not match?

I was looking at the 5 minute chart of Reliance, on NEST Plus, I then compared that chart with google finance, yahoo finance, amibroker, and realized that none of them match exactly with each other. Can someone explain me how? Which one is correct?


One of those most asked questions out there. See below intraday 5 min chart for Tata steel 25th Nov from NSE Tame, Google finance and Yahoo finance respectively. 

As you can see all the three charts are not really the same, so which one is correct? 

Am copying from one of my previous answers: 

Something for you to know: 

Tick Data: Market data that shows price and volume at every print, it also includes information about every change to the best bid and ask. 

In a single trading day, there are millions of such ticks recorded (remember this also includes change in best bid and ask prices) and it is technically not possible for any trading platform to show all ticks, especially live and on a normal broadband internet connection. 

If you really want to see all the ticks, NSE does have Tick by Tick data feed which is a lot more expensive than the normal data feed, and will have to be subscribed to througn any of the authorized NSE data vendors (Not all of them give you tick by tick data). Also to be able to make best use of this tick by tick data, you should ideally be on the NSE collocation which would mean that your systems are inside NSE itself, so that accepting all the millions of ticks will be quite efficient. 

Tick by Tick data is usually what professional High Frequency and Arbitrage trading firms use, don't think there is anything much a normal retail trader can do with it. 

Coming back to the question, all  charting platforms are driven by data which is basically a 1 second snapshot data (unless you have spent a few lakhs to get that TBT data). So if I am looking at a 5 min chart, there could have been thousands of ticks in that 5 mins, but our charting platform would be able to recognize only a few hundred. And using those few hundred ticks, 1 Open, High, low and close points are chosen to plot the candle. So these few hundred points recognized, and the 4 points (OHLC) could very easily be different from one platform to another. 

So none of the above charts are wrong, but the chances of any two charting platforms to exactly match each other, is very slim. But like you can see from the above charts, the difference is quite small, and the general trend of the market is captured by all the 3 charts. I am sure you can add charts from a few more platforms and they will all have some kind of variance. 

So if you are a trader, don't break sweat on this. It is not possible to match two charts and find out which one is more correct. They are all most likely right. 


@Nithin, wow lovely answer.

1 Like

Thanks Nithin,

  1. As a member of the exchange, zerodha receives the tick by data free from the exchange. Am I correct?
  2. So does zerodha PI charting platform would be based on few ticks extracted from the Tick By Tick data, like what u mentioned above?
  3. Would the sum of volumes for whole day would be different in all these charts or it will match?
  1. No, as a member of the exchange (not just us, any brokerage in India) we get what is called a 1 second snapshot data and not tick by tick data. Typically 1 second snapshot data will have around 4 to 5 ticks in 1 second, but tick by tick data could have a few hundred also in just the same second.
  2. Pi would be based on snapshot data, so the 1 minute OHLC will be based on those 4 to 5 ticks we get in a second. This 4 to 5 ticks that we get in a second, could vary from the 4 to 5 ticks someone else gets.
  3. Sum of volumes for the whole day should ideally match.

Thanks for quick reply. That sums it!

ok. if the ticks are missing because you are getting snapshot data and not the tick by tick data. but there should be some provision by which you can correct the missing ticks later, say after few min. or atleast end of the day. I know one data vendor who is charging just 5000 per year(NSE, NSE FO, MCX & NCDEX ALL INCLUDED) and giving accurate data ( no tics missing). I have cross verified the data with spider and falcon.

Spider & Falcon also get snapshot data from the exchange. Also, some of the exchanges you have mentioned donot service Tick by Tick feed (TBT) as mentioned by Nithin above.

29-12-2016 - Maruti Futures today on a 15M TF at 60 days period and time 12.45 candle start to 13.29.59 candle close showed the high as 5260.20/5257/5256 respectively for 3 candles of 15 minutes, whereas in F6 it showed the high as 5263.10, a difference of 58 ticks or Rs.2.90p; is this kind of a huge difference possible?

The price of 5263.10 never came for the next 45 minutes and it breached the same on the 4th candle i.e. after nearly an hour. For past 3 candles it showed as it was not breaking R1, hence making a Sell Call Entry valid and the 4th candle onwards it shot in a Bull Run till a high of 5317.This incorrect data showed on the chart turned to be a severe loss Sell call for a technical trader who trades on chart.

May I know the reason for this such huge tick difference of 58 Ticks?



Hi atulrd,
Can you please share the name of the data vendor who is charging Rs.5k per year (NSE, NSE FO, MCX etc.) . Have been searching for a good data vendor (with cost effective solution) for some time now.

@nithin, Thanks for the Detailed Explanation.
Yes, I do agree. CandleSticks Varies from Platform to Platform and Broker to Broker.

But Can you please clarify if the Live Candle Sticks in the Same Platform/Broker changes after few seconds on Refreshing the Chart.

Most of the Premarket Trades are based on the Candle Stick Patterns, IF you could observe the attached Screenshot here.
The First Chart is Screenshot taken by Running the Live Chart and The second is taken after Refresh the Chart in the Kite.
And You could notice a change in the Candle Sticks. This is very Scary When We have to take A Position using the 1M Candle Stick Pattern on the Live Chart.

I notice the same issues on all the charts, which was running live and then a huge change if the same is refreshed. Kite has a huge lag


Hi Rajan, have explained this here.


I Totally Agree with you that Internet Fluctuation is common in India, but I would like to do a deep dive do some research on this.

The Reason being, I’m very new to this world and Yet to blow up a Tiny Account :slight_smile: When I’m in the Learning Curve, I don’t want to be limited to issues due to the technicalities.

I find Zerodha to be best in the Industry and there is no doubt that you are a visionary in the Trading World and you would Optimize Zerodha Technical Capabilities in the upcoming days.

I believe All the Trading Terminal Starting from MT4, Ami, Kite, Pi establishes stateful TCP connections to the Data Feed server, If the Connection is lost for a second due to the fluctuation or drop in the Internet Connection, I’m sure that Terminal Alerts the users with a beep sound as you would have a seen in the MT4. In the case of the drop, I’m sure Pi would also disconnection symbol in the Status Bar.

So what I’m worried is, This Candle Stick repainting is seen even on the Very good Internet Connection of 25 Mbps and Hardly any latency is observed to Kite.zerodha.com. Below latency test does not have any drops or huge Latency, but still repainting is observed. Hope this rules out the connection drops and latency related issue.

Furthermore, I have taken the Data feed from External MT4 Data Feed vendor and My MT4 connection to his server has a huge latency of 230ms and I dont see the behavior of repainting on MT4. It remains Intact on the Live Chart and Also on the Reloaded Chart. If this Connection lost happens with MT4 Feed server, Its reasonable, Even in that case, MT4 an makes event Sound. So i’m Alarmed about that situation. Here I’m not concerned that feed of the MT4 Data feed and Kite feed varies, That is accepted and known.
How about a Test from your network ?,

I’m sure your office network will have a good Internet Bandwidth with active-standby setup, Can you please share the latency from your laptop and watch the Candle Patterns of Live and Reloaded.

(Ensure that you are not on the Same Network of kite.zerodha.com or within the DC :slight_smile:).

I will repeat the same from a VM in Google Cloud East US, I will capture the Latency and drops During 9.15 & 9:45 and observe if the Candle Sticks are repeated from the Live and Reloaded Chart.

Hey Rajan, this is not got to do only with internet connectivity. In one second there could be 10 ticks captured on the exchange, we stream only say 1 tick. That tick that gets picked up by your live kite chart may be different from what gets picked up by our charting database. For sure our charting DB will pickup a lot more ticks than what your chart will. When you refresh a chart, the ticks picked up by our live stream on your chart will get replaced by what is on our charting database. Hence the candles repaint/change shape.

You will not see this behavior on MT4 and other charting platforms because they have only one stream. Before the data is streamed to your chart, they store the data and then stream. So when you refresh a chart, you essentially are fetching the same stored ticks. They can do this because they are just powering charting and not trading.

In our case we can’t because streaming ticks to the marketwatch is the topmost priority. We can’t first store on our DB before streaming to the marketwatch + chart. Hence we have two parallel streams of data, one which is powering marketwatch+ livecharts. One which is storing on our DB. So it will not really be possible for both to match 100% exactly.


Please correct me if I’m wrong. I could see some contradictions in the above reply…
First in place, if the Exchange has got 10 Ticks in 1 Second, brokers main priority to relay everything to Traders Terminal.
Its tough to accept that few of the Ticks are not captured in some of the scenarios, not sure about the cause (we can rule out the latency and disconnects as this issue occurs happens from the brokers end).

As you said, In our case we can’t because streaming ticks to the marketwatch is the topmost priority.
yes, thats the priority, I’m not sure how brokers in NYSE update the trader terminal.
Store and Update or Streaming update. ? If it is a streaming update, there must be way to achieve high accuracy.
A Doji bar getting repainted as a Candle with body is a serious issue.

Just a thought how about Sync up on every candle close. ? At least some of the important Candle Sticks are not missed out.

Hi Sir,
As i am new to trading, just wanted to clear up my thoughts… For all above cited reasons, should there be change in EOD data also, say e.g. Last traded price or day’s High/Low in different websites like NSE, moneycontrol etc or brokers like zerodha, motilal etc

although kite gives me best charting experience, but i have find out problem in kite data,
if u want to check the error, take high and low of first 15 min candle, any day in nifty and bank nifty.
trust only paid software or u can accurate data on sharekhan

@nithin these two are from the kite desktop and kite mobile, different times. Which one is more accurate?

Both web and mobile get the data from same source, how ever if you were noticing any minor difference it can be attributed from where the price points are plotted from, I mean using live ticks or historical data server during the market hours. can check this for more info. If you are checking the data during off market hours and noticed any difference between web and mobile you can drop a mail to [email protected] with time showing up on the screenshots.

30 points difference spotted often and even up to 55 points too in Bank nifty at zerodha trading platform is it normal to you?
This causes false breakouts & loss of hard earned money.
Are retailers just to gamble & bear losses ?
Your statements shows your sincerity towards retailers. wasn’t expected from a brokerage firm like zerodha.
Had shard screen shots with your representatives but no solution yet.
Your charts looks different after trading hours from as it looked during trading hours had recorded the trading session.
Is there any platform to show proofs? if yes please let me know.