Building a JAVA ATS for a Microsoft.NET API

Discussion in 'Automated Trading' started by CPTrader, Aug 6, 2010.

  1. If one is limited to JAVA programming skills (i.e. no C# skills) how can one develop an ATS for an API that is Microsoft.NET based.
    Someone suggested using a JAVA-to-COM bridge? Is this feasible? Will this impact performance? Any ideas?

    Thank you.
  2. Possible ? Probably. Desirable ? Questionable.

    Performance hit? Maybe. But it may not be significant. It depends on what your requirements are. Unless you want to be into high frequency stuff it may not be relevant. The more important question is whether it is robust and reliable.

    Is the API(s) you are referring to for data feed and/or order placement? Which vendors?
  3. Thanks dcraig for sharing your insights.

    The API I refer to can be used for both historical and real time data and also for order placement.

    My initial plan is to use the API for both data feed and order placement; while also having a secondary data feed (IQFeed) for backup and/or for markets not covered by the trading API. Accessing the IQFeed API for data is not the problem. The problem is the trading API for order placement.

    Given the above, what do you think? What Java-to-Com bridges do you recommend. I am very new to all this and had never even heard of the term Java to Com Bridge until the trading API support team advised me of it recently.

    Glad to hear more from you.


  4. H2O


    Have you considered using FIX?
  5. FIX is not an option for this trading platform
  6. Sorry I'm not in a position to advise on Java-COM bridge. I did try one ages ago, and it seemed to work OK, but it was nothing serious. I just wanted to see if it worked. If it was me, I'd start with an open source Java-COM bridge because at last resort you have the source code and can fix any issues that might arise. Also if there are performance problems (which I suggest there probably wont be unless you have some big ambitions) you can profile the thing to see what is going on.

    As you say IQFeed is not a problem. I use it with Java on Linux and it has been exceptionally reliable. I'd recommend it.

    For some anecdotal evidence for performance, with IQFeed I can easily track 500 high volume stocks (including SPY etc) on a Q9550 quad core CPU and the thing is loafing along - hardly used. There is a LOT of CPU power available these days and you are not likely to have performance issues unless you do something silly in the code. The exception is where graphics is drawn at high rates (100's or 1000's of times per second) on the screen. Lots of that and you can bring any CPU to it's knees using any programming language.
  7. Thanks dcraig for all the insights and ideas.

    If I do proceed with the project, I'll let you know what happens.

    If others have ideas, please share with me,

    Thank you.

  8. januson


    But only fools have their user interface/ graphical charting tight couplet to their code. :D
  9. Please explain what you mean by the above. Thank you!
  10. LeeD


    If you are happy with slightly outdated technology Visual C# from Visual Studio 2005 compiles java source as well as executes java bytecode on NET. The lahnguge has non-java extensions to provide easy access to NET-specific features such as properties.
    #10     Aug 29, 2010