Question about interactive broker market data

IB quotes - are not in real-time meaning tick by tick. Instead they are 0.2-0.3 second snapshots. Ever notice that they don't have tick charts? There are much better data feeds out there if the speed matters to you. IB is great at filling orders fast and cheap - but their data feed and charting has a lot to be desired.

https://www.amibroker.com/ib.html
 
Last edited:
The word data has generated considerable controversy on if it is a singular, uncountable noun, or should be treated as the plural of the now-rarely-used datum...

In the future it won't matter because referring to information as data, either as a singular or plural noun, will be considered insensitive to androids. They will consider it a pronoun. Just ask Mr. Data.

 
Would you be willing to run a timing algorithm on your box?

I have written a C++ algo that timestamps snapshots as they arrive, and prints this timestamp to the screen, along with delay since the last timestamp.

Are you on Windows, linux, or Mac? I can compile it for any of the above and send it to you via github.

Then you will see the data patterns that I am talking about. No phone call to support, obsolete documentation, or other faulty information. The algo just prints the snapshots as they arrive, with delay since the last snapshot. This would conclusively settle the issue.

Like most C++ developers, I am a "performance freak," as they say. I will fight for every time increment, down to the clock speed of the processor that I'm running on.
Have you tried running your algo on a very thinly traded instrument? For example a US stock option where maybe 100 contracts are traded per day? Most likely you will see that the time stamps are not every 100 ms, as is written in that IB documentation. The words used in that documentation are rather misleading.
 
mate, do you understand how markets operate? No data vendor in the world is sending a price update when there is nothing to update. Only when market prices change will data vendors (hopefully) reflect that. Which part is so hard to understand?

Let me give you an example:

USDJPY, current bid/offer: 115.145/115.147

Unless IB's liquidity providers will adjust the bid, or offer, or both, then 115.145/115.147 will be the last update you receive. Regardless of whether IB aims to stream updates at x-milliseconds, without price changes there is nothing to stream.

You may be a C++ performance freak, but you apparently are incredibly "thick" when it comes to absolute market basics.
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.
 
Last edited:
What you wrote about snapshot prices is accurate (finally), though that was newer the point. The fact that IB disseminates snapshots was not contended. Your claim that such happens at exactly 250ms was what I disagreed with regardless of what IB's documentation claims. It's simply not true that IB disseminates such at 250ms frequencies at the time. You will even find price updates in stocks via IB that update more often than 250ms and that even if you colocate with them in Greenwich CT.

Regarding your suggestion to test your claim, trust me when I say that I have ran many tests myself which is why I speak with confidence about my points, made. I colocate some strategies that I run via IB directly with their matching engine on the Fx side (I hold an institutional account). Again, what you are describing is mostly a result of network jitter. To start with IB does not disseminate any stock price data updates strictly at 250ms frequency. But more importantly the fact that you are not colocated exposes you directly to network jitter, meaning the frequencies at which IB updates its prices and the frequencies you observe on your end are NOT the same. I fail to see your actual point you try to make here.

I much rather see that you made up a lot of wild claims which I have disproven and yet you are too arrogant to admit such and stand corrected. You rather try to sneak your way out of your false claims by constantly changing topics. Now you suddenly bring up issues that were newer disputed. Yes, IB disseminates snapshot data. Yes those are not really traded prices but compressed snapshot data. That is not something you clarified but it was clear from the outset. What are you really saying here? Can you be crystal clear?

I am getting honestly very tired talking with people who can never admit their mistakes. I prefer to get to a point where there is a clear right and wrong because then people can learn and value is added and everyone benefits. I am tired of a chaos and wealth of contradictory information because it just confuses everyone and oftentimes the subject matter is even less clear than before after people with factually incorrect claims had their say and nobody corrected them. What's the benefit? None. I close my case and refrain from further talking with you about this topic because I don't have hope you will come around to admitting that you made false claims. Of course I expect you to get back to me now asking "which false claims", lol.

Believe what you want to believe. At least I set the record straight for newbies and those who want to put in the effort to test what I have been saying.

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.
 
Last edited:
I colocate some strategies that I run via IB directly with their matching engine on the Fx side (I hold an institutional account).
Ah... my assumption is that the OP is running a retail TWS account, and is not colocated. Are you comparing this to your institutional colocated account talking FIX? If so, this is not an apples-to-apples comparison; of course you're going to get much better performance. It's like comparing a Corvette to a Ford Focus.

Now, to be "crystal clear," my position, as stated in my first post, is:

IB is not a tick data provider. Their data are:
  • Delayed. Four quotes per second.
  • A volume-weighted average... of the trades in the last 250ms or so.
  • Bursty. At times you may wait several seconds for a burst of prices to arrive.
It is this way to circumvent significant non-dispay fees. It gets involved.

Delayed: I stand by this assertion. IB does not provide tick data.
VWAP: This is the "snapshot" that the docs speak of. I asked IB what algo they use to create this "snapshot," and was told some variant of a VWAP.
Bursty: This has been my experience. Here I will acknowledge your point that this may be due to network conditions, and I'm using a Comcast Xfinity cable connection.
Circumvent non-display fees. I conceded this point as incorrect in a follow-up post.

  • Regarding non-display fees, I acknowledge your point and agree.

Despite all the talk, I firmly believe that the only way to put issues like this to rest is to run performance tests and examine the data.

I will dig up my algo, run it, and post up my data to show you my experience.

I colocate some strategies that I run via IB directly with their matching engine on the Fx side (I hold an institutional account).

Again, what you are describing is mostly a result of network jitter. To start with IB does not disseminate any stock price data updates strictly at 250ms frequency. But more importantly the fact that you are not colocated exposes you directly to network jitter, meaning the frequencies at which IB updates its prices and the frequencies you observe on your end are NOT the same. I fail to see your actual point you try to make here.

I much rather see that you made up a lot of wild claims which I have disproven and yet you are too arrogant to admit such and stand corrected. You rather try to sneak your way out of your false claims by constantly changing topics. Now you suddenly bring up issues that were newer disputed. Yes, IB disseminates snapshot data. Yes those are not really traded prices but compressed snapshot data. That is not something you clarified but it was clear from the outset. What are you really saying here? Can you be crystal clear?

I am getting honestly very tired talking with people who can never admit their mistakes. I prefer to get to a point where there is a clear right and wrong because then people can learn and value is added and everyone benefits. I am tired of a chaos and wealth of contradictory information because it just confuses everyone and oftentimes the subject matter is even less clear than before after people with factually incorrect claims had their say and nobody corrected them. What's the benefit? None. I close my case and refrain from further talking with you about this topic because I don't have hope you will come around to admitting that you made false claims. Of course I expect you to get back to me now asking "which false claims", lol.

Believe what you want to believe. At least I set the record straight for newbies and those who want to put in the effort to test what I have been saying.
 
a) No, I used the example of colocation to isolate the problem and demonstrate that your 250ms claim is wrong. For heaven's sake. Are you playing dumb or....
b) Wrong. IB provides tick data. When you download historical tick data those are tick data, not the data you see in real-time. Check it out yourself. Yes, it is NOT VWAP as you earlier claimed. At least you corrected yourself now.

I ran performance tests, mate, I have told you now multiple times. Which part are you denying or disagreeing with me here?


Ah... my assumption is that the OP is running a retail TWS account, and is not colocated. Are you comparing this to your institutional colocated account talking FIX? If so, this is not an apples-to-apples comparison; of course you're going to get much better performance. It's like comparing a Corvette to a Ford Focus.

Now, to be "crystal clear," my position, as stated in my first post, is:



Delayed: I stand by this assertion. IB does not provide tick data.
VWAP: This is the "snapshot" that the docs speak of. I asked IB what algo they use to create this "snapshot," and was told some variant of a VWAP.
Bursty: This has been my experience. Here I will acknowledge your point that this may be due to network conditions, and I'm using a Comcast Xfinity cable connection.
Circumvent non-display fees. I conceded this point as incorrect in a follow-up post.



Despite all the talk, I firmly believe that the only way to put issues like this to rest is to run performance tests and examine the data.

I will dig up my algo, run it, and post up my data to show you my experience.
 
Hilarious. Thanks for the good laugh.

In the future it won't matter because referring to information as data, either as a singular or plural noun, will be considered insensitive to androids. They will consider it a pronoun. Just ask Mr. Data.

 
Hiya,



Then if I want to do Algorithmic-trading with IB and have access to the below (for trading Spot FX pairs only),
1- Order Flow analysis and trading?
2- Tick Data required for Order Flow Analysis and Trading?
3- Level II market data?
4- Iceberg
And using TWS/Multicharts-v14/MotiveWave-Ultimate as the platform, what shall I do?


Tnx and best of luck
iu
 
Last edited:
Back
Top