The best coding languages to learn for traders in banks, hedge funds and HFT firms (2024)

Trading has changed a lot. In the past pit traders had to have a loud voice, sharp elbows, and the ability to do arithmetical calculations in their heads at lightning speed; perhaps with some help from a prehistoric handheld calculator. Geeks were not welcome.

Things are very different today. The trading floors have mostly been replaced by virtual exchanges, and many of the traders have been superseded by black box algorithims.

So is it still possible for a technophobe to work in trading, or is an expertise in at least one programming language absolutely necessary?

The answer depends mostly on what type of trading you are doing. Thanks to the Volcker Rule, proprietary ('prop') trading on the sell-side (ie. in investment banks) is a thing of the past, so sell-side traders are engaged in market making or dealing with client flow. In most asset classes market making is entirely automated. Fewer traders are required, and most of those that are left will be writing code. Here speed is of the essence, and only languages like C++ and perhaps Java are fast enough.

The pricing and hedging of client deals is still done by actual people in most banks, but it depends on the sophistication of the underlying product. More exotic instruments still require the human touch. Valuations of highly bespoke trades are likely to be done in hastily constructed spreadsheets. A good working knowledge of the Visual Basic that underpins many of these spreadsheets is more useful here than a Phd in software engineering.

Meanwhile on the buy-side traders can broadly be divided into three categories: quantitative strategy traders, execution traders, and high frequency traders.

Traders developing quantitative strategies may be employed on the 'buy-side' by hedge funds or more traditional asset managers, and their role blurs into that of quantitative portfolio managers. Their job is to design strategies that will trade systematically (ie. using computer models, with minimal human intervention.) Coding skills are vital here to comb through large amounts of data and to create prototype strategies for testing new ideas.

Python is the preferred language of many quantitative traders because of the extensive availability of packages for data analysis, like SciPy and Pandas. R is also popular as it’s the default used for statistical analysis in many university courses. With such good open source languages around, commercial alternatives like Matlab are no longer in vogue.

Execution traders on the buy-side have the job of implementing the portfolio rebalancing decisions made by quantitative strategies or old fashioned portfolio managers. They achieve this in several different ways: by outsourcing to third party execution algorithms (algos) provided by banks, developing their own algos, or by manual trading (which still outperforms algos in certain markets). The coding skillset needed to develop your own algos overlaps with that of buy side market makers.

In any case, where multiple routes to market are used in house execution desks will need to constantly evaluate the efficacy of each algo or warm-blooded human trader. This requires data analysis and coding skills very much like those of quantitative traders.

Lastly, high frequency traders have a similar job to other quantitative traders, but at much shorter time horizons. This means they’re dealing with very large data sets. Here. familiarity with the Hadoop ecosystem becomes vitally important. Python is still popular in high frequency trading (HFT), but newer languages like Go are better suited for concurrent processing of big data sets.

Once a strategy is created then as a high frequency trader you are dealing in very short time scales, and minimising latency is key. As with buy side market makers C++ is probably the only high level language that’s quick enough, but to get a real edge you will probably need to dive down into assembly language and have a deep understanding of computer networks and hardware.

However, if you’ve only got time to learn one programming language then Python is probably the most versatile. As it’s widely used in other industries it also makes a great plan B if you never make it as a trader. - And there are plenty of those.

Robert Carver has worked on the sell side - as an options trader - and on the buy side: he is a former head of fixed income at quantitative hedge fund AHL, and the author of 'Systematic Trading' and 'Smart Portfolios'. He still owns a handheld HP17B calculator.

Have a confidential story, tip, or comment you’d like to share? Contact: sbutcher@efinancialcareers.com

Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)

Photo by Markus Spiske on Unsplash

The best coding languages to learn for traders in banks, hedge funds and HFT firms (2024)

FAQs

The best coding languages to learn for traders in banks, hedge funds and HFT firms? ›

C++, a middle-level programming language, is a blessing for traders as the components of High-Frequency Trading (HFT), which are latency-sensitive, are usually developed in C++. This is because C++ is extremely efficient at processing high volumes of data.

What is the best programming language for hedge funds? ›

Python, MATLAB and R

All three are mainly used for prototyping quant models, especially in hedge funds and quant trading groups within banks. Quant traders/researchers write their prototype code in these languages. These prototypes are then coded up in a (perceived) faster language such as C++, by a quant developer.

What programming languages are used in HFT? ›

However, a commonly favored option is C++.
  • C++: It's a go-to language for HFT due to its ability to run close to the hardware level, minimizing latency. ...
  • Java: Some firms also use Java, especially when they need to balance performance with development speed.

What is the best programming language for banking? ›

8 most popular programming languages used in banking/finance
  • COBOL. COBOL is a legacy language that has been used for many years as the foundation of banking systems. ...
  • C# C# is a high-level object-oriented language created by Microsoft. ...
  • C/C++ ...
  • JAVA/ SPRING. ...
  • JAVASCRIPT/ ANGULAR.JS. ...
  • PYTHON. ...
  • GO.
  • RUST.
Jan 23, 2023

What is the best language for traders? ›

Different Languages for Different Trading? Speed is of the essence in sell-side trading, so the programming languages like C++ and Java are the best fit in these cases. However, Python is the preferred language for most quantitative traders because of the availability of packages specifically for data analysis.

Top Articles
Latest Posts
Article information

Author: Terrell Hackett

Last Updated:

Views: 6542

Rating: 4.1 / 5 (72 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Terrell Hackett

Birthday: 1992-03-17

Address: Suite 453 459 Gibson Squares, East Adriane, AK 71925-5692

Phone: +21811810803470

Job: Chief Representative

Hobby: Board games, Rock climbing, Ghost hunting, Origami, Kabaddi, Mushroom hunting, Gaming

Introduction: My name is Terrell Hackett, I am a gleaming, brainy, courageous, helpful, healthy, cooperative, graceful person who loves writing and wants to share my knowledge and understanding with you.