FIX vs API

Discussion in 'Automated Trading' started by Wolfgang1756, Feb 27, 2010.

  1. Just curious what the advantages are of FIX versus a broker's API?

    And any disadvantages?
     
  2. rosy2

    rosy2

    FIX is a standard. its slow. most exchanges have there own proprietary API which is faster than FIX and that is what most people use.

    As for broker API vs FIX, it depends on the broker.
     
  3. Occam

    Occam

    All things being equal, I'd say FIX is better since it's portable. But this is very dependent on what features of FIX are offered; some broker FIX'es don't have as many features implemented as do their proprietary API's, even if said features are in the full FIX specification itself. See the FIX and/or API specs from your broker(s).
     
  4. Don't know of anyone using FIX anymore. As Rosy says, it's verbose and slow. I would advise that you use your broker's API. It's likely to be optimised for the particulars of their setup and operation.
     
  5. plenty of people use FIX.

    fix is *supposed* to be portable. many times it's not, even for same version of FIX two vendors implementations may differ.

    I think it was intended to be plug and play when it was conceived... or at least lead towards that direction. but it hasn't turned out that way.

    tradelink uses an open source protocol that is actually broker neutral. you don't have to reprogram anything to move apps between brokers or feeds (so long as you dont' use broker-specific features).

    we offer single interface to many different brokers api in this way.

    http://tradelink.googlecode.com

    this also has advantage of being less expensive, because brokers often charge extra for fix services (whereas api is often free).

    Still, fix is a well utilized protocol in the industry and it's not going away.
     
  6. Apologies. Yes, this is correct. I know of several broker/FCM platforms that use FIX/FAST on the backend to connect to the exchanges. However, as you said, they then tend to expose this through their own APIs to cut down on verbosity and to save you from having to work to their particular implementation. If you have ever looked at RCG's FIX implementation then you will understand why people shy away from it. RCG have butchered it so badly it essentially is a proprietary API loosely based on FIX.

    What I meant is that I don't know of any new projects (professional or otherwise) where the application developers are working directly with the FIX protocol. I do know of a few where they are forced to by legacy constraints. However, I assumed that this didn't apply to the OP from the way their question was worded.
     
  7. kanonka

    kanonka

    Yes, I confirm - FIX is very slow. On another hand, APIs are not much faster (at least thwe ones I used), plus you need to include execution time. But anyway, I'd say, go with the API - with proper program structure it is matter of few days to add/change new broker API.
     
  8. FIX is slow because it is 'text' protocol.
    API is fast because it is 'binary' protocol.
     
  9. fix supports both binary and text data encoding.

    most apis convert to fix or other proprietary messaging systems on the back-end.

    if your fix connection is slow, this is more likely that your implementation is slow rather than having much to do with fix itself.