Today’s markets aren’t the same as 30 years ago. The impact of algorithmic trading on markets is substantial and changes as well as fundamental movements inside markets are much faster than ever before. Today it is more important than ever in history to know how to adapt. And this should also be one of the characteristics of your current ATS.
There are many ways to approach an issue with an adaptive ATS; from simple methods to very sophisticated ones (which are technically far behind the abilities of a common user). Nevertheless, a common user doesn’t have despair, as some solid approaches still exist to ensure a bigger adaptation of our ATS systems within ever-changing markets.
Today I will describe three of these such methods and my experience with them. I would like to remark that these are basic approaches, accessible to any common user.
1. Adaptive indicators
A wide range of auto-adaptive indicators have been around for many years now. Their principle is quite simple – these indicators mostly contain one of the means of volatility measurement or market trending.
A simple example of such indicators can be KAMA (Kaufman´s Adaptive Moving Average). There is nothing complicated about it. You just have to add one more component to a regular moving average – a component that will “calculate” where markets are at the moment; if they are currently in a trending or non-trending phase. For example, Perry Kaufman used another of his own indicators called Efficiency Ratio (ER) for KAMA. This indicator simply fluctuates in the range 0 – 1; a closer to number 1 market is trending and a closer to 0 one would be trending less. Afterwards there is just a need to choose a period range – e.g. from 2 to 50. An interconnection with an ER indicator will result in an auto-adaptive version of a moving average using a higher figure of the set range if the ER is moving closer to 0 (if ER is at 0, EMA will be using period 50). The reason is that there is too much “noise” in the market and therefore lower periods are highly unsuitable. Or the other way around – if the market is trending, then lower figures of EMA will be used automatically and ER will move closer to figure 1 (if ER is at 1, period 2 will be used automatically). The periods of the EMA indicator aren’t fixed here. They are dynamically changing in the range 2 – 50 (or any other chosen range) depending on how the market is moving.
In practice such settings of auto-adaptive indicators look quite simple. For example, AMA has three parameters to be set.
The first parameter states the period calculated by ER indicator, the second and third parameters define the range of EMA period, which will automatically adapt to the current market situation (based on ER indicator).
In practice everything works very well and reliably and the indicator is truly auto-adaptive – it adapts EMA figures to the current market situation without any problems.
My experience with adaptive indicators varies. Most of them are pretty interesting (e.g. KAMA), while some are, according to my experiments, equal to any other ordinary indicators.
This adaptive category isn’t bad at all, but it isn’t as functional as the second category which I am constantly using.
2. Regular reoptimization of systems
Based on my experience and with the benefit of hindsight I find it impossible to have a “universal” combination of parameters in our system. Markets are moving and changing too quickly. With the help of a good quality process, it is possible to find a truly robust combination of parameters for our system (i.e. settings of indicator periods etc.), but nothing can compare to regular, high-quality reoptimization.
Regular reoptimization isn’t complicated. Basically, after a certain previously scheduled time, you carry out a new optimization of your system to gain new parameters that are in compliance with the latest market development. It means those that are more adapted to current environment. The process of regular reoptimization can be also simulated – it is a pretty basic thing called Walk Forward Analysis (WFA) which is possible to simulate in many programs these days.
What is WFA? It isn’t anything magical or complicated. We simply take data on which we are about to backtest a regular reoptimization of our system. We divide such data into 10 identically large segments (we will try to simulate 10 times regular optimization) and then we divide each segment into two parts – a smaller one and a bigger one. The bigger part, usually 70-80% of data, will be used for optimization called In-Sample (IS). Here, we carry out a basic backtest and we search (optimize) parameters which are making our system more interesting – not only from a profitability point of view, but also from a stability of equity curve point of view. Then we take the selected parameters and test the rest of the data – 20-30% which we haven’t used for the primal backtest and therefore for any optimization of parameters. These remaining data are called Out-Of-Sample (OOS) and show us how the system is capable of constantly adapting. If the system has such an ability, then we carry out a regular reoptimization in live trading as well.
Today, personally, I reoptimize each of my systems on a regular basis, i.e. each system I trade I consider to be auto-adaptive. The process of reoptimization and selection of an ideal period, and particularly when to perform it is very important.
3. To have a plan on when to completely turn the system off and when to start to use it again
This last point may seem like it isn’t relevant to the adaptive issue, but from my experience it is. From my point of view, to know when to turn the system off when the conditions aren’t acceptable and when to turn it on again when we get out of our drawdown is one of the highest levels of adaptiveness.
This task is exceptionally difficult and it can be approached in many ways. From quite complex algorithms which can tell when the system isn’t currently suitable for a given market and which will turn such system off automatically for a certain period of time, to simple rules resulting from our possibilities and our common sense.
The base for such approach should always be a drawdown. Historical drawdown is an important indicator (even if it is “only” the backtest one). Its exceeding in live trading definitely indicates something important, therefore for example, the rule of turning the system off when it exceeds historical DD by 1.5x and its turning on when it reaches again at least 50% of its recent drawdown, can be a fundamental way to use and test.
In regards to this I have to mention another experience I have: What I haven’t found useful at all and what I consider to be one of the worst approaches, is to filter equity with the help of moving average. It means, for example, to turn the system off when its equity drops below its moving average. This method is very treacherous, has many pitfalls, and it simply doesn’t work.
Surprisingly enough, better usage can be found in rules based on drawdown. A conservative and much better approach is with usage of MC and OOS intervals.
In this article I have only “touched” an adaptive issue from the easier point of view, which is accessible to a common user while using approaches I fully support – e.g. WFA. From my experience it isn’t possible to create a good quality ATS without using some adaptive elements in our workflow. On the other hand, in regular intraday or swing ATS there is no need to use an extreme approach and reoptimize the strategy nearly every day or every minute. A few months’ interval is more than enough. Anyhow it is useful to constantly think about how to be as prepared as possible for the ever-changing market environment and have instruments at hand that help us to adapt in a better and faster way.