Learning High Frequency Trading

Oct 19, 2019 18 Comments

I’m a SWE looking to gain some understanding and maybe do some side projects in HFT. I’m not looking to transition to a quant job, I’m looking for info on what kind of systems a software engineer at Citadel or 2Sigma works on and some resources on how I can begin learning.

I know HFT involves a lot of high performance C++ and I’d like to use this to gain exposure to that in a meaningful way. I don’t mind if there’s a bunch of math fundamentals standing in the way of implementing quant models, if my interest keeps up I can work through that. Just looking for resources to build up this knowledge assuming I have undergrad level math down.

comments

Want to comment? LOG IN or SIGN UP
TOP 18 Comments
  • Engineers at 2S and Citadel work on garbage systems. I’ve worked on trading systems and they are all shit. Managing order and trade lifecycle is no different than any ticketing system. The rest is just FIX protocol spaghetti code and bad design decisions.

    Any system that needs a ton of business domain requirements baked in is shit and not fun to work on. You will learn nothing of value and your workday will be depressing.
    Oct 19, 2019 8
    • Google
      kagaku

      Go to company page Google

      kagaku
      I'll interpret their statement as extrapolation from others companies then, perhaps BBG, mixed with subjective hearsay. Would you say that the codebase is mostly clean and architecture well-organized at Citadel and 2σ?
      Oct 19, 2019
    • Team dependent like I’m sure it is in most companies. To say that someone will learn nothing of value and will have a depressing workday without knowing anything about the person or the team he’s joining is completely absurd though. There are companies I have had bad experiences at but I wouldn’t dare claim that everyone there is depressed and ignorant.
      Oct 19, 2019
  • You mention "I'm not looking to transition to a quant job" and so I'm gonna take it you're asking solely about the software side of HFT.

    In this case, there is no math involved. The job is literally about designing code that is a fast as possible. So just imagine writing backend code where the only thing you care about is microsecond (and for true HFT, nanosecond) latency. This includes things like: being OK with assembly; minimizing vtable; decent bit of template programming; knowing system architecture (most everyone is on FPGAs); being comfortable with kernels; bit manipulation.
    Oct 19, 2019 4
  • There’s not a lot of business knowledge required - certainly nothing you couldn’t learn on the job. Building software for HFT is very similar to building software elsewhere, we just have somewhat different requirements (performance is much more important, things like user experience and UI are not) and make more money doing it.
    Oct 19, 2019 0
  • Sphera
    ✨sparkles

    Sphera

    ✨sparkles
    Learning financial models would be a good start. Learn how stock prices are moving, what causes the movement up and down. Start higher level with not exactly hft then work your way down.
    Oct 19, 2019 0
  • Two Sigma / Eng
    mgre

    Go to company page Two Sigma Eng

    mgre
    Why do you want to learn about this?

    Getting an hft system to profitability requires a lot of business relationships outside of writing code (eg. connecting to the exchange, financing).
    Oct 20, 2019 1
    • I think it’s a really interesting area with some great, highly sought after career opportunities. I’m not trying to make a system to turn a profit, I understand that that’s likely out of my depth.

      Building a super low latency trading system sounds like a cool way to gain exposure to high performance systems programming. As a backend application developer I don’t get exposure to writing high performance code, so I think this may be a good way to do that.

      Maybe some other system would be a better use of time, but I thought this sounded fun. If you know of any other good project ideas/study areas, I’d gladly look into it.
      Oct 20, 2019