To see the problem with IB data feed, just create a double column T&S display and try to synch link the size and price change events together...it will become apparent in a New York minute what is going on. Another clue that the feed was only intended originally to populate a grid style display are the enum to integer conversions of BidSize,Bid,Ask,AskSize,Last,LastSize...they can be assigned very easily to column indexes with nothing more than an offset param and they will line up like that across the spread sheet. IQFeed is a great and a not to expensive feed. If you know how to program multithreaded asynchronous call backs via the TCP IP socket connection...its very fast. I use it programming with C# NET using static extern localized DLL references within the code. No OCX nonsense and the overhead that comes it. Active X is for the birds. I keep all of the sockets to the various ports on their own listening threads, then marshall that to seperate process and consumption threads before finally Invoking the GUI to consume the preprocessed data. The biggest draw back to the IQFeed is that they do not have access to the central banks; NO FOREX. If you program in C# .NET and try the IQFeed, I have a very clean wrapper around the IQAPI.dll that 'user' objects can subscribe and unsubscribe to streaming and historical data implementing a rather simple and straight forward interface...Let me know.
IQFeed does indeed support depth L2 Here are the return formats when listening to the L2 Socket port: Please note that the line terminators are being used by the message board text box and dont show up in these return examples...terminators are CR and LF ===================================== U,symbol,mmid,ask,ask_size,bid,bid_size,date,reason,condition_code,source_id<CR><LF> A Level II Update, a comma separated line of text indicating the values for the update. The message is defined below. symbol - [out] The Security's Stock Symbol mmid - [out] The ID of the Market maker originating the quote update ask - [out] The Buy Offer Price ask_size - [out] The size of the Buy Offer bid - [out] The Sell Offer Price bid_size - [out] The size of the Sell Offer date - [out] The date and time time the update occurred reason - [out] The reason code for the update condition_code - [out] The condition of the update source_id - [out] The quote source's id -------------------------------------------------------------------------------- n,[symbol]<CR><LF> Symbol not found message. symbol - [out] The symbol which was not located. -------------------------------------------------------------------------------- M,[mmid],[name]<CR><LF> A Market Maker name query response message. mmid - [out] The requested mmid. name - [out] The name of the market maker. -------------------------------------------------------------------------------- E,[error text]<CR><LF> An error message. error text - [out] The error description. -------------------------------------------------------------------------------- [char]<CR><LF> Indicates whether the market is open or closed [char] - [out] The current value of the market open flag is 'O' or 'C' -------------------------------------------------------------------------------- T,[TimeStamp]<CR><LF> Receives a time stamp every 10 seconds. timestamp - [out] The timstamp in the format CCYY-MM-DD HH:MM:SS
oneway, if correct this is great to hear, but I am a bit sceptical that you are referring to their retail API... can you confirm? When I spoke to IQFeed sales I was told that the DOM (L2) feed was ONLY available through their institutional subscription (price $750/mo). Also, I use IQFeed with Medved's QuoteTracker as I like their T&S. But I found that I cannot get L2/DOM data when I have IQFeed as the selected provider. So I use IB for DOM (which is not ideal). Even IQFeed's developer website mentions... "Quote Data (excluding Level II)" http://www.iqfeed.net/index.cfm?displayaction=developer§ion=main It is certainly possible their website is out of date and the person in sales wasn't aware or was steering me towards a more expensive option. I hope I am wrong will have an excuse to dust off my old tcp/ip books and do some socket programming... its been a while. Regards
According to this page http://www.iqfeed.net/index.cfm?displayaction=data§ion=fees L2 IS available... you just have to pay an extra $20/month + exchange fees
You can get Level II through QT with either IQFeed or IB. and IQFeed Level II is available via the regular API. I can confirm that.
This is true for Level II... but they do not offer depth of market for futures exchanges.. confirmed today. I mistakenly assumed if they supported L2 they would support DOM. Can anybody recommend a data provider that offers tick-by-tick Time & Sales AND futures DOM... through an API, not DDE???
DOM is a display method, not data. QuoteTracker has Level II/MarketDepth for futures, but it is displayed as the more traditional Level II display, commonly used for equities.
I realize quotetracker can display either L2 or futures DOM, depending on the selected data provider. I was stating that IQFeed does not transmit futures market depth data... only nasdaq L2.. I confirmed this over the phone with IQFeed today. It is also stated on their website by the VP of Product Operations: http://forums.iqfeed.net/index.cfm?page=topic&topicID=674