Let’s admit that the pace of this era is rapid, markets are moving swiftly and if we intend to be profitable in long-term, understanding the principles of automated trading systems (ATS) will be necessity nowadays.
Developing such a system is based on genetic programming using genetic and evolutionary algorithms. The whole idea comes from the natural biological process of natural selection, evolution and reproduction.
The aim of this is to run a simulated process that from the initial population, made out of completely random members, creates next generation with higher fitness function. It gets done by applying crossover, mutation and rules of natural selection.
Crossover is based on the real reproduction process, the higher the fitness function of the individuals the better chance of crossover they have. Mutation is performed on random individuals and natural selection ensures that only the fittest individuals from each generation will be saved. Each individual represents a possible solution to a problem. It’s fitness function quantifies the quality of the solution this individual represents. The better the fitness function is the higher probability of finding the optimal solution we have. As every generation evolves in the process the set of available solutions is improving.
How it works and how to use it in terms of trading?
Genetic algorithms are widely used in automated systems in all fields. Fortunately, it can be beneficial to us even if we have none or lack of programming skills. Adaptrade Builder is using genetic programming for building automated trading strategies.
Indeed, it is possible to buy trading strategies from someone who has already developed them, the problem is they may but also may not work and they usually cost exorbitant prices.
Adaptrade Builder software gives the access to the active development of own profitable strategies which appreciate those who want to understand the logic of strategy they are trading with. Builder offers the custom choice of indicators you want to include in the building strategy process.
This software can process tonnes of historical data from any market, analyze all timeframes, find the strategies that will be profitable in the future, optimize them and give you a performance report about how would strategy do in real trading after all.
One of my strategies Performance Report for illustration
It contains many other precious information (such as % of winning trades vs. Losing trades, Average winning and losing trade, Kelly fraction etc.)
Are these results dependable in particular?
Many traders spend plenty of time trying to understand the strategy logic, observing new combinations but somehow underestimate the importance of validation. It is extremely important to ensure that strategy is not over-fitted so it has predictive qualities in the future and it is fitting the signal rather than the noise. Otherwise it could have a disastrous impact.
Here is the question, how much optimalization is too much, where should we stop? And how can we tell if strategy is over-fitted?
Over fitting strategies perform well on data that were used in development (optimalization) but fail on new or unseen data. Of course there is nothing wrong with choosing the best observed strategy, as it is possible to avoid over-fitting by monitoring the optimalization process.
In fact you should divide data into two segments. Training segment (In-sample) are data the strategy was built on but we still have no assurance the strategy will perform the same way in the future. Therefore there is Test segment (Out-of-sample), data we need to reserve for evaluation.
We want the results in Training and Test segment to be similar, improve but at least not get worse, which indicates the strategy is fitting the signal and perhaps will be profitable in the future.
It is important to pay more attention to the equity decline in Test segment rather than inefficient results from the start.
Fact, that strategy is not over-fitted does not necessarily mean that it will perform in the same way in real trading as financial markets generally behave non-stationary and unpredictably.
Monte Carlo Analysis is a common stress testing method under simulated conditions.
Stress tests result in Builder for demonstration.
It is also useful to watch a significance test, at least 95% significance is required.
Regarding the robustness of the system we take into account also number of trades, complexity or correlation coefficient.
The rules of evaluation process control in combination with Monte Carlo Analysis, efficient build metrics set up and significance testing should minimize any doubts about strategy credibility to absolute zero.
Petr Tmej & Zuzana Jedličková