Using ONE ATS for Multiple Trading APIs

Discussion in 'Automated Trading' started by Tradeae, Feb 6, 2013.

  1. Tradeae



    What would be the best way to design an ATS such that one Automated Trading System to execute across multiple trading APIS.

    For example, how could one use one ATS to trade over the IB API and also the Rithmic API.

    The aim here is to avoid creating a separate ATS application for each trading API and instead have just one ATS application that can route to multiple APIs.
  2. jelite


    You can create a 'plugin', dynamically loaded dll for each broker's api with a common interface communicating with those apis covering the functionality you desire (execution-placing orders etc.,market data-receiving tick data,requesting snapshots etc.). Your strategy then only uses the interface and doesn't care what the actual plugin has to do under the hood. The advantage is that each plugin only needs to be coded once (with potentially some upkeep). But it takes time and thought to get the whole thing done. Also it's good to separate getting data as a separate plugin (albeit brokers might be the same, i.e., one broker for both execution and data will be accessed using those two separate interfaces).
  3. vicirek


    I do not see any theoretical problem with one for all or multiple ATS for each broker because today program design is highly modular with many reusable parts so it is wrong question.

    If you talking about standard execution model then there is FIX protocol that can be used with multiple brokers and off course there is no problem with adding extra interface to your ATS as needed using proprietary broker API.

    I personally think that one application for all other than standard protocol like FIX is good idea because of the work involved and potential code maintenance issues.
  4. vicirek, why do you think having one application for multiple APIs is better than FIX. it seems to me that configuring one ATS application to work with multiple APIs would be a very difficult task.
  5. JamesL


  6. ofthomas


    you can look at multicharts, ninjatrader, amibroker, rightedge and a few others... just take a pic at the software review pages and do some homework..
  7. I am not sure you understand what I am trying to achieve.

    I wish to trade certain products via CQG API, certain products via say the IB API, certain products via say Rithmic API.

    I could in theory build a separate ATS application customized to work with each of these APIS i.e. have three different APIS (one for IB, CQG, ERithmic). Developing three different applications for three different APIs does not seem to be the best approach in terms of costs, development time and ongoing maintenance.

    So my question is how best to create ONE ATS application that can easily be configured to work with multiple APIs?
  8. CT10Gov