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 is rapidly spreading in the developing economies. It is essential to learn algorithmic trading to trade the markets profitably.
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. There is often a lot of confusion between algorithmic trading, automated trading, and HFT (high-frequency) trading. Let us start by defining algorithmic trading first.
Algorithmic Trading – Algorithmic trading means turning a trading idea into an algorithmic trading strategy via an algorithm. The algorithmic 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 an algorithmic trading strategy.
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 the 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 aspiring algorithmic trader ought to focus on to learn algorithmic trading. We also present our readers with a comprehensive picture of the different ways and means through which these essential skill sets can be acquired.
Algorithmic trading is a multi-disciplinary field which requires knowledge in three domains, namely,
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 algorithmic 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 and 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:
Getting started with books
Algorithmic trading books are a great resource to learn algo 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 of 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.
In addition to the algorithmic trading 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 and 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, algorithmic trading 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 coursework.
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 and Pricing Models. For learning quantitative trading, what is also required is the implementation of these skills/theories on actual market data under a 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.
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!!
Frequently Asked Questions about the Future of Algorithmic Trading Here are some of the most commonly asked questions which we came across during our Ask Me Anything session on Algorithmic Trading.
Question: How to go step-by-step to algorithmic trading from 0 to 90? Reply: So if you are starting from 0 the key things to note here is that algorithmic trading typically would have 3 major pillars which the whole algo at quant trading stands on.
If your knowledge in all these three domains is 0 then the first thing will be to learn about it. There are a lot of resources available out there. Even on the QuantInsti’s website, there are a lot of resources that are freely available to start with and then progress towards automating.
In case you are new to trading strategies then learn about them, if you are already a trader but are looking at automation then you can use some broker API and start automating your strategy but if you are already doing that in that case you can move ahead and get a medium frequency trading strategy and code it on a vendor platform or if you are an expert programmer yourself or you have a team of expert programmers then you can build your own API as well and build your own trading platform as well. You can code your strategy on that platform and if everything is well set then as an institution or a prop house you can venture out in the high-frequency domain.
That’s typically 0 to 90.
Question: I’m a trader but I don’t know how to programme. How should I get started with Algorithmic Trading? Reply: The good part is for most of the tasks that you would need to do in algorithmic trading, you don’t need hardcore programming expertise in the languages like C++ or C, but if you have that, that’s great but even if you don’t have that or have a decent understanding of languages like Python, that also works.
Python in the last 5 years has come up like anything. So if you know a bit of Python but not C++ or Java that also works but you do need to know a bit or you will be handicapped.
Another good part is we have seen so many people who do not have a programming background but have been able to pick up programming languages like Python with much more ease in comparison to the difficulty they use to face with C++ or Java. Though, it will need a lot of effort, time and commitment on your side if you have never done programming in your life before.
Question: Can EPAT help me to develop all the three skills (Statistics & Econometrics, Financial Computing and Quantitative Trading Strategies) to become an algorithmic trader? Reply: Yes, definitely! It does.
Question: How comprehensive is the EPAT programme? Would I get profitable strategies from EPAT? Reply: I think it’s quite comprehensive. The interesting part about EPAT is that we start right from the basics for each of these pillars of quantitative and algorithmic trading which we have discussed few times in the earlier questions. But it goes up pretty fast and does touch upon a decent number of advanced topics and more in depths topic on the statistical way of trading. Another interesting part is that most of the EPAT faculty members are practitioners, which means you learn things more from practical orientation point of view, the theory at times is required and has to be covered but there is a certain level of practical touch we try to maintain.
We don’t claim on giving profitable strategies to our students. It’s not that we give you 10-20 strategies and you trade with them while making a lot of money, that’s definitely not the idea of the programme.
The thing is if there is a strategy that works for you, it might not work for me. I might have a different infra, different setup, different risk tolerance, different system, there are too many variables that are out there. So it’s not about profitable strategies but how to model those strategies, coming up with strategy ideas and testing them out, optimizing them, implementing them and the complete flow. The idea is that by end of the course you should be able to create hundreds of your own trading strategies and then it’s up to you, what you implement and what you don’t. So it’s more about the power of knowledge than the power of strategies.
Question: Do you provide professional alumni social network? Reply: We are in process of building a community right now which is exclusive for all the EPAT participants and the alumni. So there are two things, one which is exclusive for them that comes with a lot of things with it and one which is already open for all but we are improving it a bit for an enhanced experience, which will be coming this year itself.
This article gives an overview of algorithmic trading, the core areas to focus on, and the resources that serious aspiring 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!
Check out this story of an aspiring Algorithmic trader who completed her MBA in Finance and learn what inspired her to opt for the Executive Programme in Algorithmic Trading (EPAT) to become a successful Algorithmic trader.
Also, you can check out our short course on ‘Getting started with Algorithmic Trading‘, it covers all basic concepts of algorithmic trading including strategy paradigms, trading platforms, programming languages and you’ll also learn how to set up your own Algo trading desk. This course will also give you a joint certificate from Quantinsti and MCX.