IB API vs FIX

Discussion in 'Automated Trading' started by granville, Jul 15, 2006.

  1. I think I'm going to start out a couple of currency automated systems with IB's TWS API... wanted to hear from those of you who use it or have upgraded to the FIX. Any comments/suggestions?
     
  2. napa

    napa

    Having tried their API I must say that I would not try to make automated system with it. Mainly because that Java "gateway" TWS thingy must be runnning alongside with program using API. And at least to me, it was quite instable and required constant supervision.

    So, I'm in process of writing FIX application for my trading needs. I find it much more professional and stable approach to automated trading. Very flexible and not limited to just one trading firm.
     
  3. sccz97

    sccz97

    ditto
     
  4. There are a bunch of inherent limitations that one needs to be aware of when coding to the TWS API.

    The Yahoo! TWS API group is a good place to start.

    Nothing wrong with prototyping with TWS API IMO. Running a production system is another matter and you will have to tackle numerous issues as mentioned above.

    Coding to FIX is also good in theory. Problem is that brokers often have slightly different implementations or proprietary extensions etc. However, FIX is probably your best bet in the long term.

    When coding your system, separating the business logic from the API connectivty logic should allow you to swap API implementations without disrupting the bulk of your system but may impact performance - so it depends on how performance sensitive your system is as to whether you take this route or not.

    QuickFix is popular.

    Good luck!

    MoMoney.
     
  5. Thanks everyone,

    That is what I thought would be the answer. I am working with a friend who is coding the API and I keep hearing from him that there are issues.

    How do I get access to this since I am not a member?

    Best,
    Granville
     
  6. I'm about 10,000 lines of code into an IB API ATS system...
    And have overcome the usual issues...
    And have yet to encounter anything insurmountable...
    That would make my ATS too "unstable".
    (It's not built for speed... millisecond latencies are not important to me).

    Can someone briefly describe an insurmountable IB API issue...
    That results in unacceptable "instability"??

    One must remember than absolute ** minimum human error ** in order entry...
    Is on the order of 1 mistake in 200-300 orders...
    (For example, entering 25.45 instead of 24.54)...
    So an ATS that improves on that has great value.
     
  7. Hound Dog...

    How many automated trades (or how long) have you been trading IB's API? ... what I'm trying to get at is, how many years/months have you been running trouble free with the API? what were some of the 'issues' you had to deal with?

    Knowing this would help me a lot to make sure that we account for them if we decide to go with the API
     
  8. Notice that after 24 hours...
    No one has given me a single specific "issue"...
    In terms of why an IB ATS cannot be stable.

    I suspect...
    That coding a stable ATS ** from scratch ** with any API...
    Requires very sopisticated design and implementation...
    So many people are simply unable to do it well...
    And end up with junk.

    I have 200-250 executions/day...
    Am fully connected to IB API plus ILX real-time data...
    And by "stable" I mean most days nothing crashes or produces significant errors.

    At about 15 hours/week it took me about 8 months = 500-600 hours...
    (Most of time I am trading and running a business)...
    To build a stable and reliable IB API platform...
    But it's not optimized and, temporarily, has various latencies.
    Eventually my ATS will almost completely replace the IB TWS...
    But be highly specialized to the type of stock I trade.

    To itemize the "issues" specific to the IB API is way beyond the scope of this post.

    But I would say this...
    An ATS is an ** adjunct ** to a pro trader manually executing a profitable strategy...
    Which organizes/integrates everything...
    Slashes decision/response time by the trader...
    And sends automatic auto-orders perhaps 50% of the time.

    It's like a video game manned by a pro trader...
    That can increase his productivity... say from 200 to 300 trades/day.

    That's all it can be on the small business level.

    Not a pro trader? No long-term (several years) successful strategy?
    Then ATS will not help you.

    I think people trying to build "unattended" ATS are reckless. Or just amateurs.
    And why anyone managing less than $5 million and fewer than 3-4 traders...
    Would care about cross-platform and scalability issues is beyond me.

    Get back to me 6-12 months from now... I will know much more.
     
  9. LMAO. It's the weekend, were you expecting a torrent of responses?

    I don't think anyone here has said that it can't be done. If you were hoping to have a debate with someone who disagrees with that then you may be waiting a while. There are many people that have built an ATS with TWS API . It's not really up for debate. There are many documented and undocumented workarounds for any issues that there are with the TWS API in order to leverage it for an ATS.

    However, the pertinent question is whether it is the best route to take for an ATS given the available alternatives? I believe the intent of the thread was to try ascertain this.
     
    #10     Jul 16, 2006