You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Probably knocking on an open door, but since the original didn't have...
It is recommended to preprocess before converting to the range [0,1]:
1. removal of periodicity, I did it in periodicityArrays() - the profile composed by days of week and hour for a month is subtracted from the range (though I did it only for the hour timeframe).
2.Removal of linear trend in linearTrendArrays() as recommended a[i]=a[i]-a[i+1].
3.And here is where the autocorrelation check should be (not implemented yet)
Predictability after 1 and 2 actions has increased significantly. The code is attached.Thank you for your hard work, I will definitely look at it today-tomorrow
As for removing the linear trend - this is using increments, in RF recursive it is done so, for example. But private prices are used, not differences, and the increments are enumerated with different lags. That is, the input is simply prices, and then preprocessing with selection of the best increments (in general, this is called sequential trend selection, in the literature, here such an operation is not literal, but it is an analogue). You use increments with a single lag, i.e. in essence all long-term information is lost. Major trends still need to be accounted for in the market somehow. Moreover, many sources on BP forecasting explicitly state that a linear trend must necessarily be accounted for, even just time dependence. There is a little confusion in the minds of machine-learners in terms of normalisation and standardisation of variables for predicting pseudo-stationary processes and for predicting time series. They are starting to adopt approaches that do not work for BP prediction problems. In time series prediction, trend is almost the most important thing :) Perhaps it makes sense to feed not the linear trend itself as inputs, but statistical characteristics for a selected period (moments of distributions), I haven't tried it.
regarding periodicity - I don't really get the idea.
I didn't notice any big improvements on OOS compared to the basic version
Maxim Dmitrievsky:
There is a little confusion in the minds of machine-learners about the normalisation and standardisation of variables for predicting pseudo-stationary processes and for predicting time series. They are starting to adopt approaches that do not work for BP prediction problems. In time series prediction, trend is almost the most important thing :) Perhaps it makes sense to feed not the linear trend itself as inputs, but statistical characteristics for a selected period (moments of distributions), I haven't tried it.
regarding periodicity - I don't really get the idea.
I didn't notice any big improvements in the OOS compared to the basic version.
Removal of periodicity and linear trend is taken from: Orlov, Osminin Non-stationary time series Forecasting methods with examples of analyses of financial and commodity markets. 3 points of data preparation are taken in their entirety. Perhaps this is a requirement for the algorithm considered in the book, but I have improved the result.
Let me explain how I test. A year is taken with a shift of one month back. Training the model. I test the model on the last month (which was not included in the training). Maybe a month is not enough, but I assume that the model should work for the future period. There is no point in looking at more than a month, the model will be over-optimised during this period. With this approach, profitability in the first days is important to me (and subjective evaluation - the period of time after which it is necessary to re-optimise). With the previous variants I managed to achieve + trading for 1-1.5 weeks ahead steadily, then the slides started. With the use of the above mentioned pre-processing, I managed to achieve 2-2.5 weeks in +. This is what I call the increase of predictability. Perhaps my approach is not quite statistically correct, but in my opinion it is practical. 2 weeks of stable work of the method already allow to use it in real trading with re-optimisation after a week. Naturally, the last period will be used for training (without deviation).
Removal of periodicity and linear trend taken from: Orlov, Osminin Non-stationary time series Forecasting methods with examples of analyses of financial and commodity markets. 3 points of data preparation are taken in their entirety. Perhaps this is a requirement for the algorithm discussed in the book, but I have improved the result.
Let me explain how I test. A year is taken with a shift of one month back. Training the model. I test the model on the last month (which was not included in the training). Maybe a month is not enough, but I assume that the model should work for the future period. There is no point in looking at more than a month, the model will be over-optimised during this period. With this approach, profitability in the first days is important to me (and subjective evaluation - the period of time after which it is necessary to re-optimise). With the previous variants I managed to achieve + trading for 1-1.5 weeks ahead steadily, then the slides started. With the use of the above mentioned pre-processing, it was possible to achieve 2-2.5 weeks in +. This is what I call the increase of predictability. Perhaps my approach is not quite statistically correct, but in my opinion it is practical. 2 weeks of stable work of the method already allow to use it in real trading with re-optimisation after a week. Naturally, the last period will be used for training for trading (without deviation).
Thanks. I'll take a look. Admittedly, I'm a bit confused about what is the best way to feed the model. The multiple transformations are taking it into the wilds, completely unintuitive
At the moment I'm exploring the applicability of linear models in this approach
s.s. do you have it in electronic form?
Maxim Dmitrievsky:
s.s. you don't have it electronically?
Unfortunately paper. It's a monograph, I haven't found it on the net, but there are original scientific articles to it (search <family name> non-stationary series), tomorrow I'll try to film the chapter on financial markets.
Unfortunately paper. This is a monograph, I have not found it on the net, but there are original scientific articles to it (search <family name> non-stationary series), tomorrow I will try to film the chapter on financial markets.
I would like to know exactly how they see it, I understand the rest.
The algorithm is in section 6.4.2, the link goes to the 5.2.1 end. Just in case I made both chapters in their entirety, I apologise without processing the scans, but there is little free time at work (and the scanner is working).
thanks! started reading
thanks! started reading
Sorry, it may be useful: Gaidyshev Data Analysis and Processing Special Reference 2001. ch6 methods of dimensionality reduction (the book is good with examples in C). There is pdf on the net, I could attach only djvu (file size limitation).
Yes, PCA is one of the options to solve the problem, you can experiment. I tried it on a simple test example - at least it didn't get worse, I'm not sure about better yet
Sorry, it may be useful: Gaidyshev Data Analysis and Processing Special Reference 2001. ch6 methods of dimensionality reduction (the book is good with examples in C). There is pdf on the net, I could attach only djvu (file size limitation).
https://www.mql5.com/ru/forum/86386/page1189#comment_9795331