top of page

Optimization techniques using evolutionary algorithms

Keywords : Optimization, forecasting, genetic algorithms, evolution strategies, differential evolution, estimation of distribution algorithms.


New techniques of forecasting have been developed in the last decades with the increased availability of computing power and computational capacity. New generation of intelligent computing techniques have been enabled such as neural networks, fuzzy logic, genetic algorithms and expert systems. The objective of these "intelligent" techniques is performing actions that imitate human decision makers.

Evolutionary computation (EC), field in Machine learning, is an area of research and knowledge which involves the use of techniques, known as evolutionary algorithms (EAs), to approach topics in finance. The term EAs is used as an umbrella term for problem-solving computer optimisation techniques that are based on some mechanisms of natural evolution as key elements in their design and implementation.

The application of EC in finance has for goals to overcome the limitations of some theoretical models and to innovate in this highly competitive area of research. Few examples where it is applied : pricing, forecasting and portfolio optimisation. The most popular ECs are evolution strategies, differential evolution, genetic algorithms, and estimation of distribution algorithms (EDAs). All these algorithms are evolution-based systems.

Genetic Algorithms (GAs)

The genetic algorithm, inspired by biological evolution, is a problem-solving technique. It is based on an artificially simulated process of natural selection, or survival of the fittest, known as Darwinian evolution. GAs have emerged as a powerful general-purpose search-and-optimisation technique and have found applications in widespread areas. GAs are inherently quantitative.

Aguilar-Rivera et al. [1] indicated that GAs have remained one of the most popular approaches in the computational intelligence (CI) literature for financial research and applications (with financial forecasting being the most studied topic). Typically, it consists of the estimation of future values or trends of investment vehicles for relevant decision-making and investment action.

Several GA-based methods have been designed to enhance the accuracy of prediction. In these works, the GA techniques have been employed mainly for the optimisation task in the proposed models.

For instance, Kim and Han [2] proposed a GA approach to the discretisation of continuous variables and the determination of optimal range for the connection weights of the artificial neural networks to predict the stock price index. They suggested that their approach was able to reduce the numbers of attributes and the performance of forecasting was improved.

In [3], Araújo and Ferreira proposed the GAs to search for optimal linear filters in forecasting applications. Their proposed GA-based models outperformed the benchmarks, per comparison to other models.

Evolution strategies (ESs)

Evolution strategies are one among the main branches of evolutionary computing. Like genetic algorithms [4], ES are algorithms that imitate the principles of natural Darwinian evolution, generally producing consecutive generations of samples.

In each generation, a batch of samples is generated by perturbing the parents' parameters through mutation of their genes. A number of samples are selected based on their fitness values, and the less fit individuals are discarded. The winners are then used as parents for the next generation, and so on. This process typically leads to increasing fitness across generations.

Rechenberg [5] proposed ES as a tool for use in real value parameter optimisation problems. In ES, the representation used was an n-dimensional real-valued vector. The standard deviation was employed to control the search strategy in ES.

Rechenberg used Gaussian mutation as the main operator in ES, in which a random value from a Gaussian distribution (normal distribution) was added to each element of an individual's vector to create new offspring. This basic ES framework, though simple and heuristic in nature, has proven to be very powerful and robust, spawning a wide variety of algorithms.

The basic difference between evolution strategy and genetic algorithms lies in their domains (i.e., the representation of individuals). ES represents individuals as float-valued vectors instead of using binary representation.

Differential evolution (DE)

Differential evolution is a heuristic evolutionary method for global optimisation that is effective on many problems of interest in science and technology [6]. DE was developed in the 1990s by Rainer Storn and Kenneth Price [7].

This algorithm uses biology-inspired operations of initialisation, mutation, recombination, and selection on a population to minimise an objective function through successive generations [8]. Similarly to other evolutionary algorithms, DE employs alteration and selection operators to evolve a population of candidate solutions when solving optimisation problems.

Past studies have indicated that the performance of DE algorithms is largely affected by the choice of parameters e.g., mutation factor, crossover rate, mutation strategy and the type of crossover. A combination of these parameters may work out to be the best for a problem while resulting in poor performance for others [9].

DE is useful in situations where the objective function is stochastic, noisy, or difficult to differentiate as it doesn't require its derivatives. DE, however, may be inefficient on smooth functions, where derivative-based methods generally are most efficient [10]. Its flexibility and versatility have prompted several customised variants of DE for solving a variety of real life and test problems.

Estimation of distribution algorithms (EDAs)

Estimation of distribution algorithms are interesting evolutionary methods; they have the characteristic of using an explicit distribution model, instead of mutation and crossover operators [11].

EDAs approach employs a variety of techniques in order to find the optimum. However, EDAs are not only optimisation techniques; besides the optimum or its approximation, EDAs provide practitioners with a series of probabilistic models that reveal a lot of information about the problem being solved [12].

EDAs have been used very successfully in real-world applications [13, 14, 15, 16] and recently gathered momentum in the theory community analysing EAs [17, 18, 19, 20, 21, 22, 23]. The aim of theoretically analysing EAs is to provide guarantees for the algorithms and to gain insights into their behavior in order to optimise the algorithms themselves. Common guarantees include the expected time until an algorithm finds a solution of sufficient quality, the probability to do so after a certain time, or the very fact that the algorithm is even able to find the proper solutions.


Optimisation algorithms inspired by the process of natural selection have been in use since the 1950s (Mitchell 1998), and are often referred to as evolutionary algorithms. This article presented a review of the application of evolutionary computation methods to solving financial problems. Genetic algorithms, evolutionary algorithms, differential evolution, and estimation of distribution algorithms were the techniques discussed.

Related works

C. Dunis, S. Likothanassis, A. Karathanasopoulos, G. Sermpinis ,K. T. latos, Computational Intelligence Techniques for Trading and Investment, 2014.

A. E. Drake, R. Marks, Genetic Algorithms In Economics and Finance: Forecasting Stock Market Prices And Foreign Exchange, A Review, 1998.

bottom of page