Page 1 of 1

Enhancement Request: System Evolver

Posted: Fri Jan 10, 2020 2:27 pm
by sbank
When the system evolver finishes, it would be nice if it can save all QScripts for inspection.

As it stands now, the system evolver will pick the one that it deems the "best" depending on the fitness function. It would be interesting to see what the other potential systems could look like. Maybe I would be able to piece some ideas together on my own.

Just a thought. :)
(System evolver currently at 10hrs and still crunching away as I write this. lol)

Re: Enhancement Request: System Evolver

Posted: Fri Jan 17, 2020 6:18 pm
by earik
Hey sbank,

10hours, huh? I guess that means you're doing it right. ;)

One of the things with the way those genetic algorithms work is that by the time you get to generation 1000 (or whatever) when it all stops, most of the individuals in the population are basically the same thing. In other words, you start out with a lot of diversity in the population, then you climb the hill towards an optimal result, and the systems all start looking pretty much the same. I remember that there was a "save top 10" option at one point, but maybe I'm thinking of the experimental build... I can look into that.

Anyway, as an aside, what you might try is running the optimizer on the same inputs a whole bunch of different times. Then you have the option of landing on a different type of solution. Then crank out signals from each of the winners and merge them together into a voting block.


Re: Enhancement Request: System Evolver

Posted: Fri Jan 17, 2020 10:43 pm
by sbank
Interesting idea around running it multiple times. I will give that a shot.

What made me think of this was in your Mechanical Trading book you allude to the fact that you stopped/paused the engine to inspect what it was doing. And then give an anecdote about how you had no idea what it was doing. :)

So I was thinking I could do something like that. When the evaluation is complete, I can look at the various scripts and tweak/update/inspect/etc. to see if I get something more useful. I have times where I run the genetic engine, it cranks away after a long time, then I get something that does not look that good. I am always curious if maybe the second (or third) best result might have been more superior.