The Complete Guide to Algorithmic Trading
Any strategy that is automated is referred to as algorithmic trading. The growing use of automated trading systems is consistent with the general trend toward automation in many other industries, not just finance.
Algorithmic trading is more than just a faster technique of placing and executing orders. Automation, increased processing power, and new technological advances such as artificial intelligence can help revolutionize the entire research and trading process.
Algorithmic trading strategies employ a rule-based framework that can cover everything from selecting trading instruments, managing risk, filtering trading opportunities, and dynamically adjusting position size.
Algorithmic trading is sometimes referred to as systematic, program, bot, mechanical, black box, or quantitative trading.
Fig 1: The blueprint of a trading algorithm.
What is an Algorithm?
Why use an Algorithm?
How to Test a Trading Algorithm?
Trading Algorithm Risks
What is an Algorithm?
Algorithms (algos) are a collection of instructions used to complete a task. Algorithms are sometimes used to automate trading strategies that a human trader or group of traders could not achieve on their own, usually due to the sheer processing speed required. But that is not always the case, as trading algorithms can also be utilized to cover more instruments and asset classes in longer-term strategies, or simply to remove the element of human emotion from trading.
Whether short-term or long-term, algorithmic trading is a process that sets rules based on quantity, pricing, time, and other mathematical models. Sometimes trading algorithms can be based on machine-learning AI, and these are usually referred to as “black boxes”, since it’s not always clear what the output will be.
A) Basic Definition of Trading Algorithm
Algorithmic trading systems follow logical conditions in the form of code that precisely dictates when, where, and how trades and orders will be placed, managed, and closed.
B) The Characteristics of a Trading Algorithm
- Trades are executed at precious times or under precise rules
- Trading signals can scanned for across multiple asset classes, instruments, and time frames
- Lower chance of human error when executing trades (such as due to a “fat finger” etc.)
- New strategies or changes to current strategies can be backtested using historical data
- The risk of negative emotional and cognitive biases can be reduced, allowing for more focus on data
- Transaction expenses can often be lower (bulk rates)
Why use an Algorithm?
Algorithmic trading has been growing in use since the early 1980s, the first ever strategies in those days relying on punch cards.
While algorithmic trading in the modern era has much faster execution and has led to lower trading costs, critics of algorithmic trading claim it leads to market instability and can cause extreme events like the 2010 ‘flash crash’.
Pros of Trading Algorithmically
One of the biggest advantages of algorithm trading is the capability to detach potentially negatively-impacting emotions from the trading process. Since all decisions taken are limited to a set of predefined and strict rules, automating the process helps prevent the negative outcomes of excessive emotional-based trading which can lead to things such as overtrading.
Trading using algorithms (algos) aids consistency as well. The most challenging part of the trading for many people is preparation and execution. Even if a trading strategy is profitable, failure to follow through with the trading plan can negatively impact PnL and make tracking progress more difficult.
Increases speed & scope of trading
Depending on the trading style, time can be of the essence. For scalping or market making strategies, the sheer speed advantages of algorithmic trading makes it a more more advantageous style of trading than point and click trading. How fast your strategy can send and execute orders simply comes down to the amount of latency and the leanness of your code, not the speed at which you can blink.
The other advantage of algorithmic trading is the amount of markets you can cover. It can be challenging for a single trader or even a team of traders to track every single stock or every single instrument, especially for strategies that are employed across asset classes. Using a trading algorithm means the exact same trading rules can be applied to as many instruments or asset classes as needed.
Cons of Trading Algorithmically
Computers may make less mistakes than humans, but they can still break. Internet connectivity failures, exchange latency, power outages, and computer crashes can all cause catoshropic problems.
Also, any bugs in the code may go unnoticed until it’s too late and an erroneous order has been sent to the wrong market at the wrong size. This is why testing a strategy, both backtesting and forward testing with demo and real accounts can be so vital.
Differences between the strategy and actual results
You may have seen the disclaimer that past results are not indicative of future returns. This is because the markets are constantly changing, and what worked yesterday may not work today.
Risk of over-optimization
Over-optimization, in which traders tinker with every little rule of a trading strategy may end up with results that appear too good to be true—and are.
As mentioned in con number 2, markets are constantly changing, and that means that precise patterns that occurred in the past may never repeat, or at least be too rare to be profitable.
How to test a Trading Algorithm?
Testing a strategy is regarded as a crucial weapon and one of the biggest advantages of algorithmic trading.
Backtesting is the most common way to evaluate the performance of a trading algo. Using a simulator to replay historical data (whether price, order flow, fundamental data, or a combination), backtesting examines the past to see how the strategy or strategies would have performed.
Some traders focus more on forward testing to avoid the risk of over-optimization, as mentioned early. Forward testing is when the strategy is traded in a live market environment (i.e. with current incoming financial data).
Evaluating a trading hypothesis/strategy using historical data is known as backtesting. Most algorithmic traders would not risk their capital in the financial markets if they hadn’t first backtested a strategy.
Backtesting can also be done with Monte Carlo simulations based on historical data to discover how the strategy would have performed in varying probabilistic outcomes.
Traders can use forward performance testing to analyze the system using a different set of sample data. Forward testing puts the system’s logic to the test in real-time.
Forward performance is also referred to as paper trading since all the trades are conducted on paper only, i.e., all trade entries and exits and all profits and losses related to the trading system are logged, but no actual trades are conducted.
The main difference between forward and backtesting is that backtesting is the first stage in analyzing a system’s effectiveness. In contrast, forward testing provides additional results for assessing a trading strategy’s accuracy.
Both backtesting and forward testing can be essential in creating a good trading strategy, and some traders put more importance on one over the other.
Trading Algorithm Risks
Fig 2: Algo trading is not the holy grail and has its own unique risks as compared to other trading approaches.
Drawdown is the maximum trough in the trading strategy’s returns and is a measure of downside volatility.
Commonly expressed as a percentage of capital, every strategy will experience a drawdown of some sort. Even if the strategy is perfectly profitable from the first trade, it is likely that the commission on that trade would result in a small drawdown at the start.
A portfolio (just like an asset) can experience numerous drawdowns over time. The maximum drawdown is the maximum loss from peak to trough, until a new peak is reached.
Fig 3: Drawdown measures the maximum trough to peak of an asset or portfolio’s returns.
Sharpe Ratio Vs. Gain To Pain Ratio
The Sharpe ratio is named after Nobel laureate William F. Sharpe, and is used to measure an asset or strategy’s ROI (Return On Investment) compared to the excess risk taken.
It is a method used in Modern Portfolio Theory (MPT) which makes the assumption that adding assets with low correlations can decrease risk in the portfolio without decreasing return.
Fig 4: The Sharpe Ratio calculation (source: Investopedia)
A higher Sharpe ratio is usually considered better, but the calculation has several flaws. Its biggest flaw is that it punishes upside volatility, since it is based on the assumption that investment returns are regularly distributed.
Many traders, especially with simpler portfolios, prefer the Gain to Pain ratio, developed by popular trading author Jack Schwager. This ratio is calculated by dividing the sum of gains by the absolute value of losses. A Gain to Pain ratio of 1-2 is considered good, more than 2 is excellent, and 3 or more is world class.
Here is an example of monthly returns with a Pain to Gain ratio of 2.05.
Fig 5: The sum of all the monthly returns is 10.74. The absolute value of the losses (-1.80, -1.33, -2.10) is 5.23. Thus the ratio is 10.74 / 5.23 = 2.05 (source: The Systematic Trader).
Unique trading strategies are emerging thanks to new technologies such as machine learning and big data, and algorithmic trading is quickly becoming the norm for the modern era of traders.
There are some risks to this style of trading, as mentioned in this article. But in line with broader industrial trends, financial markets are likely to be dominated by algorithms in the coming years.
With backtesting, forward testing, and automated trading, using with an algorithm allows you to better understand your strategy.
Our cutting-edge platform has a sophisticated API that allows traders and programmers with the right skill set to create an indicator or strategy they can imagine.
You can try it out today for free. Click here to get started.