Anyone use JAVA to develop there automated trading systems?

Discussion in 'Automated Trading' started by sjain100, Dec 31, 2020.

  1. sjain100

    sjain100

    Hello,
    I'm learning to code in JAVA with the plan to create an algo trading system using JAVA + Interactive Brokers API. I would like to know if anyone used JAVA to code there automated trading systems? I mainly hear of people using Python for algo trading. Anyone have experience with JAVA and could point out the pro's/con's of coding a trading system using JAVA vs. Python?
     
  2. sjain100 likes this.
  3. 2rosy

    2rosy

    i do. but java and python are used for different things

    pros: compile time checks, static types, threading.
    cons: slower to develop in than python. i wouldn't use it for analytics
     
    sjain100 likes this.
  4. sjain100 likes this.
  5. I cannot think of much pros for a private trader. you can compile (nuitka) and use threads in python as well. Why make your life difficult?
     
    sjain100 and El Trado like this.
  6. IG Markets
     
    sjain100 likes this.
  7. Snuskpelle

    Snuskpelle

    Java is fine, if not the world's speediest language to write code in. Understand that your choice is going to matter more in terms of JVM vs others (native binary of C/C++, .NET, interpreter or JITs of Python, etc.) On that point, JVM can absolutely perform this task, it's more of an issue about to what degree people working in the same field are using it so that you can get help if needed. Asking or recruiting finance programmers for Python is going to be easier these days.
     
    sjain100 likes this.
  8. ET180

    ET180

    Many years ago, I debated between using Java or C++ to build a trading system. I went with Java although I figured I might be giving up a speed advantage over using C++. I'm really glad that I went with Java over C++. It's just so much easier to debug and integrate 3rd party libraries. I would say use what you feel you can program most efficiently. If speed is an issue, worry about that later. Most likely your network latency will be a much bigger issue that code execution latency if execution speed is an issue at all (I suspect it won't be).
     
    Ninja, Spaghetti Code, yc47ib and 2 others like this.
  9. I have my automated trading system written in Java, and am using IB as broker. I started investigating this API when IB didn't yet have a Python API, so I "automatically" ended up with Java. I'm glad I did because somehow I have difficulties in reading and understanding Python code.
     
    Ninja and sjain100 like this.
  10. sef88

    sef88

    If it's not HFT, python is so much easier.
     
    #10     Jan 1, 2021
    sjain100 likes this.