Murray,
I think
darshanksy may be right regarding the GO ranging all variables in its optimization process, even those that are set to have no range.
I took the basic
TSStockBAHAdjust session and ran the brute force (BF) optimizer on it as a baseline. The session, as you know, had 4 variables. I optimized only three of them -
Lookback,
BearMult and
BullMult just to see what would happen. I kept the ranges "chunky" because I was just trying to get a feel for performance:
- Lookback: range from 4-12, step 2 (5 iterations)
- BearMult: range 1.1 - 1.5, step 0.2 (3 iterations)
- BullMult range 1.0-1.6, step 0.2 (4 iterations)
- DisStop: no range. 25
for a total of 60 permutations. Running the BF optimizer took about 3:07:00 with a stop watch.
Today, I set up a GO optimization of the same system with the same variables and same ranges. To avoid optimizing
DisStop, I set its upper and lower bounds identical.
Lookback I set as an interger.
BearMult and
BearMult I set as real numbers, and
DisStop was set to integer.
Results: as of this posting, the GO is 39% complete after 2:02:44 with
an estimated completion time of
5:15:35 (and rising through each step). Clearly this is significantly longer than BF optimizer.
It seems likely that the GO is using finer steps than those I explicitly set in the BF optimizer. In addition, if
DisStop is in fact being optimized as
darshanksy reports, it would greatly increase the number of permutations and explain the apparent performance disparity.