I understand how bid/ask spreads work, in both an order-driver and quote-driven market. To validate your point: I understand that in the absence of a price change, IB will stream nothing, because the price has not moved.
My counter-point is that, with any high-volume stock (MU, INTC, CSCO, etc.) there can be hundreds of price changes per second.
Also, in an upspike or downspike for any equity, there will be far more than four price changes packed into each second. For example, let's say that Yahoo has been hacked (again), and the Verizon deal is permanently trashed. The news hits, and everyone is rushing for the exit. Their price spikes down from $44.42 to $41.73 in one second. In that second are at least 269 price changes ($44.42 - $41.73 = $2.69) , probably more due to the uptick rule and shorts covering.
With IB, you may see the following:
Code:
Time Price
(Seconds) (USD)
00:00 $44.42 // News hits.. downspike follows
00.25 $43.68
00.50 $43.09
00.75 $42.55
01.00 $41.73 // New price
These snapshot prices do not accurately describe the price movement. There are hundreds, perhaps thousands, of price movements packed into each. There's lots of buying and selling going on as they eat through the order book at the millisecond and microsecond level.
Also, you did not answer my questions: are you willing to run a simple script to print IB price snapshots to the console? What OS and version are you running? This will show you the VWAP-bursty-delay that I'm talking about.
I wrote it last year. I am really busy this week, but I will dig up the script on Thursday or Friday. It's on my work computer from last year, and show you what a run looks like on my box.