OHLC Data differences between terminals and NSE website

mohan.sic

Well-Known Member
#1
Please comment on which data could be more accurate 1) ODIN / NEST terminal or NSE charts.

when i observed the OHLC and volume numbers ( 1 mt statistics ) on ODIN and NEST terminals, there are minor differences between them. ODIN terminal data is showing the Open of the minute as close of the previous minute. It means in ODIN if 10.45 mt close is Rs.101.45 the same Rs101.45 is shown as the Open of 10.46 mt. Whereas NEST is different. Close of a minute and open of next minute is not always same. It could be that NEST shows the price of the first trade in that minute as open ( not sure..)This is also leading to minor volume differences. No problem with HIgh - Low numbers. This problem is only in OPEN price and sometimes in Close ( not sure what could the reason )

1) please clarify above, which one could be correct method. ODIN or NEST

2) NSE charts and NSE Tame charts OHLC values ( 1 mt ) are showing considerable differences compared to data from Trading terminals. We cant consider terminal data to be inaccurate but at the same time how can NSE website display inaccurate data ? Please give your views on this.

thanks,
 

mastermind007

Well-Known Member
#2
Please comment on which data could be more accurate 1) ODIN / NEST terminal or NSE charts.

when i observed the OHLC and volume numbers ( 1 mt statistics ) on ODIN and NEST terminals, there are minor differences between them. ODIN terminal data is showing the Open of the minute as close of the previous minute. It means in ODIN if 10.45 mt close is Rs.101.45 the same Rs101.45 is shown as the Open of 10.46 mt. Whereas NEST is different. Close of a minute and open of next minute is not always same. It could be that NEST shows the price of the first trade in that minute as open ( not sure..)This is also leading to minor volume differences. No problem with HIgh - Low numbers. This problem is only in OPEN price and sometimes in Close ( not sure what could the reason )

1) please clarify above, which one could be correct method. ODIN or NEST

2) NSE charts and NSE Tame charts OHLC values ( 1 mt ) are showing considerable differences compared to data from Trading terminals. We cant consider terminal data to be inaccurate but at the same time how can NSE website display inaccurate data ? Please give your views on this.

thanks,
Unless you get a super-expensive feed, all four prices will shift between EOD data and Intraday data

For EOD data:

Open will shift because of pre-open adjustments and also because of gap-ups or gap-downs.

Close will shift because all those folks who had short a scrip but had not squared off will be forced to square off and myriads of such similar reasons.

High/Low will shift to throttle down the very high burst of volume in a scrip. Differences will surface when too many trades have happened in same exact fraction of the second. Exchange throttles and reduces the chunk of data to be sent across to average XYZ client terminal. Avoidance of sending too much data is to protect an average client machine from hanging or crashing.

the reported tick shows averaged out price with cumulative quantity and it still records the day's high or low and will be reported correctly in EOD feed.

Example::
Say 100 quantity of a scrip of gets sold at 110 and at the exact same milisecond of the time, 1000 quantity gets sold at 109.50.

Tick sent to terminals waiting for Intraday data will get High reported as 109.54 with quantity of 1100. 109.54 is computed as (100 * 110 + 1000 * 109.5) / 1100. At End-of-day, high of the day will be shown as 110 and even you search for the tick/minute bar that had made the 110 as high, you will not find it.




Presumption that Open must match the previous close is a hang-over from pre-computer days and still used by few people and in software that want to conserve bandwidth...

Close shifts ar
 

mohan.sic

Well-Known Member
#3
Unless you get a super-expensive feed, all four prices will shift between EOD data and Intraday data

For EOD data:

Open will shift because of pre-open adjustments and also because of gap-ups or gap-downs.

Close will shift because all those folks who had short a scrip but had not squared off will be forced to square off and myriads of such similar reasons.

High/Low will shift to throttle down the very high burst of volume in a scrip. Differences will surface when too many trades have happened in same exact fraction of the second. Exchange throttles and reduces the chunk of data to be sent across to average XYZ client terminal. Avoidance of sending too much data is to protect an average client machine from hanging or crashing.

the reported tick shows averaged out price with cumulative quantity and it still records the day's high or low and will be reported correctly in EOD feed.

Example::
Say 100 quantity of a scrip of gets sold at 110 and at the exact same milisecond of the time, 1000 quantity gets sold at 109.50.

Tick sent to terminals waiting for Intraday data will get High reported as 109.54 with quantity of 1100. 109.54 is computed as (100 * 110 + 1000 * 109.5) / 1100. At End-of-day, high of the day will be shown as 110 and even you search for the tick/minute bar that had made the 110 as high, you will not find it.




Presumption that Open must match the previous close is a hang-over from pre-computer days and still used by few people and in software that want to conserve bandwidth...

Close shifts ar


All thats clear. But how can Termimal data differ from NSE charts data.
Your explanation is very logical. you aere saying about Tick data. yes, when different trades with different qty's happen in milli seconds, exchange will avg out the price and qty's and arrive at a tick price and qty. Very reasonable because highly liquid scrip may have hundreads of ticks in a minute.

But i am not clear with 1 mt data. When i compare terminal to NSE website chart OHLC numbers ( 1 mt statistics ) there is considerable difference.
Example 0.25 to 0.4 %. Can this averaging of tick data in terminals cause such a difference? this is not logical.

Now your example: " Tick sent to terminals waiting for Intraday data will get High reported as 109.54 with quantity of 1100. 109.54 is computed as (100 * 110 + 1000 * 109.5) / 1100. At End-of-day, high of the day will be shown as 110 ".

This is perfect for Tick calculation. But on 1 mt OHLC data terminal should show 110 as high. How can terminal show 109.54 as the minute high?
A minute is not a small fraction.
 

mastermind007

Well-Known Member
#4
All thats clear. But how can Termimal data differ from NSE charts data.
Your explanation is very logical. you aere saying about Tick data. yes, when different trades with different qty's happen in milli seconds, exchange will avg out the price and qty's and arrive at a tick price and qty. Very reasonable because highly liquid scrip may have hundreads of ticks in a minute.

But i am not clear with 1 mt data. When i compare terminal to NSE website chart OHLC numbers ( 1 mt statistics ) there is considerable difference.
Example 0.25 to 0.4 %. Can this averaging of tick data in terminals cause such a difference? this is not logical.

Now your example: " Tick sent to terminals waiting for Intraday data will get High reported as 109.54 with quantity of 1100. 109.54 is computed as (100 * 110 + 1000 * 109.5) / 1100. At End-of-day, high of the day will be shown as 110 ".

This is perfect for Tick calculation. But on 1 mt OHLC data terminal should show 110 as high. How can terminal show 109.54 as the minute high?
A minute is not a small fraction.
What happens at the EOD/daily level also happens on the minute level !!!..

The Exchange does not send out the actual true high/low for very liquid scrips to vast majority of terminals. Only those who've subscribed for the expensive feeds get all the ticks (supposedly!!)

The example that I had given for 110 high being reported as 109.54 can occur in less than one tenth of a second (few mili seconds is typical)

If a terminal never gets 110, the terminal must not plot high of 110.

In addition to this, erroneously written terminal code can also causes these kind of errors. Such errors are certainly not due to lack of competence on part of its programmer...

First, it is impossible to test this thing in real-time and during market hours.
So, most programmers end up testing this on some kind of simulation feed where they can throttle the speed to be able to debug their code.

Second, Unlike traders, programmers cannot rely on a charting software to spot the data errors. Most charting software implement a smoothing routine to cover up data errors and weed out out-of-sample data so that the rendered chart does not look wacky. This makes debugging job of the programmer writing data capture very difficult since he has to go through data line by line...
 
Last edited:

mohan.sic

Well-Known Member
#5
What happens at the EOD/daily level also happens on the minute level !!!..

The Exchange does not send out the actual true high/low for very liquid scrips to vast majority of terminals. Only those who've subscribed for the expensive feeds get all the ticks (supposedly!!)

The example that I had given for 110 high being reported as 109.54 can occur in less than one tenth of a second (few mili seconds is typical)

If a terminal never gets 110, the terminal must not plot high of 110.

In addition to this, erroneously written terminal code can also causes these kind of errors. Such errors are certainly not due to lack of competence on part of its programmer...

First, it is impossible to test this thing in real-time and during market hours.
So, most programmers end up testing this on some kind of simulation feed where they can throttle the speed to be able to debug their code.

Second, Unlike traders, programmers cannot rely on a charting software to spot the data errors. Most charting software implement a smoothing routine to cover up data errors and weed out out-of-sample data so that the rendered chart does not look wacky. This makes debugging job of the programmer writing data capture very difficult since he has to go through data line by line...
I made comparision between Broker/Dealer terminals ( ODIn & nEST ) and NSE charting app in nse website.

Both delaer terminals are showing same OHLC numbers with monir differences. But NSE charting shows considerable diff compared to terminals. I assume both would have most accurate data avialable. Because ODIn is delaer terminals through which clients orders are routed should be high end and same time NSE would give its best feed to its own charting app.

what is your openion on which should be followed. I am asking this again bcz the differences i saw between terminals and NSE charting is not little. They have considerable differences.

And in last few days i started noticing OHLC numbers on 1 mt frame in yahoo and google finance chrts. They too have differences.

Which data is reliable ? This differences at tick level could sum up and show significant effect on a higher time frame like 5 mt for a day trader. This imperfect data could give wrong techical signals. A moving average cross over signal on this imperfect data could be a wrong signal or No signal on correct data.

what is solution for this ?
 

Similar threads