Machine learning in trading: theory, models, practice and algo-trading - page 183

 
mytarmailS:

Did you have a long learning curve ? this is the last one

I don't know, I just left the computer on overnight for the model to learn. In the morning it was ready, the training was no more than 7 hours, in fact probably much less.
 

The default settings in the newConfigNEAT function are as follows

newConfigNEAT(numInputs = 14 ,numOutputs = 1,maxNumOfNodes =500 ,speciesPopulation = 50)

I am currently on the 32nd generation

generation minFitness maxFitness meanFitness medianFitness
32         32   82.23862   150.0092    140.4628      145.5368
[1] "Starting simulations..."
[1] "1.59 % Finished simulation of species 1 / 44 genome 1 / 6 with fitness 146.091452597612"
[1] "3.17 % Finished simulation of species 1 / 44 genome 2 / 6 with fitness 146.091452597612"
[1] "4.76 % Finished simulation of species 1 / 44 genome 3 / 6 with fitness 146.091452597612"
[1] "6.35 % Finished simulation of species 1 / 44 genome 4 / 6 with fitness 146.091452597612"
[1] "7.94 % Finished simulation of species 1 / 44 genome 5 / 6 with fitness 146.091452597612"
[1] "9.52 % Finished simulation of species 1 / 44 genome 6 / 6 with fitness 146.091452597612"
[1] "11.11 % Finished simulation of species 2 / 44 genome 1 / 2 with fitness 145.536759116526"
[1] "12.7 % Finished simulation of species 2 / 44 genome 2 / 2 with fitness 145.536759116526"

how many generations should be 50 or 500 in total?

=====================================

ended on the 35th generation, why exactly on the 35th? dunno...ThanksDr.Trader

and something went wrong, on the OOS, for some reason it did not count up to the end

а

 
There will only be 36 generations, the number of times NEATSimulation.RunSingleGeneration(tradingSimulation) is called in the code (once by itself, and then 35 times in the loop)
 
mytarmailS:

And something went wrong, on the OOS, for some reason, the equities are not counted until the end.

All according to plan, somewhere in the rules of trading there is to stop if the drawdown will be too big.

As soon as the S & P fell - the whole strategy collapsed, I had the same result. The author of the article either got very lucky (unlikely), or he went through different obtained trading models for the sake of beautiful OOS pictures.

 
Dr.Trader:

All according to plan, somewhere in the rules of trading it is specified to stop if the drawdown will be too big.

As soon as the S&P fell - the whole strategy collapsed, I had the same result. The author of the article either got very lucky (unlikely), or he went through different obtained trading models for the sake of beautiful OOS pictures.

Selection Bias for OOS. sic
 
Dr.Trader:

All according to plan, somewhere in the rules of trading it is specified to stop if the drawdown will be too big.

As soon as the S&P fell - the whole strategy collapsed, I had the same result. The author of the article either got very lucky (unlikely), or he went through different obtained trading models for the sake of beautiful OOS pictures.

I don't know,Vladimir Perervenko says everything is quite optimistic and the net does not plummet hard, like everything I've seen before and the net was training on a down trend while the oos trend is going up, I have to try it on my data and with my predictors and on a smaller timeframe, but I don't know anything about the code and the net will probably take weeks to learn
 

I tried again in what Vizard_ described.

Two indicators is very little, I can't even find something suitable. In general, it turned out so-so, an illustration on the theme of "garbage on the input -> garbage on the output".

The coordinates are the values of the two indicators. Blue color - points belonging to "buy" class, red - to "sell".

6 models are trained on "Train Data" points, and then used to predict a set of points in coordinates (-2;-2)->(2;2), you can see exactly how the models remembered the data, and what came out in the prediction on the coordinates new to the model.


 
Dr.Trader:

I tried again in what Vizard_ described.

Two indicators is very little, I can't even find something suitable. In general, it turned out so-so, an illustration on the theme of "garbage on the input -> garbage on the output".

The coordinates are the values of the two indicators. Blue color - points belonging to "buy" class, red - to "sell".

6 models are trained on "Train Data" points, and then used to predict a set of points at coordinates (-2;-2)->(2;2), you can see exactly how the models remembered the data, and what came out on the prediction on the new coordinates for the model.


Beautiful, and informative... thank you for that

I will probably have to get together and write about my idea of searching for pure patterns (but it will take time), since I see that it is important... Maybe some good will come of it ...

Dr.Trader in my opinion the whole problem is that we're trying to force the MO to divide the entire sample into classes, and what if objectively can only divide ~3% of the sample, and we say no MO you mighty go ahead and divide everything, I don't care :) so he separates the inseparable with a known result...

You see, we try to divide all sample into buy and sell and by that we want to predict every single move in the market, but our predictors are so shitty that they can objectively predict only~3% of all moves, so what do we need? We need to try to take at least that3% and just throw out the rest undivided because that is the same garbage on entry/noise that needs to be sieved/reason for retraining etc... call it what you want, it's all right...

While I haven't yet written how I see it, does anyone have any suggestions on how to do this selection?

p.s. Sanych please, but do not go back to the PCA, this is not the coat ;)

 
mytarmailS:

Beautiful, and informative... thank you for that

Maybe I'll have to pull myself together and write about my idea of searching for pure patterns (but I need time), because I see that it is relevant... Maybe some good will come of it ...

Dr.Trader in my opinion the whole problem is that we're trying to force the MO to divide the entire sample into classes, and what if objectively can only divide ~3% of the sample, and we say no MO you mighty go ahead and divide everything, I don't care :) so he separates the inseparable with a known result...

You see, we try to divide all sample into buy and sell and by that we want to predict every single move in the market, but our predictors are so shitty that they can objectively predict only~3% of all moves, so what do we need? We need to try to take at least that3% and just throw out the rest undivided because that is the same garbage on entry/noise that needs to be sieved/reason for retraining etc... call it what you want, it's all right...

While I haven't yet written how I see it, does anyone have any suggestions on how to do this selection?

p.s. Sanych please, just do not tell me about the PCA again, it's not that coat ;)

I've previously described my approach to the division into 3 classes (sell, fence, buy). The class "fence" includes all cases that are contradictory or cannot be divided into buy and sell classes. It turns out that just 3-10% fall into the buy and sell classes. The beauty of this approach is that working with unknown data (real) with time the net stops recognizing market situations and starts attributing them to "the fence", i.e. it gradually stops trading. This is a hundred times better than starting to make more and more mistakes with entry over time.

But all to no avail, no one needs, no one listens.

Reason: