Hello,
Most often these trades are dark pool trades reported with 90 second
delay, see:
http://blogs.wsj.com/marketbeat/2009/11/19/the-consolidated-tape-yes-dark-pool-trades-are-in-there/
Best regards,
Tomasz Janeczko
amibroker.com
On 2010-06-26 15:00, Herman wrote:
That's an idea... never looked at anything else as stocks,might do
some one of these days.
btw, It is not an Internet delay, it must be that the market is
releasing data out of sequence. This may be worse for tickers that are
traded on different markets.
herman
Herman,
I also use DTN IQFeed, however, I am only watching @ES# on a constant
basis. I gave up on stocks, because of the poor realtime data
quality. I did not know how to automate the process with all that
random noise. I went to the highest volume futures because the feed
was clean and fast. When I test a strategy, it trades the same way.
However, I still manually input my trades and watch the order book
and charts. I have seen nothing fishy.
A 5 minute delay is not tradable. The best you can do is detect the
anomalies and abort the strategy during bad delays.
BR,
Dennis
On Jun 25, 2010, at 9:41 PM, Herman wrote:
Thank you Dennis!
Yes,i realize that there is an order queue you can't jump.
In addition to your observation there is the fact that your orders may
actually may change the market, draw the price one way or the other.
That effect is impossible to Backtest. The only real test is to trade
real money.
I can live with all that, but FIVE MINUTES delay from market to my
computer? I expected 15 seconds under heavy load... Five minutes seems
really strange and changes everything.
Can you think about an explanation for that?
herman
Herman,
I assume that you are aware that you will not get a limit fill just
because it touches your price. You have to stand in line behind all
the other limit orders and will also be superseded by any market
orders before you turn comes.
It is only if the backtest shows exceeding the limit order by a tick
that you know for sure that you would have been filled.
The other issue, is that there is about a 2 second delay from the time
your program sees the data until an order could be placed in reality.
A really good high speed trading backtest needs to be done at the
tick level, and the backtest has to assume a 2 second delay in placing
the order at the exchange. Add any AB/AFL processing delay to that
number also.
Timestamps on data from the exchanges are not when the trade occurred,
but when it is transmitted from the buffer to the internet. When
things get really busy, they can delay sending out the data, but you
can't know what the real delays were.
Most high speed trading computer systems sit right on the exchange
floor to eliminate these communication delays. A fast trading
algorithm located across the internet must take into consideration the
timestamps of the data relative to current time. Add to that the
uncertainty that the timestamps do not even reflect the execution
time, and you can see how this limits the practical trading speed of
the system.
In my trading, I use limit orders, but realize that I have to place
them in advance to get a fill. I look at the order book when I place
the order. If there are a lot of orders ahead of me at a certain
price, I may change my price by a tick to increase my odds of a fill.
When I see the volume of contracts filled start to approach the
number when I placed my order, I know I am about to get filled.
Not an easy thing to backtest.
BR,
Dennis
On Jun 25, 2010, at 4:22 PM, Herman wrote:
If anyone is trading real-time it might help you to know your data
latency; it might explain why you don't get your LMT fills :-)
I invite you to post possible explanations for the delays I
experience, or the code I wrote. Remember to adjust the code if you
live in a different timezone (subtract hours).
I am using IQFeed RT data. My time-zone is EST (UTC 5:00), my computer
clock is synchronized, I run AB at a 32% load factor, I ping DTN at
about 134 milliseconds.
My Internet tested slow today, at about 1Mb/sec, but can that explain
a _5 minute_ delay at peak hours? I tested the system with 100 and
1800 tickers, no difference.
The data delay ranges from < 1 sec to several minutes. The worst time
appears to be around 3:45PM, i.e., 15 minutes before the market
closes. See captures of my real-time scan at that time below. The
results at about 3:45 PM market time are scary! At better times it is
usually 1-3 seconds.
I'd like to know what your data latency is. Below is some test code
that you can rework into a loop for your own system.
Data latency at 3:45 PM:
<int_1.jpg> <int_2.jpg>
*function* TimeNumToSeconds( TN )
{
Seconds = int( TN % 100 );
Minutes = int( TN / 100 % 100 );
Hours = int( TN / 10000 % 100 );
SecondNum = int( Hours * 3600 + Minutes * 60 + Seconds );
*return* SecondNum;
}
RequestTimedRefresh( 1 );
Now4 = Now( 4 );
UpdateTime = StrToNum( "" + GetRTData( "UpdateTime" ) );
UpdateSeconds = TimeNumtoseconds( UpdateTime );
Now4Seconds = TimeNumToSeconds( Now4 );
*if* ( UpdateSeconds >= 0 ) Latency = Now4Seconds - UpdateSeconds;
*else* Latency = *Null*;
*if* ( Latency >= 0 ) LatencyStr = NumToStr( Latency, 1.0, *False* );
*else* LatencyStr = "-";
*Title* = "Data latency: " + LatencyStr + " Sec.";
<int_1.jpg><int_2.jpg>