TestimonialsAbout UsContact Us
ProductsServicesTechnical SupportBuy Online

Evo2 Bioidentical Genetic Algorithm

Modulus Evo2 is our advanced genetic algorithm library developed in C# that incorporates the latest in genetic algorithm design, such as biologically identical processes, epigenetic switches, simulated annealing, Westermarck inbreeding prevention, age-limited recombination and more.

The Evo2 algorithm is not based on the standard "single chromosome" GA design.

Evo2 solves multivariate optimization problems quickly and scales well with complexity. The Evo2 algorithm was designed for genetic programming (autonomous creation of trading systems), trading system optimization and portfolio optimization. Evo2 let's developers build multivariate trading system optimizations with ease.

A light C# version of TradeScript is provided with Evo2 along with C# example projects that show developers how to develop genetic programming models that can back-test and optimize strategies.
A copy of the Modulus C# Backtester is also provided with Evo2.

Bio-Identical Genome and Algorithm

Evo2 is not only bio-inspired, it is bio-identical in many aspects. Evo2 simulates everything from mate selection to DNA packaging and complete meiosis. Most standard genetic algorithms neglect to perform the multiple steps of meiosis that are vitally important to genetic variation, which helps to avoid local optima.


During prophase, chromosomes synapse and a small amount of DNA is exchanged between homologous chromosomes through a process known as "crossing over". The critical part of prophase is the lining-up of tetrads into homologous pairs. The Evo2 algorithm ensures that homologs are created only from unrelated, opposite sex chromosomes.

Metaphase and Anaphase

Metaphase and anaphase are the phases where much variation is incorporated into the genome, however most genetic algorithms leave these steps out completely. Evo2 simulates both phases completely and accurately.

No Inbreeding

Most standard genetic algorithms are technically "inbred soup". Inbreeding reduces genetic variation, which suffice it to say, prevents systems from evolving and adapting to their environment. In standard GAs, this means that a system might be more likely to become stuck in local optima. Nature has at least three mechanisms to prevent inbreeding and yet most genetic algorithms fail to address this problem.

The first method is to prevent offspring from reproducing. Inbreeding results in increased homozygosity, which can increase the chances of offspring being affected by recessive or deleterious traits.

The second mechanism is from the instinct that many species have to drive their young males away in order to prevent incest mating between siblings.

The third mechanism is known as the Westermarck Effect, which is a psychological effect through which individuals who are raised in close proximity during childhood become desensitized to later sexual attraction.

The final consequence of inbreeding is species extinction due to lack of genetic diversity. An example is the cheetah, which is one of the most inbred species on earth and is facing extinction. Twenty thousand years ago cheetahs roamed throughout Africa, Asia, Europe, and North America. About 10,000 years ago - because of climate changes - all but one species of the cheetah became extinct. With the drastic reduction in their numbers, close relatives were forced to breed, and the cheetah became genetically inbred, meaning all cheetahs are very closely related.

Although nature forbids inbreeding almost all computer simulated genetic algorithms overlook this problem.

Evo2 prevents inbreeding via the Westermarck Effect and other simulated effects.

Epigenetic Switches

Epigenetic theory describes how changes in gene expression may be caused by mechanisms other than changes in the underlying DNA sequence, temporarily or through multiple generations, by influencing a network of chemical switches within cells collectively known as the epigenome. Evo2 can simulate epigenetic switches to allow the system to be temporarily penalized for actions such as being too greedy or risk averse.

Simulated Annealing

Simulated annealing is a probabilistic metaheuristic for the global optimization problem of locating a good approximation to the global optimum of a given function in a large search space. It is often used when the search space is discrete. For certain problems, simulated annealing may be more efficient than exhaustive enumeration.

Family Tree

Evo2 can save genealogy information for each genome so that users can review the progression of the genetic algorithm and see how certain genes have evolved their solutions over time.

Karyogram Viewer

Evo2 features a built-in karyogram, which allows visualization of genomes while genetic algorithms are evolving. The karyogram could be customized to display genealogy information for specific genomes via a context menu.

Karyotype - Karyogram Chart

Genetic Algorithm Help

Developer documentation

Genetic Programming C# Example
Genetic Programming C# Example Project based on TradeScript

Genetic Programming Based Autonomous Trading System Designer for M4

Evo2 Applications

Evo2 can be used client or server side for genetic programming (autonomous creation of trading systems), trading system optimization, portfolio optimization, asset allocation and non-finance related applications, including but not limited to artificial creativity, automated design, bioinformatics, chemical kinetics, code-breaking, control engineering, Feynman-Kac models, filtering and signal processing, scheduling applications, mechanical engineering, stochastic optimization and timetabling problems.

For a low-level (machine code) genetic programming system, check out our friends at tradingsystemlab.com
The TSL high-speed machine automatic design engine has produced the #1 and #2 S&P (eMini S&P and S&P Futures) trading systems that have been unmatched since their release!

Also check out Mad Trading Scientist™

Mad Trading Scientist


Pricing, Terms and Availability
Contact (888) 318-3754 option 1 for pricing.


   Email This Page
Copyright 1999 - 2014 Modulus Financial Engineering, Inc.