Clojure for automated trading?

Discussion in 'Automated Trading' started by Nashequilibrium, Aug 18, 2010.

  1. Hi,

    I wanted to know if anyone is using Clojure to programme trading strategies or have tried. What is your review of it,is it worth my time to learn it if i would like to use it for automated trading?

    Thanks in advance.
  2. nitro


    GS is known to use Erlang. I see no reason why Clojure would be any worse.
  3. "any worse".........does that mean u don't like clojure for strategy development?
  4. byteme


    No, he means that Clojure and Erlang are comparable in many respects. Since Goldman Sachs uses Erlang there's no reason why Clojure can't be similarly employed.

    Are there specific features of Clojure that you think would make it a good choice for this problem domain? With Clojure you can leverage existing Java code and libraries which is often one reason for choosing it over Erlang. There are of course a number of other fundamental differences between the two.
  5. I have used it because I come from a Common Lisp background. It can be a pain in the ass to get performant code sometimes, but overall it's good since you can rely on all the existing JVM libraries. Coding in emacs with slime is probably the best experience ever.
  6. Raul641


    Check A lot of hedge funds are hiring Clojure programmers these days.
  7. I don't get why people use these 3rd party apps to program strategies. Just use the brokers API, when you add 3rd parties in the mix that just adds an extra technological component which isn't totally compatible to the original version. Also the 3rd party apps never have the sophistication like the original version has.

    Just use the dame brokers API
  8. Raul641


    Clojure is not a "3rd party app," it's a programming language. When you've never heard of something, at least spend 10 seconds Googling the word before firing off a reply.
  9. Why Clojure over Ocaml?
  10. Raul641


    Mainly, Clojure is a Lisp dialect, so there is no distinction between code and data. It has macros. Lisp macros are only distantly related to simple template-substitution C-style macros. Lisp macros can include any arbitrary code you like.

    Using this feature, you can easily write programs that write other programs and programs that modify existing programs. Users can also introduce new syntactic constructs in ordinary code. Other languages either can't do these things or are equivalent to Lisp.

    Also, specific to Clojure (as opposed to other Lisp dialects), Clojure runs on the Java virtual machine, and considerable effort has been expended to make Java interoperation work smoothly. This means that the Clojure programmer has transparent access to the huge set of preexisting libraries that exist for Java from a Lisp.

    #10     Sep 21, 2010