Best data api ?

Discussion in 'App Development' started by eves_banished_children, Apr 29, 2018.

  1. QFund

    QFund

    I also use IB API (C++ ) (http://interactivebrokers.github.io/tws-api/) . They provide sample application that you can change to your needs. I have found it useful and sufficient for my needs. I trade personally using IB API infrastructure. Although I do have data feed for IQFeed (they charge additional 300$/ year to use the API on top of fees for data) as backup source and also for my systems run on a third party website. Both have been flawless for my purposes.If you want tick-by-tick, IB is not sufficient.
     
    #11     Apr 30, 2018
  2. I only use the software as provided by IB, no third-party code.
    The manual is here: http://interactivebrokers.github.io/tws-api/ You can select the language of choice at the top of the page. All example code will be shown in the selected language.
    Your other questions are also answered on that website. However, I did decide to have my software maintain its own logfiles so that I better understand what is happening. These logfiles were very helpful to me when I had unexpected events (e..g. crashes, or unexpected behaviour).
     
    #12     Apr 30, 2018
  3. Thank you for this information too. I was concerned about that IB API (C++) when I downloaded the "stable" version and was getting compile errors all over the place, but then I noticed that it was a year older than the newest version, and their newest version compiled with some trivial warnings. Their API, from what I understand, is text based between the API and their gateway, .. it must be, their entire API is only about 10k lines of code. I was looking through the API code and it is mostly string manipulation.

    Edit .. Also, I was looking through the documentation for IQfeed and that is really simple too, I like that all you're basically doing there is giving them the symbol you're interested in with some parameters in text, and then they're sending you comma delimited text fields as data.
     
    #13     Apr 30, 2018
  4. ... and ... all their socket traffic is in ESocket.cpp in separate send and receive functions, so it would be trivial to print out that text to see what was going on between the API and the gateway for debugging ...

    Edit, it looks like you can also signal the gateway to log something ...
     
    #14     Apr 30, 2018
  5. T0pH4t

    T0pH4t

    @eves_banished_children IB's protocol between gateway and client is easy enough to reverse engineer. Its what I have done since I use my own custom client. Its all text based with null delimiters for the most part.
     
    #15     May 4, 2018
  6. Hey thanks for that, good to know someone has done it. What you say about the text based with null delimiters is interesting, I'm looking forward to seeing the format. I think with just a few order types it should be fairly straight forward, depending on how they pass back their error codes.
     
    #16     May 5, 2018
  7. qlai

    qlai

    Do share! Btw, make sure to check max # of symbols allowed. IB has 15 or something. Someone correct me please.
     
    #17     May 5, 2018
  8. IB has a max concurrent pull of 100. Meaning you can be streaming 100 quotes at a time - however if you need more you can stop (cancel) the stream on the 100 and get quotes for another 100. I scan over several hundred symbols over a minute by keeping the 20-30 most interesting in streaming mode and scanning chunks of 50 as point in time - possibly adding them or removing them from the streaming ones.
     
    #18     May 5, 2018
  9. qlai

    qlai

    Is that limited to nbbo or you can realistically subscibe to 100 level2 books?
     
    #19     May 5, 2018
  10. See this page: http://interactivebrokers.github.io/tws-api/market_depth.html at the bottom, the section called "Limitations"
    By the way: if 100 streaming NBBO is not sufficient is it possible to buy additional blocks of 100 ("quote booster packs").
     
    #20     May 5, 2018