-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
It seems like predicted price is off 1 day on IBM or maybe i missunderstood something #8
Comments
to be clear, to me it looks like next day prediction price is very close to previous day actual price |
I am just leaving a comment here to catch your solution. I am also working on this problem right now. |
how did you go with this? I am looking at the same problem. |
Ok, my idea is that the machine is cheating. It gives you back a value very close to the previous day, since it should be the closest one to the real value without doing prediction. |
Perhaps a little late, but... |
@egorpes You can also simplify |
Hi, I would like to know if someone can objectively and comprehensively explain the main reasons why the model returns the last value of the input sequence, and not the next "predicted" one. I see the following: during training, the model tries to converge to the predicted values and this is clearly visible, but when moving to validation, everything changes dramatically. For myself, I explain this by the backward method and the overall approach to the network, which gives the network the ability to cheat. It’s as if it’s worth considering the problem from the other side or a completely different learning method, for example, a classification task - to determine not a specific value, but a movement trend through q-learning. I’m very interested to see if anyone has any progress in this regard. I would also like to express my disagreement with the post above that this problem cannot be solved at all within the framework of machine learning. From my point of view, there is no need to predict a 100% match with the price; it is enough to be right in 50%+ cases. The news is perfectly reflected on the charts themselves in the form of signals, which allows you to stay within the technical limits. analysis. A good example is a human trader: he tries to recognize some patterns, patterns and predict the next trend, of course he does not do it perfectly, but the fact is that there are successful cases and they are not based on luck. The essence of using machine learning here is to minimize human errors as much as possible and make trading more or less stable in terms of forecasts. Of course, the task is quite difficult from the point of view of understanding and I think that relying on one neural network to solve it is somewhat stupid; perhaps it is worth backing it all up with a complex of interconnected networks and algorithms. Thank you for reading |
From the perspective of the neural network: You can also translate this from another perspective. The model sees no value that indicates change in either direction. This means, value of the next price is dependent largely on the current price, and an external factor that is not included on the training dataset. So current price is the only one that can be used. I am not great on explaining it, but trust me timescale analysis is not suitable for trading. It can be used to predict for example room temperature, if you know how long you turn on the heater. But in that case, you know the external factor that changes the room temperature. I recommend classificatiom and reinforcement learning for price prediction. I've done this for a long time, i tried almost everything that can be tried. Nothing helps. |
Hi,
I was very impressed with the result of prediction graph of IBM but than i noticed that actual prediction is going after next day of actual data, so i decide to print out some piece of data with this :
print("Actual/Predicted prices:") for i in range(len(data_close_price)): print(str(data_close_price[i]) + '\t ' + str(to_plot_data_y_train_pred[i]) + '\t' + str(to_plot_data_y_val_pred[i]))
and here is a piece of output ( i grabbed a piece where the stock went up to make it clear):
data_close_price to_plot_data_y_train_pred to_plot_data_y_val_pred
61.5541637158 62.48051591375582 None
63.1859297539 61.81105258680695 None
65.5087283847 63.22269362984531 None
65.2532205353 65.42579108472087 None
70.2646585813 65.24432286147622 None
69.5387840091 70.2044966634442 None
lets check 2nd row, date_close_price showing 63.1859 while prediction price is 61.8110
and then on next day data_close_price 65.508 and prediction 63.222 ,
so it seems that prediction price is one day behind ???
Please advice, maybe i dont understand it
The text was updated successfully, but these errors were encountered: