Optimisation range - page 4

 

The task of optimization is to find such parameters of TS, at which we get a stable result on the tested period... The wider the time range, the more you can trust the results obtained in the future.... When testing, we get almost complete information... I would also like to see balance and equity curves depending on the time frame... But it's probably just a dream...

Question: what are these curves for? To draw broken lines on them, or rather zigzags to determine extrema.... The ups and downs... We analyze the results and select parameters...

Today after testing we know only one extremum: maximal drawdown which is obviously not enough ...

 
Vinsent_Vega писал(а) >>

what's true is true... so I'm wondering whether to take Neutron at his word or not...

Optimized - how? Just optimized his adviser or what? I thought some serious research has been done... (I haven't read Yezhov myself, so I thought it was his figure - "4")


Vinsent, I am not an apostle to be believed. All that I cited in my posts is easily verified by trivial repetition.

As for the coefficient, it can be determined in two non-overlapping ways - by direct deduction, which is difficult for me, and by estimation. Ezhov and Shumsky have shown the analytical dependence of the optimal story length on the number of adjustable parameters to an accuracy constant of the order of unity. This dependence has no limitations on the area of application. Therefore, it is enough to find its optimum value through several examples and to make sure of its stationarity, so as not to play with complicated mathematical calculations without any particular need. That has been done.

 

OK, thanks a lot... :)


Why am I picking on it so much - for me this question (optimisation range) is central at the moment... Maybe rider is right - in many respects it's a matter of psychology - I want to convince myself of the reliability of my choice... But I need to have a good reason (preferably some serious scientific research) to choose one or another optimization scheme...


but apparently, I'll have to rely only on my experience and intuition...

 
Vinsent_Vega писал(а) >>

Why am I picking on it so much - for me this issue (optimisation range) is central at the moment... maybe rider is right...

Actually it's not rider who is right, but rather kharko:

kharko wrote >>

The task of optimization is to find such parameters of TS, when we get stable result on tested timeframe... The wider the time range, the more you can trust the results obtained in the future....

The problem is much wider and more delicate, paradoxically. Indeed, if we turn to the formula which shows the dependence of the strategy tester generalization error, we see that it monotonically decreases with increasing number of P transactions: E=Eapprox+ Ecomplex=d/W+W/P, i.e. the larger the training sample the better... But this is true under the assumption of immutability (stationarity) of the market, but in fact it is changeable, and starting from some P the examples become useless, moreover - harmful. Under these conditions, it is important to define the limit after which further increasing the number of examples only worsens the situation. We need to determine the left limit for the parameter P. This will occur when the error due to the complexity of the model is comparable to the approximation error or slightly smaller than the latter, and does not tend to zero, as would be the case proposed by kharko. Therefore, there is a gentle optimum for the parameter P=k*W around k=3-6.

That is where the coefficient comes from, it is in the nature of non-stationarity of processes in the market.

 
Neutron >> :

It's not really rider who is right, but rather kharko:

The problem is much broader and more delicate, paradoxically. Indeed, if we refer to the formula which shows the dependence of the strategy tester generalization error, we see that it decreases monotonically with increasing number of transactions P: E=Eapprox+ Ecomplex=d/W+W/P, i.e. the bigger the training sample the better... But this is true under the assumption of immutability (stationarity) of the market, but in fact it is changeable, and starting from some P the examples become useless, moreover - harmful. Under these conditions, it is important to define the limit after which further increasing the number of examples only worsens the situation. We need to determine the left limit for the parameter P. This will occur when the error due to the complexity of the model is comparable to the approximation error or slightly smaller than the latter, and does not tend to zero, as would be the case proposed by kharko. Therefore, there is a gentle optimum by parameter P=k*W around k=3-6.

This is where this coefficient comes from, it is in the nature of non-stationarity of processes in the market.

God be with her with the rightness.... i don't insist, and i don't find such a right for myself )))..... i would very much like to believe in your k=3-6 and do without any forwards...... (((..... but something does not let me in, and most importantly, that routine operations are not becoming less: you could set in the optimizer the number of transactions for a certain interval - quite another conversation would take place.....

Can I have a link to Yezhov etc.?

 
rider писал(а) >>

and can I get a link to Yezhov, etc., please???

Catch, pages 64-66.

Files:
ts.zip  1592 kb
 
thank you
 
Neutron писал(а) >>

No, no. Wait!

The frequency of deals by itself, and their optimal number on the test history by itself. You optimize parameters of TS by looking at trade results - find the maximum of some functionality, in this case, it may be the comulative income or profitability (number of points per transaction). Now you have a question: given the number of adjustable parameters, you need to find the most optimal number of transactions, on which the tester will optimize the strategy. Note, not the time, namely the number of entries and exits to the market.

In short, the task includes only the number of trades - they must not be more or less than the optimal number. You have found the optimum profitability - trade. After a certain period of time, you start over-optimization and do it all the time. How to implement it in the Strategy Tester? You have to think...

....

If we have 5 parameters optimized in the tester (for example, waving periods), then the optimal length of history should be such that the tester makes 4*5=20 transactions on it. It can take from 1 to ...200 days of history, it all depends on the adopted strategy. Reducing of this number will lead to fitting the tester to the history, and increasing - to deterioration of the approximation quality and as a consequence, worsening of the prediction accuracy.

Cited excerpts from your posts.... Conclusions...

You argue that there is some optimal number of trades, depending on the number of fitting parameters... Ok... let's agree....

Now our task is to find for each run the optimal time range in which the TS performed the estimated optimal number of trades.... I.e. for some parameters the history of 1 day is enough, and for others even a year is not enough... Such variant is not suitable...

OK... Let's simplify the task.... Let's leave a constant time interval... Let's consider only those runs that give us the optimal number of deals...

Which one is the best? The answer is obvious... The one with the highest mathematical expectancy....

But what about those runs that we screened out...? Aren't they usable?

Suppose the optimal number of trades is N... There is a run with that number of trades... But there is a run with K times as many deals...

While our ideal run will make 1 trade, another one not ideal in number of trades, will already make K trades....

Now let's compare the profit we'll get from the perfect and non-perfect runs... To do this, multiply the number of trades by the corresponding value of expected payoff...

If the profit from a non-ideal run appears to be larger, it means we took too big a time period to optimize for this run, as we got the amount of deals different from the optimal one... Again the discrepancy...

Even if we take 1 run that meets the condition of the optimal number of trades, then if we just shift the time interval to the right or left, we will get different results for the number of trades...

Conclusion: the proposed method of optimization is utopia.

 

to Neutron

One more thing about the number of trades: in my EA there is such a parameter as maximum number of orders and if the parameters are chosen correctly, the increase in the number of simultaneous deals made by the EA increases the profit, but on the other hand, we get a non-optimal number of deals at a given timeframe in relation to the number of input parameters for the EA, how should we deal with this?

 

Would you like to consider this kind of optimisation and backtesting:

int start()
{
   if(IsTesting()==true)
   {
      if(IsOptimization()==true && DayOfWeek()&0xE==DayOfWeek())return;
      if(IsOptimization()==false && DayOfWeek()&0xE!=DayOfWeek())return;
   }
//код советника
//код советника
}

Instead of

DayOfWeek()
you could put another function, for example,

Month()

or the other way around, a smaller one.

  Hour()