Discussion of article "Metamodels in machine learning and trading: Original timing of trading orders" - page 14

 
Aleksey Vyazmikin #:

Reference

oh mai gash, how many features are there... well you need a dataframe column, a Klose column and labels

everything as in the article, look how the dataframe looks like there. Otherwise you will have to rewrite the tester and everything else.

I don't even know how much time it takes to learn on something like this.

 
Maxim Dmitrievsky #:

Oh, my gosh, that's a lot of signs. Well, we need a datetime column, a Klose column, and tags.

like in the article, look at the dataframe. Otherwise you will have to rewrite the tester and everything else.

I don't even know how much time it takes to learn on something like this.

So I rewrote the tester, and everything else....

Okay.

 
Maxim Dmitrievsky #:

I don't know how long it takes to train on one of these.

My code runs a bit faster than the original code :) So the training is even faster. But I am using GPU.

Please clarify if there is an error in the code.

    X = dataset[dataset['meta_labels']==1]
    X = dataset[dataset.columns[:-2]]

This expression seems to be correct

    X = dataset[dataset['meta_labels']==1]
    #X = dataset[dataset.columns[:-2]]
    X = X[X.columns[:-2]]

Otherwise the first line just doesn't make sense, because in the second line the condition of data copying is executed again, which leads to copying without filtering by the target "1" of the meta model.

I'm just learning and could be wrong with this python, that's why I'm asking.....

 
Aleksey Vyazmikin #:

My code works a bit faster than the original code :) So the training is even faster. But I use GPU.

Please clarify if this is a bug in the code

The correct expression seems to be

Otherwise, the first line simply does not make sense, because in the second line the condition of data copying is executed again, which leads to copying without filtering by the target "1" of the meta model.

I'm just learning and could be wrong with this python, that's why I'm asking.....

Yes, you noticed correctly, your code is correct

I also have a faster and a slightly different version, I wanted to upload it as a mb article.
 
Maxim Dmitrievsky #:

Yes, you noticed correctly, your code is correct.

I also have a faster and a slightly different version, I wanted to upload it as a mb article.

Write, it will be interesting.

The best I could get on the training.


And this is on a separate sample


I added the process of initialisation through training.

Files:
 
Aleksey Vyazmikin #:

Write, it'll be interesting.

The best thing about the training that I was able to get


And this is on a separate sample


I added the process of initialisation through training.

Well, you already know Python.
If it shows this, it means that it is very difficult to find a pattern. In your case, it may be due to the high dimensionality of the data. I usually put 5-10 signs.
 
Maxim Dmitrievsky #:
There you go, you already know python
.
If it shows this, it means that it is very difficult to find a pattern. In your case, it may be due to the high dimensionality of the data. I usually put 5-10 features.

I wouldn't claim to be an expert - all with a "dictionary".

I was interested to find some effect of this approach. So far I haven't realised if there is any. In general, CatBoost is trained on the sample, without any "magic" - the balance is below on the picture. Therefore I expected a more expressive result.


 
Aleksey Vyazmikin #:

I wouldn't claim to be versed - all with a "dictionary".

I was interested in finding some effect of this approach. So far I haven't realised if there is any. So, CatBoost is trained on the sample, in general, without any "magic" - the balance is below on the picture. That's why I expected a more expressive result.

The effect appears after several iterations, as shown in the article. On each iteration of training should become better.