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

 
Renat Akhtyamov:

the profitable balance goes UP at the same angle

or geometrically, if reinvesting

I don't even know what to say... I did not think that the concept of profitability correlates with the concept of greed.

 
Aleksey Vyazmikin:

Here is the sample - broken into 3 parts, I understand that only train.csv needs to be modified?

Target column "Target_100" - last 4 columns are not involved in the training (you can focus on the column with dates there) - for the construction of the balance is needed.

I will do it in Google Colobe. You will be able to load the files and convert them yourself, without installing python.
 
Aleksey Vyazmikin:

I don't even know what to say... I didn't think the concept of profitability correlated with the concept of greed.

on the balance sheet graph, the increase in the last 4.5 years of the 5 years presented, is practically zero.

How can you stand it?

it is clearly too early to talk about profitability.

 
Aleksey Vyazmikin:

You can also try increasing the depth. You should also decrease the learning rate in parallel - this also improves the result on unbalanced samples.

They use different quantization methods, including those that take into account crowding of objects in the range.

If you found the process of quantization (setting bounds) in the code, can you post this code? There must be functions in there?

Here https://github.com/catboost/catboost/blob/3cde523d326e08b32caf1b8b138c2c5303dc52e5/library/cpp/grid_creator/binarization.cpp

All 5 types of quantization. Start with the simplest (just by crowding) f-thing called GenerateMedianBorders

catboost/catboost
catboost/catboost
  • catboost
  • github.com
A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports comp...
 
Maxim Dmitrievsky:
I'll do it in Google Colab. You will be able to upload files and convert them yourself, without installing python.

Thank you!

Watched the video, thanks! I understand that you can not convert the whole sample, but only part of it?

And maybe you know how to save the files in an archive? My Internet is too slow :(

 

Here https://github.com/catboost/catboost/blob/3cde523d326e08b32caf1b8b138c2c5303dc52e5/library/cpp/grid_creator/binarization.cpp

all 5 types of quantization. Start with the simplest (just in terms of crowding) f-thing called GenerateMedianBorders

Thank you! But this code is too weird for me :(((( Maybe you can convert it to MQL5?

 
Renat Akhtyamov:

on the balance sheet graph, the increase in the last 4.5 years of the 5 years presented, is almost zero

how can you stand it?

It's obviously too early to talk about profitability.

Isn't 50% growth relative to past growth? For 5 years 350% - is a good indicator, if we assume that the strategy is primitive and originally a sink, and uses indicators with default settings from MT5. This shows the approach which seems to be effective.

 
Aleksey Vyazmikin:

Thank you!

I watched the video, thank you! I understand that you can not convert the entire sample, but only part of it?

And maybe you know how to save the files in the archive? My internet is too slow :(

All files will be automatically zipped

different sample lengths if you over-sample some of them.

I uploaded the zip separately. Change the Internet, they have 200 mb files all by themselves))

 
Aleksey Vyazmikin:

Thank you! But this code is too weird for me :(((( Maybe you can convert it to MQL5?

I'm too lazy to convert it)
I will explain the point:

1) We sort the column
2) Consider the average number of elements in a quantum, for example 10000 elements / 255 quanta = 39,21
3) Move in cycles by 39,21 elements at each step and add the value from the sorted array to the array of quantum values. I.e. array value 0 = value 0 quantum, 39th value = 1 quantum, 78th value = 2 quantum, etc.

If there is already a value in the array, that is, if we get into an area where there are a lot of duplicates, we do not add a duplicate.

At each step, we add exactly 39.21, and then we round up the sum to select the element in the array, so that it is equal. I.e. take 196 ( 39,21 * 5 = (int)196,05) elements instead of 195 (39 * 5 = 195).

Reason: