Remaining Time of an Optimization is Too High
Author: ksand
Creation Date: 5/27/2016 2:00 PM
profile picture

ksand

#1
Sorry, I found no information on this topic. Optimization of simple strategies is very long. On the TF <15m - is practically an eternity.
PC - powerful enough.
profile picture

Eugene

#2
Your PC is fast but unfortunately, Wealth-Lab doesn't really support multi-core backtesting and optimization. Here's what the Open Issues page has been saying: (98348) Optimizer API not sufficient to create parallelized, multi-threaded optimizers. Leverage benefits of multi-core CPUs in Optimizer.

But what can be done about this? Let's summarize:

1. Reduce the number of runs required. For that, you can disable unnecessary parameters (see those new checkboxes in the Optimizer in version 6.9? that's what they are for), make the step wider, load less history etc.

2. Exhaustive optimization is the slowest and simplest method a.k.a. brute force. Consider using a faster (and smarter) optimization method. We've got three: Monte Carlo (to get a rough estimate), Genetic Optimizer (with results identical to an Exhaustive optimization it should be at least 30% faster and even more) and 3rd party Particle Swarm Optimizer. The latter is a real speed demon.

3. Launch two (three...) WL instances with the same strategy in different Windows accounts (usernames). Tweak the Strategy Parameters so that they don't overlap.

P.S. Build your own multi-threaded optimizer ;) Like the one below with open source code: Is there a way to make strategy optimization multi-threaded? (Disclaimer: I was unable to load up all the cores of my CPU with it anyway).
profile picture

LenMoz

#3
Re 1. Note that "those new checkboxes" are only implemented for Exhaustive or Monte Carlo optimizations. Particle Swarm Optimizer may support them soon. A workaround is to set Start and Stop the same and set Step to -1.
profile picture

Eugene

#4
Correction: "...for Exhaustive, Monte Carlo" and Genetic optimizers.
profile picture

LenMoz

#5
Genetic? Requires 2016.05.2. Eugene, maybe combine this revision note with your correction.