Hi there,
I used MultiCharts with Interactive Brokers as broker and data feed. While request more
chart or more stock on real time market scanner, I will see K bar lag on chart or waiting for market data message on screen. While checking Quote Manager, I see the following message:
Historical Market Data Service error message: Historical data request pacing violation
May I have your suggestion for the following questions:
1.Is Interactive Brokers a good market data feed provider? Is there any other alternative solution?
2.Could I use A company as data feed provider and company B as broker? For example,
there is no market data limitation for company A, I use company A as data feed provider and
I use Interactive Broker as my broker to trade stock, future and option?
3.I use MultiCharts to execute pair trading strategy, as long stock A and short stock B strategy. Sometimes, MultiCharts will long stock A, however, MultiCharts does not short stock B. The pair trading strategy was failed. Would it be the question because of data feed limitation?
Thanks for your valuable suggestion.
Charles
Interactive Brokers Data Feed Questions [SOLVED]
- TJ
- Posts: 7774
- Joined: Aug 29 2006
- Location: Global Citizen
- Has thanked: 1036 times
- Been thanked: 2233 times
see post #3Hi there,
I used MultiCharts with Interactive Brokers as broker and data feed. While request more
chart or more stock on real time market scanner, I will see K bar lag on chart or waiting for market data message on screen. While checking Quote Manager, I see the following message:
Historical Market Data Service error message: Historical data request pacing violation
May I have your suggestion for the following questions:
[snip]
2.Could I use A company as data feed provider and company B as broker? For example,
there is no market data limitation for company A, I use company A as data feed provider and
I use Interactive Broker as my broker to trade stock, future and option?
[snip]
Thanks for your valuable suggestion.
Charles
viewtopic.php?f=16&t=6845
-
- Posts: 742
- Joined: Apr 09 2010
- Location: Texas
- Has thanked: 483 times
- Been thanked: 274 times
- Contact:
*************************************************************************Hi sptrader,
thanks for your valuable information. May I know why you choose IQFeed instead of IB data feed? Is it because IQFeed data is reliable and cheaper than IB data?
I use IqFeed, because it is real, non-filtered data and IB is "sampled" data, you don't get all of the ticks or volume with IB.. Also with IB data , when backfilling historical data, if you request too much data, you get the dreaded "Pacing violation" error and have to re-start TWS to get rid of it, that becomes tedious and time consuming....no such problem with IQfeed.
Hi sptrader,
Thanks for your valuable information. I don't know the difference until your message.
May I have further question, for example, if A stock have 8 price from IQFeed and only
4 price from IB. The data is Trade, not ask and bid.
Stock A price from IqFeed Data Feed: 20 21 22 23 24 25 26 27
Stock A price from IB Data Feed: 20 21 24 27
Time series: 1 2 3 4 5 6 7 8
If I didn't subscribe IqFeed, I used IB data only. If I place buy market order in time 4,
what would be the executed price? Will it be 23 or 24?
Thanks again!
Thanks for your valuable information. I don't know the difference until your message.
May I have further question, for example, if A stock have 8 price from IQFeed and only
4 price from IB. The data is Trade, not ask and bid.
Stock A price from IqFeed Data Feed: 20 21 22 23 24 25 26 27
Stock A price from IB Data Feed: 20 21 24 27
Time series: 1 2 3 4 5 6 7 8
If I didn't subscribe IqFeed, I used IB data only. If I place buy market order in time 4,
what would be the executed price? Will it be 23 or 24?
Thanks again!
- TJ
- Posts: 7774
- Joined: Aug 29 2006
- Location: Global Citizen
- Has thanked: 1036 times
- Been thanked: 2233 times
IB streams data in 250~300 millisecond increments.
Any trades happened in between are aggregated together and sent out as one price.
That means IB streams data roughly 3 to 4 times per second.
99% of the people do not notice the difference.
In most real life scenario, it does not affect the market information.
For example:
If the stock is trading slow,
ie. less than 4 trades per second, then nothing is aggregated. There is no difference to the quote quality.
If the stock is trading fast... if many trades happened at the same price -- no difference.
If many trades happened at different prices... well, do you see the price changes more than 4 times per second? Do they go back and forth between the spread? or are they going off in one direction?
In all practical sense, it won't make a difference to most orders,
because human response at its best is about 250 milliseconds.
ie. if you see a price flash on your screen,
it will take you one quarter of a second to see it and digest it,
and if you react to enter an order immediately,
it will take another 250 milliseconds to press the key.
If the latency between your computer and IB's server is half a second (estimate),
you will be looking at a ONE second turn around (best scenario).
So IB's 4 times per second aggregation is much faster than your reaction time, and thus should not affect your trading.
However some people are concerned with IB's aggregated quotes for good reasons.
If your analysis involves precise price/volume/time calculations,
aggregated quotes might affect your signals.
Then you would prefer to use a higher quality datastream, one that does not aggregate prices.
In your example above,
if you see 4 quotes from IB, I would assume that time span is one second.
You have to ask yourself: of the stocks you trade, do you see that happening in one second?
Maybe except in fast market? In that case, aggregated or no aggregated, no supercomputer is fast enough to catch your entry signal.
Just my thoughts, YMMV.
ps. Most dataproviders aggregate their quotes; go read the small prints in your contract.
pps. There is a detailed explanation on how aggregation works in IB's website.
Any trades happened in between are aggregated together and sent out as one price.
That means IB streams data roughly 3 to 4 times per second.
99% of the people do not notice the difference.
In most real life scenario, it does not affect the market information.
For example:
If the stock is trading slow,
ie. less than 4 trades per second, then nothing is aggregated. There is no difference to the quote quality.
If the stock is trading fast... if many trades happened at the same price -- no difference.
If many trades happened at different prices... well, do you see the price changes more than 4 times per second? Do they go back and forth between the spread? or are they going off in one direction?
In all practical sense, it won't make a difference to most orders,
because human response at its best is about 250 milliseconds.
ie. if you see a price flash on your screen,
it will take you one quarter of a second to see it and digest it,
and if you react to enter an order immediately,
it will take another 250 milliseconds to press the key.
If the latency between your computer and IB's server is half a second (estimate),
you will be looking at a ONE second turn around (best scenario).
So IB's 4 times per second aggregation is much faster than your reaction time, and thus should not affect your trading.
However some people are concerned with IB's aggregated quotes for good reasons.
If your analysis involves precise price/volume/time calculations,
aggregated quotes might affect your signals.
Then you would prefer to use a higher quality datastream, one that does not aggregate prices.
In your example above,
if you see 4 quotes from IB, I would assume that time span is one second.
You have to ask yourself: of the stocks you trade, do you see that happening in one second?
Maybe except in fast market? In that case, aggregated or no aggregated, no supercomputer is fast enough to catch your entry signal.
Just my thoughts, YMMV.
ps. Most dataproviders aggregate their quotes; go read the small prints in your contract.
pps. There is a detailed explanation on how aggregation works in IB's website.