Besides asking whether you have enough time to keep monitoring an algo strategy successfully after implementation, you may desire a short term, intra-day, day, or a long-term trading strategy that runs several days or months or run a combination of these strategies concurrently. The best way of automating trading would be using a technical high-frequency trading (HFT) strategy if you have skills competence.
Again, as the Quantstart Team advises, you might have to look at your personal preferences and know thyself because it requires a significant degree of discipline, patience and emotional detachment which many may not have and therefore find themselves interfering with the strategy now and then especially during times of drawdown.
Otherwise, you would also need some days of or time for continued research into your and other strategies, determining of the ideal minimum capital amount that suits your strategy, coming up with investment goals and their timelines, and last and not least, you will need access to market data feeds, as well as the ability and the infrastructure to backtest.
Which algo trading strategy is suitable?
More than 90% of all stock trading is algorithmic and this practice is also very popular in the crypto trading space, even catching up with manual trading strategies.
Algorithm and bot trading are automatic software trading methods that rely on user defined strategies which basically are a set of computer coded rules that tell the program to trade crypto in a given way or in respect to some conditions. Those conditions might be amount-specific, time-specific, volume specific, etc or specific to other market dynamics.
Strategies are presented as coded logic & calculations in programming languages such as Python, Nodejs, R, C++ and the code is fed by bot into the market system to execute orders as directed, but there is obviously going to be you connecting to exchanges via APIs. Pre-built and hosted bots are available in the market that save your time for coding and learning to code, compiling applications and hosting software. There are endless options although most are under testing, and most are compatible with multiple crypto exchanges.
Hence, a trading strategy can be anything from a simple trading script developed at home to using the multimillion dollar systems that are also used by funds on Wall Street. They could be bought as ready-to-implement strategies, designed/coded from scratch by a developer or user, or developed by customizing an available free/paid version.
If you buy a bot or use a free one, it could have a free strategy, and still let you develop yours from scratch or customize an existing default one. It could still let you buy strategies from tried and tested professional traders from communities or connect to signal providers who sell these, via APIs.
Whether the strategies can be profitable or not is a matter for discussion, but it depends on a number of factors including competition, proficiency/competence/skill level of the person developing it, as well as the market price determining factors, etc.
The best way to use these strategies and bots is to consider a bot as help in trading not as a replacement. The other thing is that using strategies in combination or as merged is much better than running them separately. A good example is combining a long term with a short term.
Different types of bots
Different types of bots use different kinds of strategies to perform different functions on the crypto market. With this, it can also be said that all bots typically use more than one trading strategy from their inception.
The main type of trading algorithms, bots, and strategies are those that help to identify and take advantage of market arbitrage opportunities; those that act as market makers; those that predict momentum on a certain direction; and those that predict mean-regressing activity.
Arbitrage bots and strategies find price mismatches on a single or multiple exchanges in order to make profits based on price differences across exchanges; market making bots and strategies place both buy and sell orders and try to make profits based on difference between bid-ask price spreads; portfolio automation bots and the strategies that are involved in the creating, obtaining and maintaining of a desired portfolio and portfolio ratios through balancing and re-balancing; and technical trading bots and strategies are those that make prediction of future price movements based on technical indicators, signals and mathematical formulas to attempt to predict price movement based on past trends and to make the user some profit based on the prediction. These latter ones are the most popular in the market today.
Trend Following/Time series
Trend Following strategies rely on technical analysis carried out on prices, volumes, and other similar factors, which are already popular among traders today. A technical analysis is an analysis that tries to identify a price movement or trend based on some technical indicators in assumption that asset prices will in future follow certain historical patterns which may be defined by one or a set of indicators such as mean.
Based on that, you might want to code a strategy program that relies on the two types of technical indicators (overlays that are displayed over the main price chart and oscillators that oscillate between an upper and lower limit separated by a midpoint). These indicators include Moving Average (MA), Relative Strength Index (RSI), MA & Bollinger Bands etc.
In other words, trend following types of strategies are used on bots that place orders based on price movements as predicted based on technical indicators.
A common crypto trading strategy that is good example to a time series type is one based on the Moving Average (MA) Cross Overs or Cross-Unders. These cross-over points are points that manifest on a chart for both short-term and long-term moving average: when a shorter term MA indicator line on the chart crosses over or under the longer term line or slow indicator line, if the shorter term MA crosses under the longer MA from the top as it decreases, then it may indicate a bearish trend for the crypto meaning it may be an opportunity to short the crypto asset as prices tend to fall.
Otherwise, if it crosses from below (called a cross-under) and the moves up, it may indicate a bullish trend and the cross-under point might be the entry position or buying point when you need to go long on the crypto. So a bot based on that trend may carry code to consistently track cross-overs and cross-unders in order to buy/sell to enter new positions in expectation of price rise at a later date, to take profit or to limit loses based on a cross-over or cross-under point price.
It is also known as the simple moving average crossover strategy and as explained above, is used to assist to buy stock or asset if and when its short-period moving average value surpasses its long-period moving average value. It will sell if the reverse happens.
Other trend following strategies may be formulated around trading volume: for instance a bot may be directed to open or close a new position based on whether the crypto trading volume of a pair over the past 24 hours is considered sufficient or insufficient (the sufficient level is set by the strategy developer/user); or open or close positions based on analysis of candle indicators which determine whether the previous candles were bullish or bearish.
Others can be directed to open or close a trading position based on analysis of Bollinger bands signals for a specified duration -- these bands are high and low bands formed above moving average and which are constructed using standard deviation. Of course these can be drawn automatically on a chart with available tools but the issue is they can be used to construe/predict direction of price movement and therefore predict when a trader may be better entering a trading position to increase chances/probability of making profits or avoiding loses or balancing their portfolio ratios: if a price tags moves above a set of bands drawn on a chart over the crypto price chart, it may mean the coin is likely overbought in the market and is liable to correcting shortly hence this may indicate an opportunity to sell the crypto. If the price tags moves below a band, it may time to buy because the expected reverse is an upward movement in the price.
Hence an auto trading strategy may be constructed based on these indicators.
Indicator calculator libraries such as TA-lib, free-to-use Tulip Indicators (a library of functions for technical analysis of financial time series data, which has 104 indicators), Tulip Charts (full featured stock charting program), Tulip Cell (an Excel add-in that relies on Tulip Indicators), and TradingView are some of the tools from which you can automatically derive indicator data via APIs, so you do not have to code from scratch.
You can also learn step by step on how to design, test, execute and backtest an algorithmic trading strategy from scratch with Quantopian tools and APIs through Quantopian tutorial here. This is just an example of the tutorials available online to guide you through in that.
That said, most bots incorporate multiple TA indicators in their trading tool boxes.
Usually, it may be possible for someone with knowledge and experience in TA and programming to code a strategy, otherwise, it may be necessary to buy a ready bot or may be the shortest route is to subscribe to a customizable bot after which you can buy a template TA strategy that you could play around with if you have some knowledge in TA and coding. Otherwise, it is also possible to buy a strategy that is ready to live-trade with a bot. Once you subscribe/buy a bot, you activate the strategy and it keeps working. Only that it may cost more.
Trend Following strategies are not perfect and are not without their challenges/shortcomings: for instance, in a volatile market, crypto prices may also sway based on verbal(news)-construed prevailing short-term or long-term sentiments etc.
Reversion to the mean/mean reversion
A good example of mean reversion is the strategy discussed above which based on the Bollinger Band crossovers where the price movement to above or below the bands on a chart may signify oversold/overbought status and thus the likelihood of the price to revert. Therefore, the strategy considers the historical patterns and puts the price in the context of that trend in order to identify when there could be a reversion in trend and thus enter or close a trading position based on that derivation, and enter/close the position in a timely manner before the price moves up or down.
Of course Bollinger bands are constructed from the concept of standard deviation or the average movement away from the statistical mean of the crypto prices. Standard deviation is used to model abnormalities in data, or in other words, the standard deviation would be used to show how the prices are moving away from and deviating the price statistical mean at the center.
A mean reversion strategy assumes that the future price of an asset will move in the opposite direction of the asset's return over some historical period. Therefore, it targets to enter trading positions at the specific points defined by the price after reversion.
Besides the Bollinger Bands, another example of an indicator used to assess the likelihood of a mean reversion is the Relative Strength Index, which measures the speed and change of price movements using a scale of 0 -100. Of course, that too, can be drafted automatically on a chart over price chart using auto charting tools and these trends seen clearly. A higher RSI value will indicate that an asset is overbought and hence the likelihood of the price to correct in the reverse direction soon while a lower RSI indicates an oversold asset and the likelihood for a price reversion upwards. The entry/exit points of a trading position may, for instance, be at the reversion points on the charts.
A cross-sectional momentum strategy is based on comparing momentum metrics across different stocks and predicting the future returns of one or more of them based on the performance of each. In other words, the future movement of stock or asset price (trend/pattern) is predicted by its outperformance relative to its peers.
The strategy looks at market movement driving each individual stock/asset and to consider the relative strength of signals across stocks in order to produce a strategy that outperforms the market. A variation of this strategy invests an amount proportional to each asset's (past) deviation from the cross-sectional average return.
The strategy is computationally heavy since you need to calculate metrics with potentially tens to hundreds of time-series. The asset is ranked by its past returns and a zero-investment long-short portfolio, long-leg equally weighting the top quantile and short-leg equally weighing the bottom quantile, are created. It is also referred as a linear cross-sectional strategy because the weights are lineal in relation to the asset's past returns.
Strategy libraries such as the TA-Lib may make it easier to calculate indicators and the developer may need access to multiple symbol's price data through APIs.
As already mentioned in preceding sections, in mean reversion, the order is carried out when the price of stock goes beyond the normal range. the strategy will calculate an average price based on the historical data of the cryptocurrency and then execute a trade expecting that the prices will come back to the average price. If the price, as compared by mean, is very high and beyond the (expected) cross-over point of the long and short MA, then it will be expected to come down and if it is on the low side of the cross-over, it is expected to reverse upwards.
Hence this strategy is helpful when prices are in extremes and traders benefit from unexpected swings.
It is known as a counter-trend or reversal strategy.
Percentage of Volume (POV)
A POV algo is based on a user defined participation ratio by which partial orders are continually sent partially until the trade order is filled. The user defines a "steps strategy" based on user-defined percentage of market volumes. The steps strategy sends orders at the user-defined percentage of market volumes and increases or decreases the participation rate when the stock price reaches user-defined levels.
Arbitrage trading in cryptocurrencies or stock or securities relies on identifying opportunities where there is a price difference on different exchanges for a particular asset where the crypto, stocks and securities or other assets in question are being traded. In this case, a crypto arbitrage trading strategy and bot is built to be able to scan prices on different exchanges and to open or close positions in order to make profits based on the differences in prices on the cryptocurrency exchanges.
It will basically track prices of each single asset in question as posted on different exchanges and then identify the price differential, then buy at low price and sell the cryptocurrency at a higher price later on. In such a trading case, speed and accuracy of algorithm trading is much more helpful compared to the human methods. The volume of the trade may make a huge difference in gains even when the price difference is very small and therefore, this strategy works great even for trading large amount of stock or crypto.
For a custom ready-to-buy bot that uses arbitrage algorithm trading strategy or that supports one, users would be able to add exchanges and customize the strategy on their own, buy a strategy separately from other professional traders and activate it, etc. A good example of arbitrage bots include Crypto Arbitrage, which explores triangular and direct exchange arbitrage opportunities; CryptoMedics Arbitrage Bot, which can be helpful for those wanting to get signals about arbitrage opportunities; Gimmer, which allows users to come up with their strategies, back-test them and even rent them to others; and HaasOnline.
The implementation shortfall strategy seeks to reduce the cost of order execution by trading off the real-time market on the order book and therefore benefiting from opportunity cost of delayed execution. The targeted participation rate increases when prices moves favorably and decrease when stock price moves unfavorably.
Beyond the usual trading algorithms
These are sniffing algorithms that work to try and identify special "happenings" on the other side. For instance, a sell side market maker may use these algos with in-built intelligence to identify existence of any algorithms on the buy side of a large order. They may then act to fill the orders at a higher price or fill most of the order, etc. This is sometimes identified as high-tech front-running.
Statistical Arbitrage strategy
Statistical arbitrage is a short-term algo trading strategy that relies on the price inefficiencies and misquoting of prices on order books of an asset on a crypto/asset exchange. This is common for securities that are similar in nature or related to each other.
Since the price inefficiencies and misquotes do not stay for long, algo trading and bots helps to scan markets all the time and always to identify these opportunities as quickly and to take advantage of them before they are corrected.
Weighted average price strategy
Weighted average is based on weighted volume price or time-weighted volume average price. The strategy affords a trader the ability to sell or buy assets in bits or small parts or in batches instead of buying/selling at one go, with the buying/selling points determined using either historical volume profiles or certain pore-defined time slots between a start and end.
The designed strategy ensures that the order is executed as close as possible to the volume weighted average price or time-weighted average price in order to reduce market impact. For instance, the strategy may allow buying of stock/crypto several times when prices are low in relation to a defined trend (for instance when the 50-day SMA crosses over the 200-day SMA expecting an uptick in prices) even if it is several times before a significant rise; then sell when there are significant highs in relation to a particular trend (for instance when the 50-day SMA crosses under the 200-day SMA) to avoid loses.
Index Fund Rebalancing
Index funds have periods of re-balancing when they buy or sell assets to maintain certain ratios in order to bring their holdings to par with their respective benchmark indices. A strategy that capitalizes on Index Fund Re-balancing aims to get profits for the trader before the index fund re-balances. Based on the amount of stock, crypto or other assets held on these index and pension or other funds, the size of adjustments sometimes cause price shifts. Trading algos eyeing these opportunities thus seek to capitalize on the price change opportunities.
The strategy thus seeks to identify an opportunity to enter/close long or short positions before time when re-balancing is expected or just after re-balancing, and therefore make the profit based on the price differences occurring. Like in any other strategy case, the intention is to buy low and sell high or short low. Timely execution in this case is as important as identifying the best prices at which to enter positions.
Scalping capitalizes on the occasional bids-asks price spreads which are caused by the short-term imbalances between the supply and demand. The ask price is the price at which the order is placed by the seller while the bid price is the price at which the buyer expects to buy. The strategy relies on trading against the "anomaly" for instance by selling crypto or assets when spreads are wider between the demand and supply sides.
High Frequency Trading (HFT) scalping strategies can be profitable by ensuring a large number of trades per day. HFT may provide only very small edges or profit percentages, but these can be significant when scaled over thousands of trades and which assures significant returns. Further, the risk is spread over a large number of very small time increments which may increase the rate of return.
The HFT strategy analyzes bid or offer prices accordingly in order to estimate the conditional probability of an uptick or downtick in prices of a given crypto asset. The probabilities will hold provided orders can be positioned towards the front of the queue to ensure an adequate fill rate. For this particular strategy, a good amount of time is spent mitigating latency and on developing techniques for establishing and maintaining priority in the limit order book. It is not simple.
The strategy may also need to monitor order book pressures moving against any open orders so that they can be canceled in good time avoiding adverse selection by informed traders, or a buildup of unwanted inventory.
The trader is to expect to use the strategy to capture between 1/2 to 1 tick per trade and hence should use limit orders for trade entry and exit.
For moderately sophisticated alpha algorithms in HFT strategies, the strategy is highly dependent on achieving an acceptable fill rate (proportion of limit orders that are executed). It must determine this fill rate that is possible for orders. Basically, when doing HFT algo trading, there will be need to ensure a high enough fill rate such that all or majority of limit orders can be filled as expected in order for the prediction in price trend to work in favor of profitability. Otherwise, it may backfire if just a few are filled.
However, a 100% fill rate on extreme hits (hits on buy limit orders whose price coincide with the lowest trade price in the and hits on sell limit orders whose prices coincide with the highest trade price in any (time) bar of the price series) cannot happen. The likely fill rate for the limit orders will lie in between 0% -100% since 0% fill rate is also hard to get achieved but it is certain that some orders will get filled and others will not which may affect efficiency of a HFT strategy. A typically ideal hit rate in the range of 10% to 15% is to be expected although extreme hit rate of up to 25% may be expected.
At some critical fill rate, the strategy will move from profitability into unprofitability, given that some orders won't be filled.
To solve this fill rate problem, implementing a HFT scalping strategy successfully may be the only way available to ensure that the execution of limit orders will fall on the right side of that dividing line of profitability. That is, orders get executed when profitability is imminent or when the trend is favorable. Some other interventions include running a simulated strategy and another one in production and stepping in when a limit order executes on the simulation system but fails to execute in production.
Of Manual Override, MIT, the E-mini scalping system, and implementing a HFT scalping strategy on a retail platform by slowing it down, i.e. by implementing the strategy on (time) bars of lower frequency are some of the solutions to the problem where the fill rate may not, the latter is the most effective. Using volume bars or trade-time to implement the strategy may work better for time frames.
Market Timing Strategies
Market timing strategies rely on backtesting, live testing and forward testing. The first stage of back testing seeks to simulate trades based on historical data and trends. Once the first stage is carried out, the strategy or algo is optimized in order to get/arrive at the most optimal results. The second stage, foreward testing, involves running the algorithms through a sample data of expected price trends in future to ensure it performs within the backtested expectations.
The last stage, live testing, requires the developer to compare live trades with backtested and forward tested models.
Many traders use intuition to develop a mechanical set of conditions from which they automate their day-trading and of the very well-known day trading strategies is the gap-up momentum strategy. Once an day-trading algo is developed initially, it is easier to fine tune it each day to capture price actions after studying previous day's price charts etc.
This strategy identifies whether a market opened with a gap-up (positive earnings report between the previous market close and next market open). It may track markets dynamics expecting a short term increase or a fall later, and perform trade at various points such as on a point of price breakout from a certain resistance or at the first bottom after the gap-up.
For implementation, a trader may not require indicator calculations but may only require stock screening libraries such as pipeline-live.
Mathematical Model Based Strategies
These strategies rely on tested and proven numbers-based and mathematical formula-based strategies and a good example is the delta neutral trading strategy where a delta is defined as a ratio that compares an asset's change in price to that of its derivative. Or rather, it is the rate of change in an option's price relative to a one-unit change in the price of the underlying asset. It can be used for trading any kind of asset (stocks, futures, options, etc) as long as the market is moving and there are options.
The delta-neutral strategy allows a trader to run algos that generate profits without having to forecast the direction of the market.
The strategy ensures that the sum of deltas is always equal to zero such that, for instance, if one buys 10 call options each with a delta of 0.60 and 20 put options each with a delta of -0.30 you have the following:
(10 x 0.60) + (20 x -0.30) = 6.00 + -6.00 = 0
Being delta neutral ensures that the strategy generates a net profit on the underlying asset when the market goes up because the loss on options is smaller. When the market goes down, there is a loss recorded on the underlying but you have a bigger profit on the options since their delta will increase, meaning there is a net profit even in this case.
When the strategy shorts the underlying and buys call options, your delta remains neutral and when the market goes up, you make net profit because there is a bigger profit on the options whose delta increases and a smaller loss on the underlying whose delta falls. When the market goes down, you still make a net profit because there is a bigger profit on the underlying than the smaller loss on the options whose delta decrease.
Market making strategies
Market making strategies are employed for successful inventory management through hedging and limiting adverse selection.
In addition to posting market making orders, such a strategy would carry out calculations with high speed to allow the market maker to continually update pricing and portfolio risk models. Speed allows the market maker to act on the model in a timely manner to reduce adverse selection and get better pricing on its hedge.
For competitiveness, high-resolution data and low latency infrastructure may be needful although sensitivity to these things decreases with increase in length of the trading horizon. Market makers might also require systems that processes vast amount of data quickly and handle concurrency and hence may need to build strategies with languages like Go/Rust to balance between ease of concurrency handling and processing speed; as well as functional languages like Erlang/OCaml or good old languages like C++.
Dollar cost averaging
This is one of the simplest automated trading strategies used by many investors and which relies investing a fixes amount of money into an asset periodically, especially when entering a position for a long term strategy. Since the price of an asset falls several times over a long term, the trader may end up buying cheaper overall compared to investing in the stock at one point in time.
Other skills needed to design and test a strategy before implementation
Other skills that may become necessary when designing higher frequency algo trading strategies include good understanding of order book dynamics (called market microstructure), understanding of fund structures and the related regulatory and non-regulatory constrains such as those order staggering strategies traditionally followed in order to avoid large orders affecting the general prices ("moving the market"), and having skill sets in machine learning/artificial intelligence because machine learning algos are becoming more prevalent in recent years in financial markets.
Last and not least, one may need a criteria to judge the potential of a new strategy before you can implement it. This ensures that it makes profit and passes the test of time.
These criteria include assessing the methodology on which the strategy is based (mean-reverting, market-neutral, directional); defining/assessing the reward/risk ratio of the strategy (sharpe ratio); assessing the leverage or asking if the strategy require significant leverages or leverage derivatives contracts such as futures, options and swaps in order to make a return; frequency of executing the strategy; assessing volatility of the asset and how to hedge against; determining the win/loss, average profit/loss possible on the strategy; determining the maximum drawdown (the percentage of largest overall peak-to-trough on the asset curve of the strategy) that you can accept on the strategy before stopping to trade your strategy; determining the scalability of the strategy as defined by the capacity/liquidity of the instrument; deciding/determining which and what is the number of parameters required in testing or designing the strategy; and identifying a benchmark that you will measure the strategy against.