[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

First tick/out-of-session tick/60 ticks phenomenon



PureBytes Links

Trading Reference Links

The issue concerning the first bad tick and its effects on the 
intraday data has generated some regrettably uninformed yet 
patronizing statements on this list. In the absence of any 
information on the subject from Omega, let me offer some of 
my observations that hopefully some members may find helpful.
 
The principal cause of the editing difficulties, associated with the 
initial tick, is the fact that TS does not save all incoming ticks at the 
original value. The value with which TS saves and eventually displays  
a bad tick depends on two factors: (1) How much off the ticks is, 
and (2) What the tick's position is relative to the first tick in the 
trading session.
 
Most bad ticks are the "what you see is what you get" kind of ticks. 
They are usually off by a small margin  -- say, a point or two. Let's 
call them "the small margin ticks." TS saves them at their face value. 
Therefore, it does not make any difference where they are relative 
to the initial tick. They can be easily corrected with no effect on 
other ticks received during the session.
 
Then there is another category of bad ticks -- the ones that are off 
by a big margin. For some eerie reason, TS stores each tick that 
is off by more than about 33 points -- 330 points for high priced 
symbols -- at a value that is different from the original value. (I think 
the threshold is closer to 32.817 -- or 328.17, as the case may be 
-- but I do not have time to figure that out. Those who are curious 
about the algorithm used by Omega and its rationale should 
question Omega techsupport.) 
 
Now, about the location of a tick. 
 
As I said, small margin ticks are no problem. The same goes for 
big margin ticks if they are NOT in the first position in ANY group 
of 60 ticks, starting from the beginning of the session. Ticks like 
these are saved with different values but they do NOT affect other 
ticks collected in the session. Therefore, they also can be easily 
corrected or deleted.
 
The big margin ticks, heading the blocks of 60, are treated 
differently. TS saves them at the face value even though they 
may be off by hundreds of points. However, TS will alter 
the value of ALL 59 remaining ticks in its group, while the 
diferentials between individual ticks are maintained. Ticks in 
other groups remain unchanged.
 
Here are some examples (you can check them in the Tick Editor):
 
IBM, Jan 9, 98
 
....................................................Saved by TS as
Tk.No...............1..............2..............1............2
OrigValue....104.312....104.312 
Change to.....................71.312....................136.848
..................................137.312......................71.776
....................71.312.....................71.312.......38.776*           
..................137.312...................137.312.....169.848*
 
  
DSP8H Jan 9, 98 (Note that for SP8H the initial tick is the 
first tick recorded after midnight, if Globex hours are enabled)
         
....................................................Saved by TS as
Tk.No...............1..............2.............1.............2
OrigValue.....960.50... ..960.00 
Change to....................630.50....................1285.86
.................................1290.50......................635.14
...................630.50.....................630.50.......304.64*
 .................1290.50..................1290.50......1615.36*
 
(* - when the first tick is changed, so are the ticks No. 2-59.)
Note that when the first tick is off by more than 33 points on the 
downside, TS usually computes the value of the next tick is by 
deducting approx. 33 points (or 330) from the value of the bad 
tick. If it is on the upside, the 33 points are added. If a bad tick 
hits any position between No.2 and No. 59, the process is 
reversed.
 
Thas was a simplified demonstration of the way TS behaves in a 
static environment, when one looks at the data already collected 
and stored on the hard disk. 
 
However, under dynamic conditions -- during market hours, 
when live ticks keep coming in -- things are somewhat different:
 
If a big margin tick hits the first position in any group of 60, 
ALL ticks that follow -- not just the next 59 ticks -- will be changed. 
The probability of this happening is low but it does happen. We 
saw it a few months ago with some indexes such as INDU, OEX 
and SPX when the problem appeared in the afternoon trading. 
 
The big margin ticks received before the beginning of trading 
cause the greatest damage because they alter the complete file. 
What makes this a serious problem is the fact that such a tick 
does not have to be the first tick of the trading session. It can be 
ANY big margin tick received by TS between midnight and 9:30. 
The probability of getting a piece of garbage from a datafeed -- 
especially, if there is a reception problem -- during the 8.5 hour 
period is significantly greater than getting a single large-margin 
bad tick right at the start of trading. If a bad tick comes in before 
the opening, TS will treat it as the initial tick, while converting all 
subsequent ticks, including the first tick of the trading session, 
to "bad data." 

I have received such bad first or out-of-session ticks many 
times from the BMI feed. For instance, over the past 30 days, 
the following symbols in my portfolio -- not counting SPX on 
Jan 5 -- had an entire day of data altered by the initial tick 
(the bad data are present in Omega's refresh files): 

Date......Symbl...Tk.No...Time......Value... Correct Price Level

Dec 11.....CI........1.......09:46....128.125...........160
...........................2.......09:48....100.464
 

Dec 31....BNI.......1.......01:15........0.001............92
...........................2.......03:23........0.000
...........................3.......09:37......27.464

..............DAL......1....... 02:36...... -0.084..........115
...........................2........09:30.....-15.197

Jan 2.......K.........1........08:57........0.677............50
...........................2........09:31....-16.161.

Jan 5.......CI........1........09:43......17.250...........170
...........................2........09:44......41.303

.............INTC......1........09:28........0.040............73
...........................2........09:30.......7.526

..............WY.......1.......09:32.....-375353.552......50
...........................2.......09:32.....-375341.458

This was also the case with INTC on Jan 5. As Rod Grisham 
wrote to me, his computer received the tick of $0.04 at 9:28am. 
As a result, the next tick, which was the first tick of trading, was 
sent by BMI, apparently, at the correct price of 75.062 but it 
was saved by TS at 7.526. All ticks that followed throughout the 
session were similarly converted to the price levels set by the 
bad tick. The resulting file of 18,840 ticks contained 280 ticks 
-- each of them 59 ticks apart. Once one of these 280 ticks 
was corrected, TS restored the correct value of the remaining 
ticks in the respective tick's group. That such regularity can not 
be a consequence of "a series of datastream errors" -- as Mr. 
Brickley has been suggesting -- should be obvious to anyone 
with scientific training.

The recent ITNC incident demonstrated that Omega techsupport 
is not equipped to handle the damage set off by a single first or 
out-of-session bad tick. With no reasonable way of restoring 
corrupted data, Omega users should be concerned about the 
possibility that even a small problem with a datafeed could affect 
many symbols for several days and, in effect, render their 
intraday data useless.

Under the circumstances, it would be plain silly not to demand 
from Omega a simple utility that would only repair what Omega's 
software has previously mangled. If Omega's managers were 
smart, they would be grateful for the prodding received from 
Rodney Grisham and me to make TS a functional product. The 
same goes for some members of this list. 
 
IU