Like many other jobs, the advancement of technology is slowly shifting the skill sets needed for traders. As a trader, you will likely be heavily involved in quantitative trading – which includes high-frequency trading and algorithmic trading. With so many free courses on programming languages online, you will be hard-pressed to find someone who doesn’t know anything about programming.
This means that you will be on the losing end when you are looking for a job in trading if you do not upgrade yourself. As such, we have compiled five programming languages that are commonly used in algorithmic trading, and where you can learn them.
C++ is a middle-level programming language. Components of High-Frequency Trading (HFT) that are latency-sensitive are usually developed in C++ because it is most efficient at processing high volumes of data. Furthermore, C++ is used for many banks’ legacy systems. Switching to a new language and programme will require huge amounts of resources to be spent, so demand for C++ developers is here to stay.
Free websites like LearnCpp.com and SoloLearn provide good introductory tutorials to C++. Note that C++ has a steep learning curve as is it built on C, so it would be easier to learn if you have prior knowledge of C.
It has been reported that Java is the most sought after programming language on Wall Street. Java is largely used for data modelling, simulations, and low latency execution (although there is a debate on whether Java or C++ is more useful in HFT).
If you want to pick up basic Java programming, you can try Java Tutorial for Complete Beginners for free or check out this Code Academy course. However, if you are someone who is completely new to programming, Java might not be a good language to start with as it is more complex, thus harder to pick up.
The difference between C# and C++ is that the former was designed to be a higher-level component-oriented language, while the latter is a low-level platform-neutral object-oriented programming language. In fact, C# actually shares more similarities with Java than with C++, despite their names. C# and Java are thus used for the same functions in trading.
The free C# Fundamentals for Absolute Beginners course by Microsoft Virtual Academy is a good place to start. Another recommended course is Udemy’s S$28 C# Basics for Beginners, with a rating of 4.7/5. Udemy also has C# courses for intermediate and advanced students.
Python is slower than C# and C++, but is widely used in quant trading because it is a high-level language. Research and prototyping are carried out much more easily due to Python’s high-performing libraries. Furthermore, it is beginner-friendly, hence easier for traders to pick up.
DataCamp’s Intro to Python for Data Science does a good job of introducing the basics of Python. Learn Python The Hard Way is also a good resource for learning Python. Once you have mastered the basic syntax, head over to this interactive Python Riddle to get comfortable with using it!
R is an open source programming language primarily used in statistics and data analytics. Any good trading algorithm has to be extensively tested using sample data. R allows designing of programs that generate trading signals and maximise strategy’s returns.
There are numerous free online sources available to learn R. DataCamp’s Model a Quantitative Trading Strategy in R teaches R with a focus on trading, while Coursera’s specialisation is a more general introduction to using R for data analytics.
The 10,000 Hour Rule says that one needs to practice for 10,000 hours to be decent at your field. To properly pick up any programming language, you will definitely have to put in extra effort, be it setting aside time every single day to learn and practice, signing up for classes, or participating in problem-solving events. The learning curve for some languages may be very steep, but that is no reason to give up on learning a new skill.
Listen to our podcast, where we have in-depth discussions on finance topics that matter to you.