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

 
Aleksey Vyazmikin:

There must be some algorithm, because it turns out that for 15000 elements of 3 combinations, you need to keep the array in memory for 4 terabytes! And even more, I calculated, if we spend 8 bits per element.

Then we are left with the option of not storing this array in memory, but at each call, in fact, recalculate it from the beginning to the desired row (column). Instead of a huge waste of memory, there will be a huge waste of time. This is quite a standard situation for combinatorial problems.

 
mytarmailS:

I took a look...

The current file with the balance does not contain prices, the prices that you sent me earlier do not match the size of the current balance


The app includes both balance and OHLCV in one file - maybe it would be more convenient.

I had checked for an error in the indicator and it was so - I still have to deal with indicators separately.

Files:
Balans_OHLCV.zip  6871 kb
 
Aleksey Nikolayev:

Then we are left with the option of not storing this array in memory, but actually recalculating it from the beginning to the row (column) we need at each call. Instead of a huge waste of memory, there will be a huge waste of time. This is quite a standard situation for combinatorial problems.

If there is a sequence, there must be a formula or other quick solution than going through all the points. Overkill is just as inefficient to apply.

This is essentially a function with known points...

I think that you can define areas, and then by their boundaries to build a table. Well, let's say there is a pattern for each 10000 elements, then from this point to count. It is strange that such a problem is not solved.
 
Aleksey Vyazmikin:

I think you can define areas, and then build a table based on their boundaries. Well, let's say there is a pattern for each 10000 elements, then count from this point.

Well, yes, you can not store the entire array, but a heavily thinned version of it and read it to the right place, starting from the nearest line.

But what are you going to do with so many combinations?

 
Aleksey Nikolayev:

Well, yes, you can store a heavily thinned version of an array, rather than the entire array, and read to the right place, starting with the closest line.

But what are you going to do with so many combinations?

Each combination will be checked for history and the verdict will be passed - trash or reserve.

Ideally, I think about 1k leaves - stumps, which should be checked for similarity between them, leave a unique, I think in the neighborhood of 10k will be left. And from these remnants of gather groups to trade (this method I already have implemented).

As a result, if I collect more effective leaves than I can get from the tree (many trees), then this method has the right to life, and if not, then the method of greed is more effective.

 

Can you recommend a forum on Python and machine learning where you can ask nerdy questions?

 
Vladimir Karputov:

Can you recommend a forum on Python and machine learning where you can ask nerdy questions?

www.cyberforum.ru

I am not registered, but I google it often, the questions show that it is a student forum, the forum is active - new threads every day

pretend to be a student, you will pass for one of your own :)

 
Aleksey Vyazmikin:

Each combination will be checked for history and a verdict will be made: trash or reserve.

Ideally, I think, will be selected about 1k leaves - stumps, which should be checked for similarity between them, leave unique, I think about 10k will remain. And from these remnants of gather groups to trade (this method I already have implemented).

As a result, if I collect more effective leaves than I can get from the tree (many trees), then this method has the right to life, and if not, then the method of greed is more effective.

Complete overkill is a road to nowhere. See package rBayesianOptimization. It may help for your problem.

For combinations, see package pracma::combs(), randcombs(), perms(), randperm()/.

Good luck

 
Vladimir Perervenko:

A complete overkill is a road to nowhere. See package rBayesianOptimization. It may help for your problem.

For combinations, see package pracma::combs(), randcombs(), perms(), randperm()/.

Good luck

Why is the road to nowhere? For me, it's about finding a benchmark against which to evaluate faster model building methods.

Thanks for the suggestion to use packages for R, but I'm not good at it, at all.

Do you also think it's impossible to get the value of a set combination from a set without a loop?

 
Aleksey Vyazmikin:

Why the road to nowhere? For me, it's about finding a benchmark against which to evaluate faster methods of model building.

Thanks for the suggestion to use packages for R, but I'm not good at it, at all.

Do you also think it's impossible to get the value of a set combination from a set without a cycle?

If you can represent a number system, then you can without a huge loop.

you can easily get the bit combination 01101101 from 109 without going through all variants.

Reason: