The initial population is of course generated as usually and as it is implemented right now in SQX, then, on each following sub-generation, too similar members (identical or ALMOST identical equity curve, drawdown, etc. - best detected by a simple correlation analysis of the profit curve) are being replaced by NEW candidates that SQX generates (just like for the initial population) and inserts them in place for the too similar (or exactly identical) strategies in the current generation. Now the next generation does have the slight chance that one of the new randomly generated strategies brings something new/good/better into the genetic pool - and it won´t hurt either, as we´ve just replaced identical or highly identical citizens that wouldn´t have brought us any more benefits for the following generations as they are clones already. The longer the genetic evolution runs, the more candidates in the current generation will become identical/almost identical/clones, and the more of these candidates will be replaced by completely new and fresh random strategies. This can result in that the whole evolution gets a fresh kick and is able to further improve the previously stagnating fitness of the "best candidate" that it found so far. If this isn´t the case, it won´t be worse than it is now: fitness will stagnate and you (or if configured automatically) will cancel the genetic evolution at one point where nothing new happens.
However, most of the time, and from my experience with this method, the genetic evolution basically keeps on running forever, as there will always be fresh blood being inserted. It´s basically the ideal combination of just randomly generating strategies + genetic evolution, as you get the benefits of both method at once: a steady running evolution that improves the whole pool of strategies, and fresh ones that can improve these already existing top candidates and / or will lead to completely new top candidates the longer the genetic evolution runs and the more candidates are being replaced as the generation candidates become too similar. And of course this works perfectly with islands too, as it does nothing more than to simply replace identical "looking" candidates in every generation by random new candidates.
Something to think about and I think this would be a very great addition to SQX, with minimal work needed. And of course, it can be made optional, just in case :-) But I think you guys will be surprised about how powerful this approach is.
Subject changed from Dracula demands: GIMME FRESH BLOOD! to Generate new strategies instead of too similar ones in gen evo
Priority changed from Normal to High
Yes, I think you will be surprised how great of an improvement this will make to the genetic evolution. Great to hear you can add it :-)
Status changed from New to Fixed
But I tried genetic evolution now and I don't see it generating too many same strategies even without this feature. Do you have some config that generates you a lot of same/similar strategies? If yes, can you attach it here so I can check it?
great to hear this. I think we might have misunderstood each other about the use of this feature. I am talking about that the genetic evolution gets stuck in a dead-end after > 300 generations (with 512 population size), meaning it only generates very similar results, as the evolution has converged. This won´t happen anymore to this degree if fresh random strategies are inserted for identical strategies in the current population, hence it will never converge to this degree but keep on running, going "new ways" (finding new "best" strategies). You can basically let it run forever and it will give you a perfect mixture of the random generating/genetic evolution mode of SQX.
Your idea is valid and it is not that difficult to implement. We will make it into the new build.