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

 
Farkhat Guzairov:

I have.... I draw conclusions from backtests in the tester, what do you think the result you get if your system is trained correctly? Almost 90% outcome of correct inputs. Previously the same backtests did not give such an outcome, from which I conclude that the training in this case was correct.

Try the same in your case.

I don't quite get the idea.
I can already give you an advisor in exchange for constructive criticism and a bug report. Write in person.
 
Evgeny Dyuka:
I don't quite get the idea.
I can give you now an Expert Advisor in exchange for constructive criticism and bug report. Send me a personal message.

I think I tried to make it very simple. You don't have a system yet, once you have it, you can run it through history and draw conclusions about how ready (trained) it is.

 
Farkhat Guzairov:

I think I tried to make it very simple. You don't have a system yet, as soon as you have one, you can run it through history and draw conclusions about how ready (trained) it is.

I will not be able to judge how ready it is (it will be trained). The forecast goes out every minute, it takes 12-17 seconds (up to 22 seconds), there are 1400 minutes in a day. One day backtest will take hours...
 
Evgeny Dyuka:
It's unreal to run it through the history! Every minute the forecast goes out, calculation takes 12-17 seconds (up to 22 seconds), there are 1400 minutes in a day. One day backtest takes hours.

Well... What part of the story do you train the neural network on anyway (5/30 minutes)?

 
Aleksey Vyazmikin:

I went to look at their help, but I do not understand it - it's too confusing. I'll try to find this point later in the video, they explain it more clearly.

But I saw that CB added new options for building trees.

--grow-policy

The tree growing policy. Defines how to perform greedy tree construction.

Possible values:
  • SymmetricTree-Atree isbuilt level by level until the specified depth is reached. On each iteration, all leaves from the last tree level are split with the same condition. The resulting tree structure is always symmetric.
  • Depthwise- A tree is built level by level until the specified depth is reached. On each iteration, all non-terminal leaves from the last tree level are split. Each leaf is split by condition with the best loss improvement.

    Note. Models with this growing policy can not be analyzed using thePredictionDiff feature importance and can be exported only tojson andcbm.
  • Lossguide- A tree is built leaf by leaf until the specified maximum number of leaves is reached. On each iteration, the non-terminal leaf with the best loss improvement is split.

It makes sense to take the best split from a set of random splits rather than a random split from a set of random splits (which will result in white noise in the output, not a trained model). That's how they write "best loss improvement" for 2 out of 3 methods.
 
Evgeny Dyuka:
12-17 seconds (up to 22 s)

Does it take learning?

 

The red arrows are already considered stale, but this does not invalidate their performance. As a result, so far not a single minus in transactions, if you have not noticed. Well, who's the ***? :-)


 
Farkhat Guzairov:

Well... What part of the story do you train the neural network on anyway (5/30 minutes)?

It's not like that...
One model (a neural network) does not give the right result. It can learn something, but it is not enough. That is why I make 20-25 models with different chips on input. Now I have 25 models signaling at the same time, and each model's opinion is considered with certain weight in final forecast. Calculation of one model takes about 0.5-0.7 seconds totaling 15-20 seconds + we should prepare input date for 25 models, that is a lot of work for every minute) The answer can be reduced to 1-3 seconds if I use multithreading correctly in python, but I haven't done that yet.
I train models separately, in normal mode, i.e. dataset is collected from history period from one year and then training as usual.
 
Mihail Marchukajtes:

The red arrows are already considered stale, but this does not invalidate their performance. As a result, so far not a single minus in transactions, if you have not noticed. Well, who's the ***? :-)


Do you have an account monitor?

 
Evgeny Dyuka:
It's not like that.
One model (neuronet) does not give the right result. It may learn something, but it is not enough. Thats why I build 20-25 models with various inputs. Now I have 25 models signaling at the same time, and each model's opinion is considered with certain weight in final forecast. Calculation of one model takes about 0.5-0.7 seconds totaling 15-20 seconds + we should prepare input date for 25 models, that is a lot of work for every minute) The answer can be reduced to 1-3 seconds if I use multithreading correctly in python, but I haven't done that yet.
I train models separately, in normal mode, i.e. dataset is collected with history period from one year and then training as usual.

How serious it is... Now you just have to make sure that you can really trade on it.