Dynamically changing an Optimization Parameter Instance during a run?
Author: Carova
Creation Date: 11/19/2020 6:25 PM

Carova

#1
Is there a way to alter an optimization parameter instance, e.g, slider1.ValueInt is currently 10 and I want the optimization to proceed with slider1.ValueInt equal to 20?

I have found some pathological cases where certain instances of combinations of parameters need to be prevented.

Is this possible? Currently, I check for these combinations and just issue a "return;"

Vince

#2

superticker

#3
QUOTE:
I have found some pathological cases where certain instances of combinations of parameters need to be prevented.
In linear system fitting, if two parameters are highly correlated, then you need to permanently remove one parameter. This is standard procedure. That's why stat packages let you dump either a covariant matrix or correlation matrix of the model's system matrix; it facilitates locating highly correlating parameters of which one needs to be removed.

Bottom line, this is a numerical analysis problem, not a program design problem. It takes 3 points (and 3 modeling degrees of freedom) to "uniquely" define a plane. But if all 3 points fall on a line, then defining a "unique" plane becomes theoretically impossible. In mathematical terms, you need 3 linearly independently points to uniquely define a plane (or any model with 3 degrees of freedom). If they are not linearly independent, then your system matrix goes "singular".

It might be useful to have the optimizer include a "condition number" of the final fit to check how unique (and how much precision) are in the final parameter fit. Stat packages and numerical analysis packages (MatLab) have that feature. I just not sure how many WL users are into numerical modeling enough to know what a condition number is or why one would want it.

Carova

#4
Thanks Eugene for that link, but it does not address the ability to alter a parameter optimization instance "on the fly" unless I am missing something (more than possible! ;) ).

superticker,

While what you are saying for linear systems is accurate, the same issue can occur in highly nonlinear systems also, and there is no equivalent to PCA to resolve the issue. These situations happen when a small portion of the parameter space is colinear, but the vast majority of that space is not.

Vince

superticker

#5
QUOTE:
the same issue can occur in highly nonlinear systems also, and there is no equivalent to PCA to resolve the issue.
The bottom line is that your model is unstable and this instability needs to be designed out by one method or another.

In addition, my primary trading model (a buy-high strategy) has just 6 parameters. I'm afraid if I add anymore, the optimizer may not be able to converge on a unique fit. My other trading model (Voss Predictor) has only 4 parameters. Keeping the number of parameters small is one key to stability.

Carova

#6
QUOTE:
Keeping the number of parameters small is one key to stability.

ABSOLUTELY! But not all "indicators" are so linear, smooth, and well-behaved as they move from one regime to another.
This website uses cookies to improve your experience. We'll assume you're ok with that, but you can opt-out if you wish (Read more).