Algorithmic Trading – A complete guide

What is algorithmic trading?

 

Algorithmic Trading in simple words is to use computer programs to automate the process of trading (buying and selling) financial instruments (stocks, FX pairs, Cryptocurrency, options). These computer programs are coded to trade based on the input that has been defined for them. Inputs could be based on the aimed strategy to take advantage of different market behaviors such as the specific change of a price could trigger the algorithms to make some specific trades, or other factors like volume, time or sophisticated algorithms that trade based on trading indicators. 

Algorithmic trading strategies and backtesting

 

Almost all trading ideas are first converted to a trading strategy and coded into an algorithm that then comes to life and ready for execution. Most algorithmic trading strategies are created on the basis of wide trading knowledge on the financial market combined with quantitative analysis and modeling, later the strategies are given to quants programmers who will convert the strategy to executable algorithms. 

 It is widely common to perform testing on trading strategies before they go live on the market, this practice is known as Backtesting. This is where the algorithm is being tested on historical data to check the algorithm and apply further modifications. 

The main idea behind Backtesting is to evaluate the performance of the algorithmic strategy to see if the strategy is behaving the way it was programmed and check the profitability of it using real market data. 

For more sophisticated algorithms and firms with more advanced tools, algorithmic strategies perform on what so-called paper trading, where the strategy performs virtual trading without committing any commercial value (trading without money). 

The most popular programming languages used to write algorithmic trading strategies are JAVA, Python, and C++. Matlab is also a good tool with a wide range of analytic tools to plot and analyze algorithmic strategies. 

Who uses algorithmic trading?

 

By far the most common fans of performing trades algorithmically are larger financial institutions as well as investment banks alongside Hedge Funds, pension funds, broker-dealer, market makers. 

 

Some well-known algorithmic strategies:

 

On a broad sense most commonly used algorithmic strategies are Momentum strategies, as the names indicate the algorithm start execution based on a given spike or given moment. The algorithm basically detects the moment (e.g spike) and executed by and sell order as to how it has been programmed. 

One another popular strategy is Mean-Reversion algorithmic strategy. This algorithm assumes that prices usually deviate back to its average. 

A more sophisticated type of algorithmic trading is market making strategy, these algorithms are known as liquidity providers. Market Making strategies aim to supply buy and sell orders in order to fill the order book and make a certain instrument in a market more liquid. Market Making strategies are designed to capture the spread between buying and selling price and ultimately decrease the spread. 

Another advanced and complex algorithmic strategy is Arbitrage algorithms. These algorithms are designed to detect mispricing and spread inefficiencies among different markets. Basically, Arbitrage algorithms find the different prices among two different markets and buy or sell orders to take advantage of the price difference. 

Among big investment banks and hedge funds trading with high frequency is also a popular practice. A great deal of all trades executed globally is done with high-frequency trading. The main aim of high-frequency trading is to perform trades based on market behaviors as fast and as scalable as possible. Though, high-frequency trading requires solid and somewhat expensive infrastructure. Firms that would like to perform trading with high frequency need to collocate their servers that run the algorithm near the market they are executing to minimize the latency as much as possible. 

Algorithmic Trading Software

 

Based on the given use case like the size of orders, customizability and experience level there are options available for algorithmic trading software. Larger firms like hedge funds, investment banks or proprietary trading firms use rather more tailored custom-built and advanced tools. When it comes to more individual traders or quants with less capital to trade they will rather use more readymade algorithmic strategies, some on the cloud, some stand-alone. 

The most common features of algorithmic trading software are ways to analyze profit/loss of an algorithm on a live market data. There are different protocols available to get, process and send orders from software to market, such as TCP/IP, webhooks, FIX and etc. One important factor for this data processing from receiving to processing and pushing order is measured with latency. Latency is the time-delay introduced to the movement of data from points to points. Considering the changes in price in the market the lower obtained latency the better software reacts to market events hence a faster reaction. 

Backtesting is another useful feature that should be included in algorithmic trading software, usually, this software allows traders to apply their algorithmic trading strategies and test it with historical data to evaluate the profitability of their strategies. 

Pros and cons of algorithmic trading

 

Just like any other choice, there are pros and cons to using algorithmic trading strategies and automating the process of trading. Let’s get down with the pros. Based on many expert opinions in investments human emotions could be toxic and faulty when it comes to trading, one perhaps most acknowledged pros of Algorithmic Trading is taking away human emotions and errors out of trading.

Another huge advantage of algorithmic trading is the increase of speed in action of execution to the market as well as possibilities to test strategies using Backtesting and paper-trading in a simulated manner. Testing algorithmic strategies determine the viability of the idea behind trading strategies.

Another vastly discussed advantage of algorithmic trading is risk diversification. Algorithmic trading allows traders to diversify themselves across man accounts, strategies or market at any given time. The act of diversification will spread the risk of different market instruments and hedge them against their losing positions. 

Making trading automatically using algorithmic trading decreases the operational costs of performing large volumes of trade in a short period of time. 

There are also a few other advantages such as automation in the allocation of assets, keeping a consistent discipline in trading and faster execution.

Now let’s get on with some of the cons of using algorithmic trading. Perhaps one very discussed issue with using algorithmic trading is constant monitoring of the strategies which to some traders could be a bit stressful since the human control in algorithmic trading is much less. Though it is widely common to have lost control features included in strategies and algorithmic trading software (automated and manual ones). 

For most individual traders having enough resources could be another disadvantage of algorithmic trading. The algorithmic trading itself reduces the cost of executing large orders but it could come expensive as it requires initial infrastructure such as the software cost or the server cost.

 

Pros Cons
Emotionless trading Needs for monitoring 
Less error Technological infrastructure 
Higher trading speed Programming skills required for updating strategies
Backtesting and paper trading
Risk diversification 
Lower operational costs 
Consistent trading discipline 

 

Algorithmic trading in Cryptocurrency

 

Unlike more mature instruments like stocks, options or CFDs, the Cryptocurrency market is quite volatile. Typically higher volatility leads to more frequent jumps in the price of instruments, higher and lower. Hence, some professional traders find this amusing and opportunistic to make the most of the profits.  

Generally, for Cryptocurrency traders, there are plenty of cloud-based solutions using trading bots, though for very professional and institutional traders this may not flexible enough. There are few algorithmic trading platforms for cryptocurrencies which can utilize the need for more sophisticated and institutional traders. 

 

Algorithmic Trading Trends:

 

On average 80% of the daily traders across the US are done by algorithmic trading and machines. Though the volume of the algorithmic trading can change based on the volatility in the market. According to J.P. Morgan, fundamental discretionary traders are accounted for only 10% of trading volume in stocks. This is the traditional way of checking the companies business performance and their outlook before deciding whether to buy or sell a position. 

 

The growth in the number of algorithmic trading since last year comes close to 47% and there is 41% growth in the number of users executing their trades algorithmically. Mobile also plays an important role in the tools provided there is around 54% growth in trading FX algorithmically using mobile devices. 

New technologies, Artificial Intelligence, Machine Learning, Blockchain:

 

According to another J.P. Morgan research, Artificial Intelligence and Machine learning are predicted to be the most influential for shaping the future of trading. Based on this analysis Artificial Intelligence and Machine Learning will influence the future of trading by 57% and 61% in the next three years.  

Interestingly this report states that Natural Language Processing alone will count to 5% of the change in the next 12 months and up to 9% in the next three years. 

J.P. Morgan report shows that around 68% of the traders believe that Artificial Intelligence and Machine Learning provide deep data analytics. Around 62% believe that Artificial Intelligence and Machine Learning optimize trade execution and 49% of traders believe that Artificial Intelligence and Machine Learning represents an opportunity to hone their trading decisions. 

The same report indicates that Blockchain within the next 12 months will influence the trading up to 9% and 19% within the next three years. Within the same report, the usage of mobile trading applications is to influence the trading market up to 28% within the next 12 months and 11% within the next 3 years.