IB data feed

Discussion in 'Data Sets and Feeds' started by simki, Nov 1, 2005.

  1. oneway

    oneway

    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.
     
    #51     Dec 22, 2005
  2. oneway

    oneway

    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
     
    #52     Dec 22, 2005
  3. txuk

    txuk

    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&section=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
     
    #53     Dec 22, 2005
  4. #54     Dec 22, 2005
  5. 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.
     
    #55     Dec 22, 2005
  6. txuk

    txuk

    Very good, I will get L2 added and start looking at their API.

    Thanks all, this was very useful info
     
    #56     Dec 22, 2005
  7. txuk

    txuk

    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???
     
    #57     Jan 3, 2006
  8. 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.
     
    #58     Jan 3, 2006
  9. txuk

    txuk

    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
     
    #59     Jan 3, 2006
  10. cmaxb

    cmaxb

    PATS API has DOM
     
    #60     Jan 3, 2006