Is there a pattern to the chaos? Let's try to find it! Machine learning on the example of a specific sample. - page 27

 
Aleksey Vyazmikin #:

In Excel, the count goes from one, and in CatBoost and mql (and other languages) from zero.

I.e., as I understand, you just took the last column, made an array accumulative, and got a graph. Let's say. You created some predictors based on this data. And the target is the next value of this series, or the original, i.e. delta? I.e. a regression model that gives the result conditionally (+x||-x), and if +x, we enter the trade, right?

I'll try to give the data for those last columns, but a bit later - some changes were made by me to the code since then, then they were lost and everything was reworked again - hard case.

That's right! A target is formed from the graph. Then just one turkey - an oscillator - is "fitted" to this target through genetics. The oscillator is used as a predictor and it is also the target (its next step). And then if the next predicted step of the target is down, we sell, if up, we buy. That's the whole simple algorithm. There is no takeout, because the profit is only on the reverse signal. And the stop is calculated on all negative trades on the sample train through the statistical approach (5 sigma average of negative trades), but in the above pictures the stop is zeroed to tighten.

 
RomFil #:

Still don't get it ... :( What deals, what markings?

The trading approach is as follows:

1) There is a price movement (Close chart, for example bitcoin). A muving with period 9 and shift -2 is plotted on the chart for clarity.

2) Trading with the approach described above implies signals to sell or buy an asset without being tied to the lot. At one moment of time there is one trade on the asset.

3) If the trade made a profit, then +A number of points is recorded in the total, otherwise -A.

4) This is how the income in points is formed.

It is clear that if you add spread and commission to the profit charts mentioned above, the pictures will not be so rosy.

Everything is solved ten times easier. Time is time.
 
RomFil #:

That's right! A target is formed from the chart. Then only one turkey - an oscillator - is "fitted" to this target through genetics. The oscillator is used as a predictor and it is also the target (its next step). And then if the next predicted step of the target is down, we sell, if up, we buy. That's the whole simple algorithm. There is no takeout, because the profit is only on the reverse signal. And the stop is calculated on all negative trades on the sample train through the statistical approach (5 sigma average of negative trades), but in the above pictures the stop is zeroed to tighten.

The financial result was counted by one column, as I understand it.

Try two - the last one for sales and the penultimate one for purchases. In this case, the Target_P column should become a filter - if the chart is +1 and sigal to buy, then make it, otherwise skip the entry, the same for selling - -1.

If the chart is in plus, I will admire it.

The strategy already has a direction, so the fin result for the opposite entry was not actually calculated.

 
Aleksey Vyazmikin #:

The financial result was counted on one column, as I understood it.

Try two columns - the last one for sales and the penultimate one for purchases. In this case, the Target_P column should become a filter - if +1 and sigal to buy, then carry it out, otherwise skip the entry, the same for sales - -1.

If the chart is in plus, I will admire it.

The strategy already has a direction, so the fin result for the opposite entry was not actually calculated.

Sorry, but I won't even try. Who says Target_P is the right "filter". Well, the last two columns are opposite signals - the value is the same, but the sign is different. That's why the above result is obtained on the data we have.

There is a proposal to make some new samples. At least "chaos", or any real instrument. Two samples are enough: (1) traine and (2) test. depth of sampling traine from 10k values. Although who needs what ... :)

Regards, RomFil.

 
RomFil #:

Sorry, but I'm not even going to try. Who said that Target_P is the right "filter". Well, the last two columns are opposite signals - the value is the same, but the sign is different. That's why the above result was obtained on the available data.

There is a proposal to make some new samples. At least "chaos", or any real instrument. Two samples are enough: (1) traine and (2) test. depth of sampling traine from 10k values. Although who needs what ... :)

Regards, RomFil.

Can you drop then the classification results on each sample separately?

I just want to understand how the obtained result can be applied. So far, my idea is that I should enter without stop losses and maybe the result will match.

And what is the oscillator - tell me?

I can make another sample, but I don't understand if I need the whole sample or only the tail with markup/calculation data of the financial result?

 
Aleksey Vyazmikin #:

Can you drop then the classification results on each sample individually?

I just want to understand how the obtained result can be applied. So far, the idea is that we should enter without stop losses and maybe the result will match.

What is the oscillator - can you tell me?

I can make another sample, but I don't understand if I need the whole sample or only the tail with markup/calculation data of the financial result?

An oscillator can be anything! The main task of any oscillator is to convert a chart into another chart, but with a known amplitude in advance. I use my self-written one, but that is not the main thing.

The sample can be any! You can do it without any result.

However, I just tried a regular random generator from 0 to 1 and ... Failed to use the approach!!!

The reason has already been determined, it is very noisy data. However, there is a way out of this situation! Increase the sampling timeframe! If the sample is unprofitable, then we make M2 out of it and check it again. If the sample is unprofitable again, then M3, etc.


P.S. Although out of 10 times of checking once failed only ... :) And that negative result was after training the neural network committee on a tray sample. With such a result we can generally say that the sample is not predictable at all.

 
RomFil #:

An oscillator can be anything! The main task of any oscillator is to convert a chart into another chart, but with a known amplitude in advance. I use my self-written one, but it is not the main thing.

The sample can be any! It is possible without a result.

However, just now myself tried the usual random generator from 0 to 1 and .... Failed to use the approach!!!

The reason has already been determined, it is very noisy data. However, there is a way out of this situation! Increase the sampling timeframe! If the sample is unprofitable, then make M2 out of it and check it again. If it is unprofitable again, then M3, etc.


P.S. Although out of 10 times of checking once failed only ... :) And that negative result was after training of the neural network committee on a tray sample. With such a result we can generally say that the sample is not predictable at all.

Well, any, of course it can be, but not everyone will be effective.

I attach a file with a markup similar to the one you have already trained - check the model on it.

And, I don't quite understand whether to expect the marked-up file to predict your model or not?

Files:
New_data.zip  21 kb
 
Aleksey Vyazmikin #:

Well, anyone can be, of course, but not everyone will be effective.

I attach a file with a markup similar to the one you have already studied - check the model on it.

And, I don't quite understand whether to wait for the marked-up file to predict your model or not?

I want to clarify "marked up file by forecast" - is it to make a new column and there specify on which step is buy, on which is sell?

 
RomFil #:

I want to clarify " marked file by forecast" - is it to make a new column and there specify on which step is buy, on which is sell?

Well, yes, I think so.

You can send only this column - you don't need the rest. And the date - to control synchronisation.
 
Aleksey Vyazmikin #:

Yeah, I think so.

You can send only this column - you don't need the rest. And the date - to control synchronisation.

I've added a column: "1" buy, "-1" sell. Opening a deal in case of a signal change to the opposite one. I think I did it correctly, but I did not check it ... :) Laziness.

On the chart without spread and commission this is the result in points:

Results: PR=157488 +trades=778 -trades=18 (profit, number of positive and negative trades).

Spread of 0.00050:


Results: PR=117688 +trades=629 -trades=167

Spread at 0.00100:

PR=77888 +trades=427 -trades=369

Spread at 200:


PR=-1712 +trades=241 -trades=555

Files: