Of course, a question like that is very subjective as it almost entirely depends on the nature of the quant role, since each language serves a different purpose.
However, in my opinion, it’s C/C++.
This article is based on the below Twitter poll:
Which programming language do you think is the most important to learn if one wants to be a Quant?
If not listed below, specify which one in the comments 👇
— Sergei Perfiliev (@perfiliev) August 17, 2021
The poll received 970 votes, with Python being a clear winner.
I thought I’ll add my 2 cents on the subject too.
I would’ve voted for C/C++.
I wouldn’t even consider Python because Python should be a given if you’re looking for a technical (especially a quant) role. It’s like being able to use a computer or Excel.
Although, if you’re just starting with programming, Python is an excellent language for beginners.
With so many packages and libraries available, you can keep it as simple or make it as complex as you wish.
Having said that, if the focus is on quantitative finance, I’d recommend C++ above other languages.
First of all, C++ is quite a complex beast and touches upon many interesting concepts/ideas in software development that Python just sweeps under the carpet.
Since it’s relatively low-level, C++ forces one to think a lot harder about how to approach this or that problem.
Inevitably you become familiar with things like design patterns, memory management, pointers, classes, data structures etc.
In my opinion, getting your head around these things is a big plus (no pun intended) and looks good on the CV.
In terms of applications, C++ is a compiled language, and it is fast.
It’s heavily used as a backbone for derivatives pricing, numerical calculations, GPU programming, and other computationally heavy tasks.
It is also scalable/extendable, and C++ is often found at big corporations that develop large enterprise systems.
Many sell-side banks have picked C++ for their quant libraries, and this is reflected in their quant job descriptions.
Another language frequently used by investment banks is Java.
Even though it tends to sit more on the Tech/Engineering side of things, Quants may be expected to program in Java as well.
Regarding Matlab, R and Python – they are perfect for research, prototyping and statistical work.
These tasks tend to find themselves more frequently in academia and on the buy-side.
For example, things like time-series analysis, machine learning, optimal portfolio optimisations, algo trading etc., are more common within hedge funds than in banks.
And if that’s what you’re targeting, then it might make sense to learn these technologies.
At the end of the day, every language is just a tool to get the job done.
It really doesn’t matter which languages you know, as long as you know a few.
Software devs generally are very flexible, and can easily pick up new languages/technologies if needed.
Hence, if you’re familiar with a few common languages and programming concepts (i.e. SDLC, version control, data structures, algorithms etc.), you should be good to go.
Thank you so much for taking the time to read this!
If you want more content at the intersection of finance, maths and technology, feel free to give me a follow on Twitter: https://twitter.com/perfiliev
I recently started a YouTube channel, where you can expect educational and entertaining videos covering various topics within the world of the financial markets.
If that sounds interesting, it would be great to have you with us!
You can subscribe here:
This article is also avaialble as a Twitter thread:
We're got a lot more exciting stuff coming up and we'd love to tell you about it.