Back to Community
Programming Language

I'm assuming Quantopian went with Python because of the readability. However, I was wondering for the experienced traders surfing this site, what kind of languages do most trading firms program in?

As a corollary to that, if one doesn't have an extremely strong programming background (e.g. not comp sci major), what kind of entry level positions would be available for aspiring traders?

5 responses

Hi Tin

Python is certainly readable and very accessible to new programmers, which are both pluses for new coders coming to algorithmic trading and to the Quantopian platform. However, I suspect Python was also chosen by the Quantopian team because it has gained significant traction in the quant finance community over the last few years as a challenger to the hitherto dominant combinations of C++, Java, Matlab & R.

(While C++ and Java are great general purpose programming languages, and R and Matlab are essential for stats and math, Python has the benefit of being a superb general purpose programming language (better than R & Matlab imo) and the scientific Python stack offers powerful tools for the types of statistical analysis that quants finance employs; perhaps the best of both worlds and hence explaining its strong uptake?)

So, while its true that at the moment most trading firms will probably conduct any serious research in Matlab (or R) and then implement trading algos in C++ or Java (bear in mind these are usually two different jobs in firms of any significant size), I would recommend a good working Python knowledge to any aspiring quant trader as a useful skill.

In terms of entry level positions for aspiring traders, it will depend on what type of trading firms you are looking at. If you are looking for a role as a trader at a quant firm it would be strange if your background hadn't exposed you to at least some coding (i.e. via your relevant engineering, mathematics, comp sci, econometrics, or science degree - typical requirements...) but this doesn't mean you have to have an extremely strong programming background. Traders in such firms are often more concerned with effective execution, managing risk and monitoring the market than writing the code that drives the algos. Entry level positions that end up in such trading roles, usually start as desk assistants handling general tasks and move up as confidence/exposure is gained.


Quants will be developing their ideas in in MatLab or R quite a lo and maybe coding in C++ or Java for production. Part of it is about looking good on the CV. For that reason they will be using Haslkell and Erlang, and if they are really leading the way, Julia. There is a lot of predudice against Python - but I'm beginning to realise that Python + numpy + pandas + iPython + Pytables can offer massively parallel computations on huge time-series. Which is why those tools are used at places like CERN.



Thanks, Tim and Peter.

Peter, I have never heard of half the programming languages you just mentioned....Is this Jane Street/Citadel-level trading or is it pretty common at most prop shops nowadays?

@ Peter Cawthron
Yes Python is amazingly fast when combined with Numpy,Pandas as well as Cython, But I am wondering that when most of the times in Trading-Algorithms decisions are being taken using if-else and 'for loop' statements where Python lags because of type checking or reference-counting, would not that be great if Traders or Programming-Hackers turned to wana be traders could use C or language like "Julia" on Quantopian Platform? Or there is way we can use Julia or Cython with Quantopian?

Hello Arshpreet -

Python is the only language supported on Quantopian.