Programming language to learn for automated trading?

Discussion in 'Automated Trading' started by bkzgg, Jan 16, 2012.

  1. bkzgg


    Hi, first post. I'd like to get into automated trading. However, since I don't have much knowledge in this area, I assume that you would need to know a programming language to make a program/macro to trade for u. Is this correct? If so, which programming language do u recommend?

    Thanks for any help.
  2. That's clearly the best programming language there is.
  3. Craig66


    C# has the best free tools.
    PeanutButter108 likes this.
  4. I love c#
    PeanutButter108 likes this.
  5. dholliday


    Assuming you are not a programmer, you are probably not going to write your own platform. That is a major undertaking even for an experienced programmer. So the question becomes what platform are you going to use and what language does it support? If this is correct, maybe others can point you to a list of platforms with the language they support and you can evaluate them to see if they meet your needs.

    As for C# vs. Java:
    They are very similar.
    They have similar (very good) performance.
    You have a lot of choice for tools in Java. Microsoft does a great job with tools for C#.
    C# is much more prevalent on consumer (Windows) desktops and therefore may be used as a language for more consumer trading platforms, so this may be the way to go for you.
    Java is much more prevalent in industry, including the financial industry.
    Java has a much larger community and many more free and open source libraries available, though this may not matter for what you need to do.
    Who do you like more, Microsoft or Oracle? OK, this doesn’t matter. Oracle bought Sun (the inventors of Java) because most everything they write (middleware, tools, etc.), except the database itself, is written in Java.

    If you are going to write your own platform check to see what languages your data provider and broker APIs support.

    Bottom line: If you want to be a programmer in the financial industry, Java, otherwise, see the first paragraph (probably C#).

    I chose Java because I wrote my own platform and didn’t want to have to run on Windows (though I still do).
  6. bkzgg


    Thanks for the replies. Looks like I'm not gonna be writing my own platform as it seems to be too difficult. Having said that, What I'm trying to accomplish is probably something like inputting a chain of commands into a platform (either made by myself or supplied by a broker, probably supplied by a broker in this case) to buy/sell stock (no specific symbols) when it drops/rises a certain %. So to give an example:

    1. receive data from S&P 500 or stock screener
    2. buy top # of symbols that have dropped between x% and y%
    3. immediately put in limit sell orders on all stocks bought for purchase price + x% mark up

    Really simple strategy, just wanna see if I can earn more than 2% interest from my savings account while I'm at work, lol.

    Appreciate all the help.
  7. rosy2


    its not so much the language but the architecture and design of your system. :cool:
  8. jcl


    The best compromise between easiness and efficiency is a C based language. Basic or Pascal style languages are not so suited in my opinion.

    A beginners tutorial of how to write and optimize a trading strategy in lite-C can be found here.
  9. The problem with your question is that it presupposes the platform. What you first need to decide is which platform you will be using... Is it IB? Is it Tradestation? Is it NT? The platform then dictates which programming languages you can use.

    I happen to use IB and C#.
  10. Trade architect from tda?

    #10     Jan 25, 2012