Why are the OHLC values on daily and hourly charts different?

Live - Minutes, hourly, and daily candles are formed by using ticks that we receive from the exchange on our execution management system (EMS). There could be two ticks that we receive every second from the exchange. In actual there could have been hundreds of ticks. So it easily possible that there are trades at certain prices which don’t show up on a chart. It is technically not possible to capture all ticks that happen on the exchange live using our EMS.

Coming back to the second part, if same ticks are used to form minute, hourly and daily candles, why does the high of daily candle not match the hourly?

Exchanges at end of everyday give out something called Bhavcopy for the day. This Bhavcopy has open, high, low, close price for the day. Around midnight everyday, we use this bhavcopy and replace the OHLC with OHLC that we had captured using the ticks that we had received from the exchange. Exchange OHLC for the day on bhavcopy will be 100% accurate as it will be created using all the ticks that happened on the exchange. Unfortunately exchange doesn’t share min/hourly OHLC for the day in the bhavcopy, so the minute/hourly charts will be formed using the ticks that we have received and daily charts using the OHLC that exchange has sent on bhavcopy - hence the mismatch.

At market open, close or anytime during the day when a big market order is placed, there could suddenly have been a tick 30 to 50 points higher or more that never showed up at our EMS, hence also not on our trading platform/chart.

There are professional data vending platforms who charge tens of thousands of rupees and can capture a lot more data than what brokerages do. Exchanges charge tens of lakhs of rupees to such registered data vendors. Even these can’t stream all the ticks (tick by tick data) that happen on the exchange as internet can’t handle such large amounts of data. People who typically consume tick by tick data are high frequency trading firms who collocate their servers within the exchange on LAN to be able to receive such large data.

Hopefully this helps

19 Likes