Comments (7)
to be clear, to me it looks like next day prediction price is very close to previous day actual price
from time-series-forecasting-pytorch.
from time-series-forecasting-pytorch.
I am just leaving a comment here to catch your solution. I am also working on this problem right now.
from time-series-forecasting-pytorch.
how did you go with this? I am looking at the same problem.
from time-series-forecasting-pytorch.
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.
I used different networks and the result was usually the same. Doublechecked every variable, label, etc. That wasnt the problem.
from time-series-forecasting-pytorch.
Perhaps a little late, but...
Making price predictions based on past prices is a poorly feasible task (I think generally impossible). The first thing that stands out is that the predictions are perfect (but "shifted"). The data link is not good enough for the model to make such good predictions.
If you want at least some predictions based on previous courses, you can try the step not for a day, but for a week or a month. In such a case, a stable market can have a normal result (when was the market last stable?).
If you still want to analyse (whether for a day or for a week does not matter), then add at least a hundred economic parameters to the model. The problem with learning is not writing code (with libraries like PyTorch or TensorFlow it is not very difficult), but preparing the data. Alphavintage offers a handy API, but you need data, for example, from any statistical bureau. Be sure to watch all reports and the US economy (there are economic calendars, although APIs are paid for historical data almost everywhere), a little for China, Japan and the EU.
In general, machine learning is not a panacea. If you have several trillion parameters, then maybe it will. Right now you can add a hundred parameters and see if there is a prediction (it does not matter if it is inaccurate). I have not tried it, but you can use fingpt, for example, to analyze non-numeric data. Then give it your predicted numbers and listen to the advice for the next day.
UPD. Forgot to say. Do not analyze absolute values (even normalized ones). That is completely useless, in my opinion. Analyze the change in magnitude. For example: value_rel = (value_cur - value_prev)/value_prev
from time-series-forecasting-pytorch.
@egorpes You can also simplify (current - previous) / previous
to current / previous - 1.0
from time-series-forecasting-pytorch.
Related Issues (18)
- Small bug HOT 2
- free API key not sufficient to download the price chart? HOT 4
- question about normalization
- MSEloss by default uses 'mean' as reduction method HOT 1
- Is the predicted stock price the highest price the next day?
- Is it possible to test with another stock than IBM ? HOT 1
- Is it possible to test with another stock than IBM ? HOT 2
- Error keyword grid_b is not recognized HOT 1
- Project works well for IBM but not for RIO
- Lookahead Bias
- Problems with free api HOT 3
- Alternative for get_daily_adjusted? HOT 2
- 3 Name Errors HOT 9
- Additional features HOT 3
- is this model any good? HOT 3
- Predicted price is far different from actual price HOT 4
- Future prediction beyond 1 day HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from time-series-forecasting-pytorch.