Automated Trading Software

Discussion in 'Automated Trading' started by Stdr, Feb 13, 2010.

  1. m4a1

    m4a1

    all you need is

    1) Tradestation 2000i, which you can download for free from many places

    and

    2) a bridge what connects Tradestation 2000i to Interactive Brokers. see link below

    http://tradestation2000ibridge.wordpress.com/
     
    #31     Apr 10, 2010
  2. bone

    bone

    I have some personal contacts at a large NYC black box hedge fund, and asked him about Java - he confirms that they are currently hiring Java developers, and getting their existing C++ programmers certified for Java.

    So, on the downside this thread has really shown my ignorance about Java, on the upside my IT people have one less standardized excuse to use.
     
    #32     Apr 10, 2010
  3. Right. All those languages, c++, c#, vb.net, java are all nearly perfect tools at this time.

    The problems are mostly on the implementation side. An infinity of small details arise when you dig in this area. Dealing with asynchronous events and orders, timeouts, partial fills, formulating lmt prices, adjusting for decimals and ticksize depending on the instruments, dealing with commissions and spreads, filtering spikes, resampling data feed, charting, backtesting, etc. (please, add!) are just a few of the many things that a developer must become familiar with. And that may take some time.

    (Not to talk about "strategy", which may take whatever.)

    By the way, talking about the .NET framework, let's recall that any language gets converted by CLR (Common Language Runtime) into MSIL (Microsoft intermediate language), which in turns is compiled by the JIT (Just in time translator) into native code, so actually, there, the choice of the language, is (mostly) just a preference matter.

    Tom
     
    #33     Apr 10, 2010
  4. dholliday

    dholliday

    Sorry if I don’t sound somehow correct to you. I’ve had that reaction before, so it must be me. Anyway, I do get tired of people trashing Java on the basis of old information, so I just gave a few examples of why this thinking is not correct. You certainly don’t have to believe me.
    There are also counter arguments to be made for other languages and platforms, so I am not saying Java is the do-all and end-all. In fact Java has become more of a platform running all kinds of languages (just like Microsoft’s CLR).
    If you were to ask my opinion, I would say very generally that if you know C++, program in C++. You already know all the ins and outs of threading , distributed, cross platform, and high performance computing. If you are starting out and want to develop for Microsoft Wiindows you should (opinion here) take a look at C#. If you want to develop cross platform consider the Java platform. Good developers create good software.
    BTW: I’m not Indian (can’t imagine why it matters). I don’t get the strip mall reference (maybe I’m stupid). And though I am a college graduate, I am also as old as dirt and retired.
     
    #34     Apr 10, 2010
  5. You made a few blanket statements like "Java is faster than C++", which is just as bad as the C++ guys trashing Java. There are various reasons especially specific to our domain on why Java will never be faster than highly tuned C++, but there are obvious trade offs.
     
    #35     Apr 10, 2010
  6. thstart

    thstart

    That is probably best explanation about who is using C++.

    If you have the a long years of experience, know the internal CPU working (up to SSE instructions), analysed ASM code generated from different vendors' compilers, know tricks like bitwise computing, memory alignment, instructions pipeline optimizations then the choice is C++ and "intrinsics". That means a deep expertize plus a long time experience.

    Now if we compare with Java or .NET.

    You cannot easily find a lot of programmers with both deep expertise and a long experience, especially if they are young. If you need a lot of them to code quickly that means there must be a trade-off. Java and .NET do a lot in background like memory allocation, garbage collection, JIT, etc. That is OK but adds complexity and it is not always optimal. For example an experienced C++ programmer knows how he can sometimes eliminate a memory allocation.

    So the debate C++ vs. Java or .NET is more about a trade-off and compromise with some of the factors outside the programming.

    Probably the bottom line can be summarized:
    1) Java and .NET - easier to find developers for quick and cheap good enough results. Possibly will need more and expensive servers to run on.
    2) C++ - harder to find developers, longer and more expensive excellent results. Possibly will need less and cheaper server to run on.

    That was a quick estimate.
     
    #36     Apr 10, 2010
  7. Well, it's hard not to agree with you.
     
    #37     Oct 6, 2010