Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
Viewing User Profile for: buscq9421
About Contact
Joined: Jan 26, 2019 12:44 PM
Last Post: Feb 12, 2019 11:01 AM
Last Visit: Feb 20, 2019 10:32 AM
Website:  
Location:
Occupation:
Interests:
AIM:
ICQ:
MSN IM:
Yahoo IM:
Post Statistics
buscq9421 has contributed to 10 posts out of 21251 total posts (0.05%) in 2,142 days (0.00 posts per day).

20 Most recent posts:

Was watching almost all MOMO options. Confirm that this is no longer an issue.


I am trying to calculate the delay from my local_time to IQFeed's server_time.

Right after I receive a Q message whose message content contains "b" or "a", I logging my local_time. The Bid Time or Ask Time in the Q message provides the server_time.

I expect local_time - server_time to be some small positive number, but I notice it's pretty consistently around -0.55 seconds. Hence, I wonder if IQFeed offers some good way for local machine to align to the server time.

Thanks.


I noticed this today:

I sent watch requests for stocks and options before the market opens (regular trading hours), receiving fundamental, Summary messages (F and P) as expected. After market opens, I received update messages (Q) only for stocks, no Q messages received for options.

Want to confirm that this is the expected behavior.

Thanks.


That's right. Prices are the same but IQFeed sizes are smaller.


Bump.

So, is it possible to get the overall bid and ask sizes that are similar to those from IB (as shown in the picture)?


Thanks Steve. I do not think I am deriving the depth. All I want is for any given point in time, I know the NBBO prices and also their respective bid & ask sizes aggregated from all MCs. I believe this is what level 1 should offer.

It's probably way easier to aggreagate from your end than we try to derive.

I guess my problem can be reworded as: can IQFeed level 1 data feeds give us info about NBBO's bid & ask sizes aggregated from all MCs? If not, why? If so, how?
Edited by buscq9421 on Feb 5, 2019 at 12:14 PM


I am trying to reproduce the overall Bid & Ask size (across all market centers) for the best Bid & Ask prices, respectively, and compare them with those from Interactive Broker. This has been very difficult so far. Partly, from a 2005 post, you do not seem to have all the feeds (no ECNs, still true)? Also, you do not send us all the updates from the market centers.

From your support guy, IQFeed does not send us every bid and ask updates from the market centers but rather only the NBBO quotes are sent. Just to clarify what this means:

1. If we receive an update message: (bid $30, bid size 1000, market center 5). This means the national best bid is $30. Later, market center 5's bid size changes to 800. Will we receive the update message: (bid $30, bid size 800, market center 5)?

2. If we receive an update message: (bid $30, bid size 1000, market center 5). This means the national best bid is $30. Later, market center 10 also offers bid $30, bid size 200. Will we receive the update message: (bid $30, bid size 200, market center 10)?

3. If we receive an update message: (bid $30, bid size 1000, market center 5). Later, market center 10 also offers bid $30, bid size 200. This means the national best bid is $30 and is upholden by both market center 5 and 10. But then, market center 5's bid $30 is gone and the next in line is $25, bid size 500. Will we receive the update message: (bid $25, bid size 500, market center 5)?

I was hoping to use IQFeed for streaming and IB as the broker. It is troublesome if I cannot know the total size offered at the best bid and ask price.
Edited by buscq9421 on Feb 5, 2019 at 11:12 AM


When streaming level 1 quotes for option contracts, IQFeed sends bid and ask info from each market center. But only the most recent update message is reliable. Any prior update messages (about other market centers) received might have become stale without us being told so. That makes us unable to get the overall (across all market centers) bid and ask sizes available at the best bid and ask price.

An equity/stock example that demonstrate the point:

The first bid update for the market center 80 is (30.7500,200,12:36:40.361614,80) and the next bid update is (30.7000,100,12:44:09.891965,80). So, between 12:36:40.361614 and 12:44:09.891965, one would thought there are 200 shares @ 30.75 in market center 80 and that the offer is live for the 8 minutes. However, by looking at updates from other market centers, the bid price have lowered in these 8 minutes. Ex. In market center 5 at 12:43:55.500793, bid info is (30.7000,100,12:43:55.500793,5) and the ask info is (30.7100,300,12:43:55.500793,5). This falsely suggests that there is an arbitrage opportunity.

As per IQFeed support, the issue here is that not all updates in market center 80 are sent by IQFeed; only NBBO quotes are sent. For stock, we can use regional quote to alleviate this issue but it's not gone completely.

Plus, regional quotes are not available for options and staleness is a bigger issue for option contracts than stocks because options tend to be less frequently updated.

So my understanding is: for options, the only reliable quote is the most recent update message received. Any prior update messages (about other market centers) received might have become stale without us being told so. That makes us unable to get the overall (across all market centers) bid and ask sizes available at the best bid and ask price.

Does anyone else notice this issue? What are some possible workaround?
Edited by buscq9421 on Feb 5, 2019 at 08:51 AM
Edited by buscq9421 on Feb 5, 2019 at 08:51 AM
Edited by buscq9421 on Feb 5, 2019 at 08:52 AM
Edited by buscq9421 on Feb 5, 2019 at 08:53 AM
Edited by buscq9421 on Feb 5, 2019 at 09:07 AM


@ DTN Admin

I believe this might be a bug in the 6.0.1.0 version. 6.0.0.5 does not have this issue.


I am coding in python.

import socket
HOST = '127.0.0.1'
PORT = 9100
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.sendall(b'S,SET PROTOCOL,6.0\r\n')
s.sendall(b'HIX,GOOG,60,1\r\n')
s.recv(1024).decode()

this results in
'S,CURRENT PROTOCOL,6.0\r\nE,Invalid server protocol version.,\r\n!ENDMSG!,\r\n'

====================================================
I also ran diagnostics.exe
seems to encounter the same issue for HTX.

I ran on Saturday.

Thanks


Time: Fri December 6, 2024 11:57 PM CFBB v1.2.0 10 ms.
© AderSoftware 2002-2003