FIX Testing

Discussion in 'Automated Trading' started by Craig66, Apr 14, 2008.

  1. Craig66


    Can somebody who has completed a FIX ATS please, give me some tips on how to test such a thing? For instance, is it possible to test a FIX ATS against a IB paper trading account? How much do IB charge for FIX?

    Thanks in advance.
  2. They don't offer FIX for paper accounts. You complete certification on a test FIX line, pay $500 and then go live. Then you have to generate at least $100 in commissions (I think this is not a problem if you are at the level when you decided to use FIX).

    I've implemented simple ECN that crosses market orders and fills limits orders based on market data when my ATS is running in test or back-test mode. If you can program, with quickfix it won't take more that a few days to create such crosser.
  3. Craig66


    Thanks for that, my motivation for FIX was not though put, but not to have my code bound to the ghastly IB API model (if I can call it that).

    Do you know what the state of play is on obtaining market data though IB's FIX? I did some searching around on this site but there seemed to be no firm conclusion.
  4. Craig66


    What would you go for?
    I can't imagine MD over FIX is any slower than TWS.
  5. RedRat


    QuickFix library contains both server and client examples, you can debug your client side. Then you go for advanced server-side simulation

    you need TTSIM which is Trading Technologies simulator.

    Finally you go live - and do testings with real money.

    If you trade only futures you can go on with VelocityFutures FIX. I am not familiar with IB FIX.
  6. There is absolutely no way you can fit today's market data update frequency into FIX pipe. There is FastFIX for that purpose.

    I use IB for routing and have separate MD feed, since IB market data is total disaster (at least for my ATS needs).
  7. RedRat


    I am using MD directly from VelocityFutures FIX, it works great. Do you mean that IB FIX market data are the same as you can get from TWS API?
  8. Craig66


    Hi Guys,
    Thank you for your input.
    I was reading the FIX spec last night, there certainly are a huge number of messages. I assume only a small subset of this functionality is needed for basic trading operations?
  9. RedRat



    I do not have source code in front of me, basically you need:

    -login with password - that is FIX specific
    -subscribe to market data. There are two separate messages for DOM or just bid/ask/trades data.
    -send order
    -process changes in order status. That is the most complex thing. Pending, Canceling, Executed, so on.

    Depending on your strategy you need:
    -Request a list of orders from the server. I do not use.
    -Request open positions from the server. Unfortunately it does not work for me.
    -Process disconnects. That step depends on order status step. I am saving all internal order' IDs when receive "pending" status. Then after disconnect I know which order was executed because of I compare executed ID with saved list of pending IDs.

    It took me a while implementing everything...
    #10     Apr 15, 2008