How to Start Algo Trading
Algorithmic trading is the process of programming computers to trade on your behalf. Because algo trading involves computers, you should be familiar with computer-based trading or at least not be afraid to master new skills along the way.
How to get started with algo trading
Before you can use algorithmic trading, you first need a trading strategy. Therefore, you first need the technical and financial knowledge to identify a sound strategy for trading. Once you identify a trading strategy, you can use algo trading to implement that strategy through an automated process.
Now that you understand what algo trading is, let’s talk about how you can implement your knowledge and automate the trading process.
What do you need to start algorithmic trading?
Hardware & Software. Algo trading is computer-based, meaning, to benefit from this new technology, you need a PC or laptop, remote server hosting, cloud storage to back up data in case of emergency, a stable internet connection, and an extra power supply. You may also need special software (we’ll talk about this later).
Platform & Data. If your broker doesn’t provide a built-in trading platform, you will likely need to pay extra for one. The same goes for market data. Some brokers provide inadequate data, while others don’t even offer live or historical data. Because algo trading is heavily reliant on data and information, you will want to work with a good data provider.
Capital & Knowledge. As with other trading strategies, you need knowledge and trading capital. The size of your capital investment will vary depending on your financial situation, goals, and algo trading strategy. As for knowledge, the more financial and technical skills you have, the more prepared you will be for trading.
Algorithmic trading software
As you can guess from the name, you'll need an algorithm to start algo trading. In the trading community, these algorithms are called trading robots, or “bots” for short. There are three ways to get an algorithmic trading bot:
Create a trading bot from scratch
You can use APIs to establish your own automated trades, create algorithms, etc.
APIs allow secure and reliable trading as long as you understand how to set them up. The advantage is that you gain complete control over your bot and its functionality. However, this is only a good option for those with advanced technical knowledge. If you aren’t prepared to deal with the technical aspects of bots, creating a bot from scratch isn’t a good option.
Building an API from scratch requires at least a basic programming and coding background. Any programming language with HTTP support will fit your strategy well (Java, .NET, etc.)
Use a ready-made trading bot
For traders who don’t have a technical background, there are ready-made trading bots that anyone can use.
Software solutions like MetaTrader, Interactive Brokers, and AmiBroker are designed for traders without a technical background. Let's take MetaTrader4 as an example. It's a tried-and-true trading platform where you can find and use pre-made trading algorithms. On top of that, you get add-ons and indicators. Some of them are free, while others require a paid membership. MT4 can help you with chart analysis, strategic planning, and execution.
Ready-made bots are great because you can implement them almost instantly without any coding required. However, these bots do come at a price, and some of them can be quite expensive.
Use a trading bot marketplace
Instead of creating your own bot or paying a software provider for a ready-made bot, you can purchase bots on a trustworthy marketplace like 3Commas. Here, you can find well-rounded algo trading strategies that have already been tried and tested. Instead of worrying about APIs or the peculiarities of specific brokers, you can instead simply copy the strategies of veteran traders to make a profit. The platform offers a simple set of automated strategies to trade stock options, a 24/7 support team, and a free demo account. The demo account is completely free and allows you to test out trading strategies without using real funds.
Algo trading software compared
Here’s a quick comparison of the three options previously discussed:
Trading bot marketplace
No limitations: you can adjust them however you like
User-friendly interface, support may help you
Compare different platforms and choose the best for you
More secure & reliable if built correctly
Easy to use and requires almost no effort to start
Balanced approach, great for beginners & intermediate traders
Require programming knowledge
Might be expensive. Some programs have a $200+ or even $300+ annual charge
Follow the strategies of seasoned traders right on the spot
Time-consuming as you have to troubleshoot yourself
Might lead to losses due to bugs and trading errors
Flexible budget so you don’t have to pay hundreds of dollars
Key features of algorithmic software
It's best to pay attention to these three technical criteria when choosing a trading bot:
Many platforms provide standard algorithms based on a 50-day moving average. As soon as the average crosses the 200-day point, the algorithm shows satisfying results, but some traders may benefit from experimenting. Switching to other strategies may improve both your knowledge and results. You might want to adjust the moving average parameters down to a 20-day moving average with a 100-day average. If the program doesn’t allow much customization, you may be confined to the standard features, causing a lack of flexibility.
Some software allows you to build your own add-ons and modules using Matlab, C++, Python, and other programming languages. If you’re looking for a flexible and experimental way to trade, consider software that allows you to add your own code into the main program.
Advanced backtesting features
Consider software that allows you to access historical data. Backtesting your strategy in this fashion is unrivaled. Implementing both practical and profit-based tactics on historical data has the most impact on your simulation. For backtesting, if a piece of software doesn't give end-of-day data, you might want to think twice about using it.
Once you decide on a platform/software, it’s time to pick your strategy.
Steps to start algorithmic trading
No trading bot, platform, or software can think, they can only execute a strategy based on a series of inputs by a trader. Therefore, you need a solid knowledge base to understand how to utilize algo trading effectively.
Research and strategy modeling require a good understanding of the market. There are plenty of resources when it comes to trading strategies, here are a few of the most insightful:
Books & web materials:
- Building Winning Algorithmic Trading Systems — Kevin Davey reveals his techniques for creating trading systems with triple-digit profits.
- Algorithmic Trading & DMA — Barry Johnson provides info about the modern market’s cornerstones: algo trading and direct market access.
- Inside the Black Box by Rishi K. Narang — A seasoned trading veteran shares the best algo trading practices.
- Quantpedia’s blog & algorithmic trading strategies — Algorithmic trading ideas and strategies along with tons of financial research.
- 3Commas Academy blog — Trending articles and thorough guides about algorithmic trading & crypto in general.
Videos & courses:
- Wall Street Warriors Season 1 to 3 — YouTube channels about finances & algo trading.
- Automated Trading System Development — Develop your own automated system via MatLab.
- If You Had Everything Computationally Where Would You Put it, Financially? — A YouTube lecture by Google TechTalks.
- Courses about algorithmic trading — Video lessons on Coursera designed for beginners and intermediate algorithmic traders.
You can also find practical information on Reddit and Quora. A good example is Max Dama’s automated trading PDF.
Once you’ve absorbed the requisite knowledge, it’s time to put that knowledge into practice.
Step 1: Make an assumption
Begin with a single prediction about the market. Try to understand what the data is telling you, make a simple hypothesis, and see if that idea works in the market. To get started with an idea, think about the market’s behavior.
For instance, a group of anonymous hackers collected tweets from more than 200 popular CEOs, traders, and analysts into a table and noted changes in the market’s behavior after their tweets. Thus, they derived a certain pattern and built a model that determined how the price of Bitcoin price would change in the short term. You can collect and analyze any events that, in your opinion, might affect the price of crypto assets. To get inspired, dive into the crypto industry: read expert opinions, watch videos, and talk to other traders.
Seasoned traders spend years analyzing how the market behaves, but that’s not always necessary. Sometimes the simplest strategies combined with reasonable risk management make more money than cutting-edge algorithms. Analyze thoroughly, but don’t overthink: your algo trading strategy doesn’t have to be super advanced at this stage.
Step 2: Collect data
Now it’s time to collect data based on your assumption. The more data you can gather, the better. Ideally, you will compile a few years of data on the assets in question. Look for open-source datasets to download directly, or use APIs to gather information if you are able. For example, many traders use GDP’s API to pull data from different exchanges.
Relevant data is what you’re looking for: this includes the correct parameters, scripts, and timeframe. Namely, you need a time series for an asset’s price. You will want to look for low or high-frequency data depending on your assumption. If your approach isn't sensitive to rapid shifts, go for the cheaper, low-frequency data. You may also consider stats related to financial instruments, benchmarks, news, and fundamental data.
Make sure your data is both correct and clean, meaning, it’s easy to use and manipulate. If you use faulty data your strategy is likely to fail. Here are some trustworthy data sources:
- https://quantfund.club/ (cheap) data from Bitfinex
- http://coinigy.com (paid) tons of data on BTC and altcoins
- http://api.bitcoincharts.com/v1/csv/ (free) reliable data, Bitcoin only
- http://coinapi.io (paid). 22 TB of data on cryptocurrency
Step 3: Ideate your algo strategy
Once you have solid data, pay attention to cases similar to your hypothesis. Historical data and technical analysis tell a lot about the market, and from here you can start figuring out how your idea behaves under different conditions, and fine-tune it accordingly.
At this step, the ultimate goal is to roughly ideate your strategy. Input all of your data and give it a spin. Then, it’s time to run studies on your data. You can start with a popular technique called the moving average crossover strategy.
The technique is based on two daily moving averages (DMA): short-term, 50 DMA, and long-term, 200 DMA. When the short-term average crosses the long-term average, it implies an upward trend. The same is true for downtrends: the rapid 50 DMA traverses the slow 200 DMA in the downward direction. Depending on your data, a graph might look somewhat like the picture below:
Try these averages to check on your data, and add other technical analysis tools to make your approach even more versatile. For example, you might consider the A/D line for flow detection, average directional index (ADX) to measure the trend’s strength, on-balance volume (OBV), relative strength index (RSI), and other indicators. You have to be flexible when it comes to technical analysis. It’s not a single, cure-all tool that guarantees success, but a whole spectrum of techniques. Mix several methods, experiment with tools, and enjoy the process of learning.
Step 4: Create your algo strategy
You’ve crunched & analyzed the data, established the technical tools you want to use, and put it all together to create the basis for your future algorithmic trades. Altogether that still doesn’t make a strategy, though.
To establish a full-fledged, competitive trading strategy, you must consider entry and exit points. Apply technical analysis tools to map out entry & exit tactics for your strategy. For instance, you can use supportive levels, indicators, Fibonacci levels, etc. Another great way to understand entry/exit levels is to compare several assets. Watch the market: once you know how it reacts and when it moves in your favor, you can either short or long more of the asset (buy or sell).
Step 5: Perform an initial backtest
Evaluate the idea’s potential, weighing the risks and rewards. How much profit might it generate? What are some examples of probable losses?
The most important thing to consider in backtesting is the exchange’s fee, especially for high-frequency strategies. Your trade should diminish in returns when factoring in trading fees. If your backtest doesn’t lose value due to commissions, consider retaking the test. Other important factors could be the trading pair’s spread, the market’s slippage, and the time required for each trade.
With the subsequent execution phase, timing the trades becomes even more important. This is when you should think of limit & market orders, immediate or cancel orders (IOCs), etc. Even if you've performed the finest analysis in the world, no signals will make you rich if they're applied too late or too early.
Step 6: Optimize your algo strategy
Once your ideas and signals are ready, you will likely still have to go back and adjust a small part of your strategy. This will allow you to get a better idea of how it functions. Maybe you need to shorten your trade’s lifetime or use a one-hour candle instead of a one-day candle. The sky's the limit here and you can fine-tune the strategy to work with different assets. For instance, every crypto pair has its own volatility parameters. Every little adjustment can drastically sharpen the accuracy and profitability of your trading strategy as a whole. Never neglect optimization.
If you’re not sure which strategy to pick, check out these algo trading strategies for inspiration.
Executing your algo strategy
The way you handle execution can either enhance your strategy or ruin it completely. At this point, timing, margin, types of orders, and risk/return come to the surface. You have to pick an appropriate platform to execute your strategy as intended. Pay extra attention to the following:
- A platform that meets your requirements
- Correlation of your strategy and CTCL (computer-to-computer link, explained later)
- Reliable event management system
- Order management system
Regardless of how good your strategy is, you’ll never make money without these components. You should also take risks into account. Apart from the basic risk management system usually provided by brokers, you have to consider your own risk profile. Don’t forget about the following:
- Exposure and risk control for live market
- End-of-day, market-to-market, and margin requirements
You have to be confident about your strategy. Once you’ve crafted it, you need either the conviction to see it to the end or the foresight to prevent potential losses. If you don’t understand the risks, you’ll never be able to make money.
How algo trades are executed
Here are some basic terms to help you understand how these trades are executed:
- CTCL — Computer-to-computer link. It’s a system in which your order moves into the exchange, and the confirmation comes back to you.
- EOD Data — End-of-day data. Historical records for a certain equity's daily close, high, low, open, and volume numbers.
- API — Application programming interface. A software intermediary to connect two applications and make them understand each other.
Here is how all of this comes together:
- An exchange generates a tick (a minimum price movement), which is fed into your analysis system. That could be any automation software such as MetaStock JStock, AmiBroker, etc.
- The program analyzes the tick through real-time data or historical end-of-day data. Then the algo trading software generates a signal according to your trading strategy.
- A trading signal is sent to the broker via an API.
- The broker’s CTCL transmits your signal to the exchange.
- You get a confirmation (the process is similar but takes place in reverse order).
You now have a trading strategy and a basic grasp of the automated trading workflow. Now it’s time to leverage your idea and make some money. Just make sure that you have reliable software to help you carry out your algo trading strategies as desired.
Who is an algorithmic trader?
Any trader using algorithms is an algorithmic trader. Algorithmic trading is a pre-programmed, automated method of trading that utilizes computer software to carry out trades.
Do I need a programming background to start algo trading?
No coding experience is necessary to algo trade. You can trade using ready-made algorithms. For example, the 3commas Academy marketplace offers many algorithms to copy. If you do have programming experience, you can create your own trading algorithms using APIs.
Why become an algorithmic trader?
Algo trading is more convenient than manual trading for all but the most high-level professional traders. You can set up a trading bot and automate your trading strategies, allowing your bot to trade automatically. For seasoned traders, algorithms are a powerful weapon to maximize profits within already established trading strategies.
What do you need for algorithmic trading?
To get started all you need is trading software, basic financial knowledge, and funds to make trades.