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

 
Alexey Burnakov:

You have no idea how your model works over long periods: there is no big forward test and no walking forward test. Your model may be a set of learned noises that you mistook for signals in a few well-matched pictures.

I suggest you reconsider your approach and do extensive testing first. You'll see troughs and mountains and maybe, but unlikely, you'll beat the zero-mat expectation a little. And you can do it all before you start losing real money.

Most of all I'm surprised by your confidence in my system. Well, let's see at the end of the week I'll show you how it works... ok?
 
Mihail Marchukajtes:
What surprises me most is your confidence in my system. Well, let's see at the end of the week I'll show you how it works... Okay?

Don't. One week plus, one week minus. It's no indication.

I'm not 100% sure about your system. There is a statement of fact: you don't know how it will work over more or less a long period of time. This thread is about sharing experiences. Here is my experience that your results so far can be either random or a pattern, but random with a much higher chance. And I give you advice.

 

Hello!

I am trying to run a convolutional network from the package mxnethttp://tjo-en.hatenablog.com/entry/2016/03/30/233848 but not quite, or rather not clear how to run it with "our" data, namely in the form of strings, because the network works mostly with pictures and data takes the form of a multidimensional array with matrices, in short, if anyone understands and knows how it should be run, I would be very grateful for an example of the network, say, with "irises"

{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
  • 2016.03.30
  • tjo-en.hatenablog.com
Actually I've known about MXnet for weeks as one of the most popular library / packages in Kaggler, but just recently I heard bug fix has been almost done and some friends say the latest version looks stable, so at last I installed it. Convolutional Neural Network (CNN) I believe almost all readers of this blog already know well about Deep...
 
Mihail Marchukajtes:
No way... You need to watch the number of errors out of the total number, and if the errors go up, you should retrain the network. For example, if you have 4 errors out of 20 signals, it is ok, if the number of errors increases, you need to retrain the net. There is another question ... what model to choose so that it can be trusted for 10 signals. Well, Yuri has already kind of described it. Choose the model that shows the maximum level of generalization of both binary and trinary models and start working on it. And to qualitatively increase the working time of a strategy, we should increase the trainable interval, and to increase it we should increase the number of inputs. I.e. 10 inputs can saw 100 signals to zero. 15 inputs can break 225 records, and this is 6 weeks of signals, respectively, the network running time out of sample will be longer, not a week, but two... With the proper level of error. It is not possible to work without errors. I would like to, but it is not possible. The main thing is to reduce the influence of this error on the deposit and you're in business.)

Please be careful with libVMR or jPredictor, they show inflated performance in forex. For forex, it is very important to test on data outside the training sample. libVMR or jPredictor takes data from a source file, randomly selects half of the rows to train a model, then builds a model on that data, and tests it on the remaining rows. This may be suitable for evaluating the recognition of pictures, or text, or any other simple task. But it will not work in Forex.

Make a simple experiment: I think you have 200 lines in the training file and the prediction range is 30%. So divide the file in two - the first file will have 150 first lines, the second will have the remaining 50 last lines. Train jPredictor on the new file with 150 lines. then make a prediction for the remaining 50 lines with "use model" (you will have to enter data one by one, it will take some time). Count the number of correct answers, there will not be 90%, I think it will be about 60% at best.
You are still in profit only because of your main indicator, it seems to be more or less profitable, and thanks to the additional filter in the neuron you just slightly improve it.

 
Alexey Burnakov:

Don't. One week plus, one week minus. It's no indication.

I'm not 100% sure about your system. There is a statement of fact: you don't know how it will work over more or less a long period of time. This thread is about sharing experiences. Here's my experience that your results so far can be either randomness or regularity, but randomness with a much higher chance. And I'm giving you advice.

So you want to have a grail. You train once and spend the rest of your life cutting coupons? Is it like that? I`m surprised, what year have you been on the market? If it's no secret...... Do you know that the market is changing constantly and after some time the model just disappears, if you want the model to work for a long time, then switch to a monthly chart, in this case it is just right. And so, for 5 minutes the work in a week is quite normal result, then comes overtraining....Well, if two weeks then in general class....
 
Dr.Trader:

Please be careful with libVMR or jPredictor, they show inflated performance in forex. For forex, it is very important to test on data outside the training sample. libVMR or jPredictor takes data from a source file, randomly selects half of the rows to train a model, then builds a model on that data, and tests it on the remaining rows. This may be suitable for evaluating the recognition of pictures, or text, or any other simple task. But it wouldn't work in forex.

Make a simple experiment: I think there are 200 lines in the training file and the prediction range is 30%. So divide file in two - the first file will have 150 first lines, the second will have the remaining 50 last lines. Train jPredictor on the new file with 150 lines. then make a prediction for the remaining 50 lines with "use model" (you will have to enter data one by one, it will take some time). Count the number of correct answers, there will not be 90%, I think it will be about 60% at best.
You are still in profit only because of your main indicator, it seems to be more or less profitable, and thanks to the additional filter in the neuron you just slightly improve it.

You just don't know how to prepare data :-) I have no prediction range at all, I'm not predicting anything. This is the 30% confidence interval, the interval in which you can trust the model, or even all 50%. I.e. if I have been trained for three weeks, it should work for a week. I have been working with Yuri's predictor for more than a year and I understand many things, as well as how to prepare data, what it can (predictor) and what it simply can not. You can send me a file with your data, I'll train the model and you'll see how it works in the future, if you want to ...

And if you do, we'll do the following. Take a week back... (this week will be a test week, out of sample) Save the data at the rate of 10 inputs = 100 records, so as not to train for a long time. I will train the model, you apply it to your TS, preliminarily describing the principle of its construction and show the result for the last week, and then we'll see.... How do you like it?

 
Mihail Marchukajtes:

That is, if three weeks of training, then the week should work.

And I was thinking well, where's the catch? Well, there was not yet on the forum of a man who would really earn Reshetov's handicrafts. And here it is! The catch of course)
 
Combinator:
And I was wondering where the catch is? Well there was not yet on the forum of a man who would really make money with Reshetov's handicrafts. And here it is! The catch of course).
It's someone who how.... I liked his handiwork this quite a bit, it has a rational grain, well, and who can not use it properly, so that nothing will help. Give me a system that works for a year without a single error, then I'll believe, but otherwise .... That's bullshit. I'm surprised by such geeks, as well as those who ask, well, where the price will go, or how many points this signal will earn? Well, you are naive. The market is such a thing that it is impossible to know the future...... But you can't understand all this....
 
Mihail Marchukajtes:

Well here is the current example that works in the picture I have now made from this file

How do you calculate that there will be 100 points of profit after the signal?

For example, you can take n candlesticks in the future and measure their shadows. If any candlestick has a difference between the shadow and the current price in the direction of the signal of at least 100 pips, then set one. If the condition does not work for any of the candlesticks, the result is 0.

The second variant: make an EA with Stop Loss and Take Profit 100 points away from the current candle and open trades by the signal and memorize the pattern. After the position is closed, we look at it. If it closes on a profit, we mark this pattern in the sample with 1, if it shows a loss, we mark it with zero.

Of course, you can send me in your personal message the code of script or the Expert Advisor that collects the data for sampling. I will sort it out on my own.

I am currently trying to adapt jPrediction so that I don't have to extract the code and compile it in MQL. The EA will dump a pattern into a file by the signal and the Java add-on - a ternary classifier - will read such files and if it confirms the signal, it will display an alert with recommendations and an audible signal. IMHO this will be easier?

Later it will be possible to make a full automatic mode so the classifier and the Expert Advisor could exchange files and automatically open deals on their own.

 
Yury Reshetov:

I just need to understand, how do you calculate that there will be 100 points of profit after the signal?

For example, you can take n candlesticks in the future and measure their shadows. If any candlestick has a difference between the shadow and the current price in the direction of the signal is not less than 100 pips, then we put 1. If the condition does not work for any of the candlesticks, the result is 0.

The second variant: make an EA with Stop Loss and Take Profit 100 points away from the current candle and open trades by the signal and memorize the pattern. After the position is closed, we look at it. If it closes on a profit, we mark this pattern in the sample with 1, if it shows a loss, we mark it with zero.

Of course you can send me in your personal message the code of script or of Expert Advisor that collects data for sampling. I will sort it out on my own.

I am currently trying to adapt jPrediction so that I don't have to extract the code and compile it in MQL. The EA will dump a pattern into a file by the signal and the Java add-on - a ternary classifier - will read such files and if it confirms the signal, it will display an alert with recommendation and an audible signal. IMHO this will be easier?

Later, we can make a full automatic mode so that the classifier and the Expert Advisor could exchange files and automatically open deals on their own.

It's a lot simpler. I calculate the difference between the clones of the current signal and the clones of the previous signal, if this difference is positive taking into account the direction of the signal and the positivity of the difference is more than 100 pips, then the previous signal gives a one, if less - zero. I save everything with the help of the Loafer, the one that was written for neuroshell. It perfectly saves any data of any indicators in cw file, so it's like this..... As for the unloading model, the fact that I don't use any advisors, I trade with my hands and put models in the indicator, so I don't need any advisors. The easiest thing to do is to keep the Ternary model along with the binary one. For example for the binary model the prefix _2 to the file name, for the ternary model _3 and this will be enough..... IMHO. All brilliant is simple, no need to complicate things.

Here is an EA that saves the data of any indicators, look at the function for 5 minutes, I have my indicators there. However, this is all for MT4, I only work on it... Bye....

Files:
Reason: