With the boom in technological advancements in trading and financial market applications, algorithmic trading and high-frequency trading is being welcomed and accepted by exchanges all over the world. Within a decade, it is the most common way of trading in the developed markets and rapidly spreading in the developing economies.
For beginners who want to venture into algorithmic trading, this article will serve as a guide to all the things that are essential to get you trading the algorithmic way. Let us start by defining algorithmic trading first. There is a lot of confusion between algorithmic trading, automated trading, and HFT (high-frequency) trading.
Difference between Algorithmic trading, Quantitative trading, Automated trading and High-Frequency trading
Algorithmic trading – Algorithmic trading means turning a trading idea into a trading strategy via an algorithm. The trading strategy thus created can be backtested with historical data to check whether it will give good returns in real markets. The algorithmic trading strategy can be executed either manually or in an automated way.
Quantitative trading – Quantitative trading involves using advanced mathematical and statistical models for creating and executing trading strategies.
Automated trading – Automated trading means completely automating the order generation, submission, and the order execution process.
HFT (high-frequency) trading – Trading strategies can be categorized as low-frequency, medium-frequency and high-frequency strategies as per the holding time of the trades. High-frequency strategies are algorithmic strategies which get executed in an automated way in quick time, usually on a sub-second time scale. Such strategies hold their trade positions for a very short time and try to make wafer-thin profits per trade, executing millions of trades every day.
An important point to note here is that automated trading does not mean it is free from human intervention. Automated trading has caused the focus of human intervention to shift from the process of trading to a more behind-the-scenes role, which involves devising newer alpha-seeking strategies on a regular basis.
In the past, entry into algorithmic trading firms used to be restricted to PhDs in Physics, Mathematics or Engineering Sciences, who could build sophisticated quant models for trading. However, in recent years there has been an explosive growth of online education industry, offering comprehensive algorithmic trading programs to wannabe algorithmic traders. This has made it possible to get into this domain without having to go through the long (8-10 years) academic route.
In the sections below, we outline the core areas that any wannabe algorithmic trader ought to focus on. We also present our readers with a comprehensive picture of the different ways and means through which these essential skill sets can be acquired.
Step 1: Core areas
Algorithmic trading is a multi-disciplinary field which requires knowledge in three domains, namely,
- Quantitative Analysis/Modeling
- Programming Skills
- Trading/Financial Markets Knowledge
If you are a trader who is used to trade using fundamental and technical analysis, you would need to shift gears to start thinking quantitatively. Working on statistics, time-series analysis, statistical packages such as Matlab, R should be your favourite activities. Exploring historical data from exchanges and designing new trading strategies should excite you. Problem-solving skills are highly valued by recruiters across trading firms.
A professional coder/developer in a trading firm is expected to have a good fundamental knowledge of financial markets such as types of trading instruments (stocks, options, currencies etc.), types of strategies (trend following, mean reversal etc.), arbitrage opportunities, options pricing models, risk management. This knowledge will be crucial when you interact with the quants and will help in creating robust programs.
View some popular algo strategies here -> Algorithmic Trading Strategies, Paradigms and Modelling Ideas
The strategies created by the quants are implemented in the live markets by the programmers. If you want to excel in the technology driven domain of automated trading, you should be willing to learn new skills and you shouldn’t be disinclined to any field. So if you have never printed “hello world” by compiling your own coding program, it’s time to download the compiler of your interest – C++/Java/Python/Ruby and start doing it! The best way to learn to program is to practice, practice and practice. Sound knowledge of programming languages like Python/C++/Java/R is a pre-requisite for a quant developer job in trading firms. You can read a couple of our popular blog posts on Programming below:
Step 2: Ways to become an Algo trading professional
Getting started with books
Books are a great resource to get started in algorithmic trading. You will find many good books written on different algorithmic trading topics by some well-known authors. As an example, to hone your knowledge in derivatives, the “Options, Futures, and Derivatives” book authored by John C. Hull is considered a very good read for beginners. For algorithmic trading, one can read the “Algorithmic Trading: Winning Strategies and Their Rationale” book by Dr. Ernest Chan.
Find a list of good reads here -> Essential Books on Algorithmic Trading
In addition to the books, beginners can follow various blogs on algorithmic trading; watch YouTube videos, catch trading podcasts (e.g. Chat with Traders), attend online webinars (list of webinars hosted by QuantInsti), or get registered on platforms like quantiacs, quantopian to learn to code. One can also register for the free courses that are available on various online learning portals like Coursera, Udemy, Udacity, edX, & Open Intro.
Although these free resources are a good starting point, one should note that some of these have their own shortcomings. For example, books do not give you a hands-on experience in trading. Free courses on online portals can be subject specific and may offer very limited knowledge to serious learners. Another important point to note is the lack of interaction with experienced market practitioners when you opt for some of these free courses.
Learn from Professionals/Experts/Market Practitioners
The building blocks in learning Algorithmic trading are Statistics, Derivatives, Matlab/R, and programming languages like Python. It becomes necessary to learn from the experiences of market practitioners, which you can do only by implementing strategies practically alongside them. You can join any organization as a trainee or intern to get familiarized with their work ethics and market best practices. If it’s not possible for you to join any such organization then you can opt for classroom courses/workshops or paid online courses. Most of the classroom courses/workshops are delivered in the form of 2 days to 2 weeks long workshops or as a part of Financial Engineering degree programs. On the online front, there are online learning portals such as QuantInsti, Coursera, Udemy, Udacity, edX, & Open Intro, they have expert faculty from mathematics and computer science backgrounds who share their experiences and strategy ideas/tactics with you during the course.
Keeping in mind the need for an online program for working professionals, we at QuantInsti™, offer a comprehensive hands-on course called Executive Programme in Algorithmic Trading (EPAT™). The salient features of the course are listed in the table below. The objective of the course is to make students market ready upon successful completion of the course work. For those who want to learn high-frequency trading, there are limited dedicated resources to do the same.
It is often seen that students who would like to get placed in high-frequency trading firms or in quantitative roles, go for MFE programs. Most of the MFE programs give a very good overview of mathematical concepts including Calculus, PDE, pricing models. For learning quantitative trading, what is also required is the implementation of these skills/theories on actual market data under simulated environment. It is always better to get trained by practitioners and traders themselves if the aim is to go out there and make some money! However, if you would like to pursue research in these fields, then taking a more academic path is recommended.
Step 3: Get placed, learn more and implement on the job
Once you get placed in an algorithmic trading firm, you are expected to apply and implement your algorithmic trading knowledge in real markets for your firm. As a new recruit, you are also expected to have knowledge of other processes as well, which are part of your workflow chain.
As an example, firms which trade low latency strategies will usually have their platform built on C++, whereas in trading firms where latency is not a critical parameter, trading platforms can be based on a programming language like Python. Thus, it becomes essential for wannabe and new quant developers to have an understanding of both the worlds.
New recruits working on specific projects may be given a brief training to get a good grasp on the subject. Trading firms usually make their new recruits spend time on different desks (e.g. quant desk, programming, risk management desk) which give them a fair understanding of the work process followed in the organization. To put it in subtle words, learning in the algorithmic world never stops!!
This article gave an overview of algorithmic trading, the core areas to focus on, and the resources that serious wannabe traders can explore to learn algorithmic trading. So, if you wish to master this new domain and build an exciting career in algorithmic trading start learning today!
If you want to learn more about Executive Programme in Algorithmic Trading (EPAT™) you can contact us here. We will be glad to address any queries that you have regarding the course or on algorithmic trading in general. Contact us.