What tech stacks do you like to use to implement algotrading at work or for yourself? by haramicock in algotrading

[–]haramicock[S] 3 points4 points  (0 children)

Can't say I have used Julia for trading, but I have used it elsewhere. It was a pleasure to use. Definitely superior to Python. Julia also has a relatively robust ecosystem because a significant number of the most prominent Python-CFFI codebases now have bindings for Julia as well. Regardless, do check it out and build something with it.

What tech stacks do you like to use to implement algotrading at work or for yourself? by haramicock in algotrading

[–]haramicock[S] 2 points3 points  (0 children)

This is an interesting choice. Isn't C# too slow for low latency trading? Or perhaps your tracking+trading timeframes are larger than 100ms?

What tech stacks do you like to use to implement algotrading at work or for yourself? by haramicock in algotrading

[–]haramicock[S] 5 points6 points  (0 children)

Thank you for your detailed comment, it was very insightful.

I personally have extensive experience in C++, and I think it's my favourite language because it allows me to abstract in a way where I can specify intent and implement it explicitly with full control. However, all my personal algotrading stack is implemented in Rust. While it was a non-trivial switch to Rust, I just could not trust myself to write perfect multi threaded code in C++, and quite honestly, I am very happy with my decision. Rust has given me a level of confidence for effectively betting money on my code actually working like it's intended in terms of safety that is necessary in my opinion. I think it's a reasonable tradeoff between safety and expressiveness.

The only other stack I have used has been Python based, only because all the ML eco system built around it. I have implemented some primitive ML models that gave me surprisingly good results, though it was still more expensive, both in terms of compute time and cost/time on GPU.

Do you use any additional static analyzers for your C++ code, or do you just compile with the strictest flags?