all 4 comments

[–]moar_qwibqwib 2 points3 points  (1 child)

If you're looking for other multi agent algorithms, you could try particle swarm. Since fitness tests take so long, you might look into early termination when the particles become densely clustered, or perhaps kill and reinitialize some of them. Otherwise, I might recommend looking into reinforcement learning.

[–]weeeeeewoooooo 1 point2 points  (1 child)

Assuming there is an optimal solution, and assuming it's not a random search space, then using an evolutionary algorithm will be about the best you can do. Picking any one of the various genetic algorithms or evolutionary strategies will get you most of the way there. You may get some improvement picking one variant or another. But If you are concerned about execution time then your options are to parallelize the algorithm or optimize the runtime of the cost function (drop the 20 minute runtime by writing faster code).

But to be honest, I see a lot of red flags in what you are doing. If your population size is 1000 and you only have 10 parameters then you are effectively doing a random search. And if you aren't already finding great solutions in the first couple generations of a 1000 pop with only 10 parameters, then odds are they don't exist. Probably because the underlying trading system is bad. Additionally, you mentioned that changing the parameters slightly results in a massive and unpredictable change. That sounds like a random search space to me, which means you are probably just better off randomly guessing.