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

 
elibrarius #:
Did I understand correctly what you are doing?:


1) We get 1 tree.
2) each node can give up to 10 branches (in the found picture it is less, let's imagine 10), each branch is generated by 1 quantum (a quantum is a piece of predictor in 10%: either percentile or 10% in amplitude, depending on which quantization method was used).
3) after the first split, we find 3 quanta, which subsequently lead to a successful leaf
4) subsequent splits find several more good splits/quanta leading to successful leaves
5) remember successful quanta before successful leaves
6) build a new tree that uses only the quanta that we selected as predictors

To do it by the same method as we quantized the first tree, we quantize predictors with our script, we get 1000 out of 100 predictors, they are already binary 0 or 1. If the value of the predictor is in this range, it = 1, if not, it = 0.
Since we are selecting only successful paths/quanta, all values of the selected quanta = 1. If all predictors = 1, then the new tree cannot learn. The answer is already known.

Or is there no need to build a new tree anymore? If the value of the predictor falls into a selected quantum, can we start working immediately?

I don't build a tree at all at the first stage, but if we represent through a tree, we need to build such a tree that will select all predictor ranges at once, i.e. in each leaf separately.Then evaluate each such leaf, and if it fits the criteria, then save the chain of splits. But, I prefer 3 arrays for range/quantum extraction - that's how I implemented it in the final model.

As it is, everything seems to be correct, in the end we further build the model on these selected leaves (quanta/ranges).

For the model "1" does not mean 100% correct answer - the task of the model is to aggregate the answers, build some kind of correlation and distribute the weights.

Whether it is possible without a model at all - it depends on how the prediction accuracy will shift and at what shift it can be profitable - some strategies become profitable even at 35% of correct entries. The easiest variant that I tried is just adding up the number of ones (I also grouped them) and expect to get a signal to enter at the total threshold.

 
Aleksey Nikolayev #:

Probably the use of forward or inclusion of time in the predictors.

Of course there is time in the predictors, but it will reveal a stable cyclicity, but not an expectation of predictor drift.

 
elibrarius #:

I'm not comparing them, I'm saying that both can be "painted. And whether they do or don't, neither you nor I know 100%. I think that sometimes they do and sometimes they don't. And in the moments when they don't draw, we can earn something.

Except for Oanda and CME , I don't know. The others have only the price chart and tick volumes.

What other than oanda and CME?

You're comparing again!!!!

At CME I take volumes, at DM I take sentiment.

CME doesn't have a range

No volume from DME.

they are not the same !!! come to your senses, take pity on my keyboard... PLEASE:)

 
mytarmailS #:

Except for oanda and CME?

You're comparing again!!!!

With CME I take volumes, with DM I take sentiment.

CME doesn't have sentiment.

No volume from DME.

they are not the same !!! come to your senses, take pity on my keyboard... PLEASE:)

Again. I'm not comparing them, I'm saying that both can be "painted".

And what they have in common is that they are the only ones that are different from all the others that only have a price chart and tick volumes. These 2 give at least something else to analyze.
So what other 8 are there that give more information than all of them? It will be interesting to see.

 
Aleksey Vyazmikin #:

I do not build a tree at all at the first stage, but if you represent through a tree, you need to build such a tree, which will select all predictor ranges at once, i.e. in each leaf separately.Then evaluate each such leaf, and if it fits the criteria, then save the chain of splits. But, I prefer 3 arrays for range/quantum extraction - that's how I implemented it in the final model.

As it is, everything seems to be correct, in the end we further build the model on these selected leaves (quanta/ranges).

For the model "1" does not mean 100% correct answer - the task of the model is to aggregate the answers, build some kind of correlation and distribute the weights.

Whether it is possible without a model at all - it depends on how the prediction accuracy will shift and at what shift it can be profitable - some strategies become profitable even at 35% of correct inputs. The easiest way I tried is just to add up the number of ones (I also grouped them) and expect to get a signal on entry at the total threshold.

Well, if you do a tree, then choosing only successful chains and using only them is a duplication of the ready tree model. Just use for trading those leaves that give the desired probability of success, e.g. all leaves with 70% class probability. You just don't respond to leaves with probability < 70%. That sounds analogous to what you're doing to me.

But you're doing something through arrays there... So maybe this isn't analogous to what you're doing.

 
Aleksey Vyazmikin #:

Of course there is time in the predictors, but it will reveal a stable cyclicality, but not the expectation of predictor drift.

I did not express myself correctly. What I meant was that time-dependent weights are added to the loss function. The closer to the end of the training period, the more weight is added. The variants with and without weighting will give different losses, if even on average (without weights) they were the same. But you have to experiment, of course.

 
elibrarius #:

So what other 8 are there that give more information than all of them? It will be interesting to see.

Why?

Do I have to google 10 links right now to paste in here for what?

What are you going to do with it?

I'm 99.999% sure it's nothing, just a waste of my time.


I'll tell you this, there are about 17 DC-shock who give information about their clients' positions

Google it all.

And here's what I found.

https://www.dailyfx.com/sentiment&nbsp;     
https://www.valutrades.com/en/sentiment
https://www.dukascopy.com/swiss/english/marketwatch/sentiment/
http://www.forex-central.net/saxo-bank-open-positions.php
http://www.forex-central.net/current-buy-sell-forex-positions.php
https://www.forexfactory.com/#tradesPositions
https://www.xtb.com/int/market-analysis/news-and-research
https://tradecaptain.com/ar/sentiment
https://forexclientsentiment.com/client-sentiment
https://www.vantagefx.com/clients/free-tools/forex-sentiment-indicators/
https://investing.com/markets/sentiment-outlook
https://www.home.saxo/insights/tools/fx-options-sentiment/tool-details
https://admiralmarkets.com/analytics/market-sentiment?regulator=fca
https://forexbenchmark.com/quant/retail_positions/
https://www.fxblue.com/market-data/tools/sentiment
https://my.liteforex.com/trading/analytics?symbol=EURUSD&_ga=2.237338496.1654455071.1637403043-481924417.1637403043
 
the forum is allergic to some links
 
elibrarius #:

Well, if you make a tree, then choosing only successful chains and using only them is a duplication of the ready tree model. Just use for trading those leaves that give the desired probability of success, for example all leaves with a probability class of 70%. You just don't respond to leaves with probability < 70%. That sounds analogous to what you're doing to me.

But you're doing something through arrays there... so maybe it's not analogous.

I have such approach, when selecting leaves from tree, but there they use interrelations of different predictors, and here we are talking about selecting one price segment of one predictor through the tree - I had maximum improvement of accuracy relative to average 15% on such segment (range/quantum).

 
Aleksey Nikolayev #:

I did not express myself correctly. What I meant was that time-dependent weights are added to the loss function. The closer to the end of the training period, the more weight is added. Variants with and without decrease will give different losses, if even on average (without weights) they were the same. But you have to experiment, of course.

I think that at the beginning it is necessary to somehow calculate the statistics, whether it makes sense, and then implement in the training process.

Therefore, the question remains - how to do it right.

Suppose I have 3 such binary sequences with 10 points of measurements on comparable time intervals.

A[]={1,0,0,1,1,1,1,1,0,1};

B[]={1,1,1,1,1,1,1,0,0,1};

C[]={1,1,0,1,1,1,0,1,0,1};

And so I want to understand/plot how the probability of a unit changing as the units increase in a row.

I understand that we need to count the number of sequences to begin with, but again, should we count the long sequences as one or should they be counted separately, for example 1111 split into 1,11, 111 and 1111 or is it just 11?

And then what should I do? How can I estimate if the process is regular or random?

 
mytarmailS #:

Why?

Thank you. I'll take a look, for starters. Maybe I'll think of something to use.

Reason: