I recreated this exact model and then checked to see how often the simple up/down movement of the price was correct (never mind the actual change amount), it couldn't reliably get better than 50% so it's basically the same thing as randomly guessing a slight up or down movement. So this was a cute demonstration of the concept but you'll definitely lose your ass if you tried to trade on anything like this haha. You need a vastly more complex model to start consistently getting higher than 50% and even then if there are large market corrections, they will definitely break your model. So Something like this might give you some minor assistance in day trading but you wont get rich one it. But anyways, we certainly appreciate the explanation on how general LSTM model functions
I am glad to see someone tried it while using only past data. The conclusion you make is what I would concur with just by simple reasoning. There should be a need for another factor at least to hope to get some sort of accuracy. Unless there is a repeated pattern to be found somewhere due to a factor we are unaware of. Like patterns in roulette due to flaws making the results not quite random. Something that has surely been caught onto, and is probably now verified for at casinos.
Actually this model will accurately tell you the range of values that the stock has high probability of trading in. Example if model prediction is 180 with rmse of 5 then there is 65% chance that it will close between 175 - 185 range, and there is 95% chance that it will close between 170 - 190 range given that stock returns are randomly distributed and it follows standard normal distribution. If someone knows the range maybe they can wait for the stock to hit either high or low before taking trade or they can deploy option strategies based on the information they got from the model.
How can use multiple data as a input to classify which stock to pick ? from high to low. let's say I input 10 datasets at once & it classifies top 3. (just for project purpose)
The flaw nobody seems to have realized is that it’s predicting 1 day in the future GIVEN the last 60 days of actual values. So each prediction on the graph is actually using the validation data from yesterday + the NN prediction for today. Anyone can now see why it tracks the chart so accurately. I could get the same chart with a random number generator. Caveat emptor.
I see your point: if you seeded any number within 1 standard deviation form the previous day to predict today's price, then zooming out to a large timeframe you could get a very similar chart. You brought up a good point and seem to be knowledgeable on this topic, so what would you do to implement a better forecast model ? Suggestions are appreciated, thanks!
@@diegotrazzi It's not possible. Assuming a sufficiently efficient market, if it were possible to forecast asset prices then people would take advantage and trade on such information. Price actions would then disappear.
@@weimondo NOT TRUE that's a total fallacy - the whole insane and inane premise that you cannot predict the future to find for example - a cycle in the market that no one knows about it and make a profit off of it b/c everyone will eventually learn it and use it thus incorporating into the market therefore it is not longer a predictor - this whole premise is so absurb as to make even the term "laughing stock" blush - all you have to do is NOT tell someone else what you discovered and the prediction holds - take for example the Scandavian Finance professor in the 90s that discovered an 80% accurate super cycles that was so freakishly exact like to 1 or 2 day out of every 2 months ish in finding the total and absolute highs and lows of almost everything that occured every 2-3 months - but being a brainwashed bonehead - tells the whole world about it - it was then put onto every Media in the world like Nightly Business Report - the euro continents finance channel and all the finance channels in the USA - it stilll took 2 MONTHS to have it incorporated by rest of the world but in mean time predicted every major and sometimes even minor turns in the USA stockmarket (never mind every other stockmarket index on the planet ) - now despite the fact that that is MORE than enough to make a few billion dollars and retire - keep in mind had he not been a brainwashed bonehead and had he kept this info secret it would never have been known and never incorporated into the stockmarket at all.... is this not common sense - FEEL FREE TO NOT REPLY BACK GEEZZZZ
For anyone criticising the effectiveness of this algorithm...you are missing the point. This is a very good FREE tutorial on applying LSTM & RNN to real world datasets using python, for learning purposes only. It's a standard and basic learning topic for Neural Networks. To criticise this would be same as saying Man City should win UCL every year based on their FIFA20 stats...
40:03 It is meaningless and misleading to plot predictions (especially zoomed out) unless you do out-of-sample forecasting. Many people are just obsessed with plotting forecast curves and comparing them with actual curves. It has got to stop! You can get a better fit by predicting the next value to be the current value. Out-of-sample forecasting is when the model is forced to predict N steps successively while not being provided with the true values of the previous time steps. Over time, errors would accumulate and the prediction curve would sway away from the actual curve. Only if you are doing out-of-sample forecasting, it makes sense to plot.
Hi! I agree with you. I'm new to this so I'd like to know if you see a way to deal with this problem so you can better predict the time series. Thanks!
Absolutely amazing video, I have finally realised that as a beginner in the financial investment market, you can achieve close to nothing yourself because you still have a lot to learn. Trading with a professional broker is more profitable and my advice for beginners is to always take advantage of that.
Instead of timing the market, you should try to diversify your portfolio in order to get a dollar-cost average when it’s time to retire. Keep in mind that you don't need a ton of money to invest. Investing in small amounts can build long-term wealth too!
Great ,but there is one small thing you missed which may introduce bias into your model. To avoid leakage from the test set into the training set, it is important to split the data before applying any preprocessing steps. This is because the preprocessing steps can introduce information from the test set into the training set, leading to overly optimistic performance estimates and poor generalization performance on unseen data. so you have to split the data before scaling
I think this model is good for practice but not for real use. 1st issue is the scaling, you should scale based on the training set, not the full dataset, 2nd issue is the test dataset, the prediction works if you know the previous 60 days of the data for all the testing set. It would be good to see how is the performance of predicting next days (1+ days) just using a single vector of previous 60 days.
I think the markets are moving solely based on the psychology of the investors. therefore, technical analysis is the only valid approach. for example, it does not really matter how good a company is doing, if investors are paying attention, understanding their future. AI is making things a lot easier, by looking into investors' behavior. thanks for the great insight.
As the economic crisis keep rising one needs to have different streams of income, as well secure a profitable investment for the future.detailed diversified investment portfolio in the financial markets is needed to survive! Wondering if investors here are familiar with Pamela Kay weaver trading strategies.?
When it comes to the world of investing, most people don't know where to start. Fortunately, great investors of the past and present can provide us with guidance
The script here is in the right direction, naturally it needs two key columns: Add high/low/volume variables, since it represents people's sentiment and join a new dataset from other currencies. I would say low performance coins with the highest ones is a good combination.
I wouldn't put much store in the model created to be honest for reasons others have raised about scaling but as a 'get you going' video into the perilous world of trading using ML then it's an honest attempt - well done.
Hey you seem like an expert . Can you please guide me as I have been really wanting to get into trading and finance using machine learning. I would really appreciate it if you could give me resources that could get me industry ready to create complex algorithms that can help me out.
Reading about people grabbing multi-figures monthly as income in investments even in this crazy days in the market,any pointers on how to make substantial progress in earnings?would be appreciated
You make it seem unreal to make up to that as a passive income annually,when it’s clearly possible😁😁Albertmathe has really made me rich through his strategies💰💯
The video was great, saved me a lot of time trying to figure it out myself. Also learn how to use the python syntax. On a side note, back of the envelope calculations. dec 17,19 aapl = 70.1, dec 17, 09 appl = 6.85. (70.1-6.85)/6.85 = 9.233 or 923% return over 10 years, 923%/10yr = 9.23%/year, 9.23%/365 days/yr = 0.0253%/day. If we use the previous day closing as an estimate plus the average daily change then, 70.1*(1.000253) = 70.118, accounting for the 1 to 4 stock split the price on the 18th is estimated at 70.1177 x 4 = 280.47, act close 279.74, vs AI 263.66. Would have been interesting to see which one would be better est, previous Close +% or AI, with the standard error.
Wonderful tutorial! Thank you very much for making it. I am making a project to impress the interviewer at the potential working place. I already did a prediction model using ML and Python but it was a simple Linear regression model. Thank you for your work. My model works perfectly. The only thing I can't figure out is how to trained it connected to timestamp. But otherwise it works. My tiny laptop CPU almost melted counting 38 000 rows of data XD
Just saw the video, thanks for the effort! One question though, isn't it leaking data when you do the scaling before splitting data into train/test sets?
The comment at the end is priceless, "...off by a little bit." Go back and look at the price action from the end of August 2019 until about mid Jan 2020 and you'll see why this prediction of a 6% drop in the closing price is surprising. It would be nice if there had been some explanation of why the prediction was so far off and how to improve the result.
Excellent Cryptonaire course! I now have a core understanding of trading & investing in Cryptocurrencies. Thank you Mr Paulson Dmitriev. He explain it all so in depth, even for the advanced users. So no matter your experience there’s always something you can learn!
There are so much remaining to learn, but this was some intresting stuff. I learned about LSTM(Long Short Term Memory), taking the data from web directly, preprocessing the data,training the data and also visualizing the data.
I have 2 issues with this: 1. can't use testing data for the scaler. 2. I would predict a sequence instead of tomorrow's price. these plots are a bit deceiving because they are so close to each other but it is bc you are always using yesterday's close. It would be interesting to actually predict a sequence into the future.
This video helped me a lot. I was struggling with the inputs to the Conv. Turns out it just required simple 3d inputs to fit and another 3d array input to predict
But the shape of the predicted graph was uncannily accurate no? Surely something there? Did you watch the entire thing? Just asking and thanks for your post here. Cheers
Love the video, very intriguing. One really feels like repeating this program design with a pre-edited set of data to verify the accuracy of the hypothesis created by the viewing of it. It is like a psychological experiment, social experiment, statistical experiment, computer science lesson all rolled into one. Hello World of Python.
Very good job! If you combine this with technical indicator values it will give you very good predictions. And probably split it to different timeframes. Also, I noticed that if you retrain the model until you get better results and then try to predict the prices you got accuracy near to 99%. So, with a combination of technical indicators and by retraining the neural network until it is more accurate you are getting great results! Excellent job! Great Video.
i dont understand anything... but the voice is calming down... and it sounds interesting 😆👍 Thanks for the video. Maybe i will understand it in 2 Years or so 🤓
I am kinda new to machine learning and I never made any projects, but the fact that the result matched almost perfectly made me a bit suspicious about the method you use here. My first observation would be that the usage of scale would bound all result between the training dataset maximum and minimum, so there is no way that you could get a higher price as a prediction than the highest number found in the training dataset. My second obesrvation is about the actual training dataset. According to my knowledge testing dataset should not be included in the training data. I guess this is the reason it got the prediction so perfectly. I would suggest creating a dataset by actual % returns day by day or week by week. Maybe setting up some technical indicators. Volatility data, VIX, SP500 prices or anything should help predicting better the price in my opinion. However as commented by others already, pricemovements are not easy to predict and entire businesses are built to figure it out and still fail to beat the market. Thank you for the video! It was helpful to understand better how ML works in practice :)
It would be interesting to see how this compares with a basic strategy, like just predicting todays close will be the same as yesterdays close. I imagine the LSTM doesn't perform as well
Data Science 101 : Never scale your data set with a test or validation set. You can't scale the entire dataset which introduces significant leakage to your model.
@@daspittin9954 Looking through the code, I see that he did a fit_transform on the entire dataset, then used that same scaler model to transform the test set back; he should have only used the training set when he fit the original scaler model; not both training and test, its akin to someone writing an exam, and giving them hints as to what the answers are (when estimating the predictions), but not providing the actual answers
@@surengrigorian7888 This is the general approach, which you'll have to implement after the step where he implemented the lag structure > scaler.fit(X_train) # scaler model fit to training set only > X_train_scaled= scaler.transform(X_train) > # some code .... > X_test_scaled = scaler.transform(X_test)
I see how this is an unsound practice, but scaling the input data should only make the training a bit more simple. In the end you should get the same result, up to a factor for the weights in the first layer. Plus the difference in scaling is rather low, so it is really not a big deal here.
Nice job. However, there is a small error in your equation for RMSE. You need to take the mean of the squared residuals rather than the square of the mean of the residuals.
w michaux can I send you some code to take a look at and maybe give me some pointers on what i can do better. my code runs im just not getting the results i intended and do not know where or why im stuck
Amazing video. It went thru everything from start to finish and explained it very clear and was easy to understand what was exactly going on and how things worked. Thanks for such a great video.
Really nice tutorial, however if anyone could tell me why did we keep the range from 60 specifically for the xtrain and ytrain timeseries datasets, it would be a huge help
Foremost.. great tutorial! I really enjoyed the practical example for the purpose of learning how to use LSTM in python. Regarding the results of the neural network: It is obvious that the predictions are chasing the trend, similarly how a simple moving average would do. But a good starting point for exploring the possibilities of a RNN.
What if I want to predict the for the date that is not in my train dataset i.e I would use my whole dataset as training dataset and would create a module 2 predict the future price?
Really enjoyed learning the LSTM application for stock price prediction. I noticed that the prediction has overfitting and this is probably because you have not included Dropout in your model. Thanks
One very promising application of this approach is path finding by robot vehicle where in it has to use earlier data to predict next step !!! and check using sensors that whether the step it is going to take has any obstacle or not and correct/update its trajocatory....see...its totally a different field of application but it will definitely work - just keep you mind open, fellas !! He is good at what he does..
Thanks for the great tutorial! A couple of questions please. To establish a Multivariate Multi-Step LSTM Models - Multiple Input Multi-Step Output: 1. How can I modify this code to take, for instance, 3 inputs to forecast a different single output that depends on those 3 inputs? 2. How can I forecast multiple timesteps in the future without knowing the new inputs (because they're in the future)?
@@nczioox1116 Yes - but the video shows the common missconception about stock price prediction with LSTMs. This model just adds random noise of small amplitude to previous values. It cannot predict anything, its structure is just unsuitable to do so.
When you undertake this project in Python notebook as the presenter has done Gemini AI will complete the code for you by suggesting the lines of code. To accept what is suggested, just press the tab key on your keyboard. Through running the code can and getting an explanation from the Gemini AI regarding the errors, I determined that the API had changed.
Using the previous value "yesterday" in the forecast, it is likely that the forecast will be more accurate. You need to predict for a more impressive period to assess the strength of the algorithm.
in trading 0.1% matters. so these type of models are not going to help at all. unless they are constantly adjusted n number of times for the sample size taken to train the model, hardly any practical use. but an excellent way to begin with. THE EFFROTS ARE HIGHLY APRRECIATED. A BIG THANK YOU.
@@ComputerSciencecompsci112358 I found an error predictions=model.predict(x_test) predictions=scaler.inverse_transform(predictions) Output: Valueerror: Found array with dim 3. Estimator expected
Okay here's the deal,.... The Yahoo finance API has likely changed since this video was first published. For all of those introductory lines of code importing all those different packages you only need a single line now as follows: import yfinance as yf
It's crucial to square before taking the average when calculating the RMSE. Otherwise, any unbiased model should get a really low value with just enough data...
@@RoboticusMusic This RNN yields an error of ~16 dollars. If you always predict tomorrow's closing price as yesterday's closing price from 2001 to 2020. You get 0.71 dollar mean absolute error. abs(df.close.diff(1)).mean() == 0.7417740650899958
@@shaw7598 If yesterday's close is $100 and today's close is $101, you're saying predicting that tomorrows close is $100 is accurate on average of how many ticks?
Well don't get too excited guys. Because every model predicts a price very close to the closing price. If you zoom the chart, you can see that yellow prediction is next to red ones. So this is not going to help you to make money. It's almost similar to shifting price one day to the future. Stop trying to predict. YOU CANNOT FORECAST THE FUTURE PRICES!
Good job, but I think you only wrote simple moving average using RNN. can you expand the dates and see what prices it predicts? THANK YOU for your tutorial!
What if I want to predict the for the date that is not in my train dataset i.e I would use my whole dataset as training dataset and would create a module 2 predict the future price?
Knowing nothing about price movements, you just show a neural net 60 days of price 1 time, and then ask it: "oh oracle, what will price be the next day". It really needs more work than that. This is exactly what I was afraid of when deep learning was made more available. Just fire a DL at everything you don't grasp. Waste some electricity while you're at it.
This isn't for coin prediction. It's for "stocks" (AAPL in particular). Stocks historically attract investors "based on their past price performances", if not on their specific ratios. These past price data is vulnerable to very little or no manipulation due to strict regulations by the governments. So there's no point in predicting coin prices when there's NO REGULATION and zillions of tons of manipulation going on thru the so-called pump channels, etc. Stay away from coins unless you're part of a community that do those pumps because it's merely a gambling.
First of all , thanks for a wonderful session. One question about scaling though. Shouldn't the MinMaxScaler be used to fit_transform the training data and then use the "fitted" scaler to the test data ?
Cool video. But LSTM is not working so well here. Baseline test: if you simply predict the next day's stock price to be THE SAME as this day, you get an RMSE of 2.25 or so.
To be a super-trader, you'll need an edge to overcome the laws of probability and the uncertainty of the marketplace. That edge comes from information flow, the ability to correct your habits in terms of the market's characteristics, and being able to learn from people who know more than you, cut losses, expand your information network, ferret out ideas, and take recommendations. You can seek more guidance from Paulson Dmitriev his guidance got me this far.
More videos like this, with different type of ML technique for stock prediction or Sell prediction in industry (like distribution), with more variety of technique, but with the same type of slow explanation. Super video, you definitely win my sub with this one. Thanks from the silent majority! 🤔
Can I have your GIT credentials and an amazing project. Loved the notes for each line and that voice is damn calming. It calms me down when i get an error.
I do everything the same and I got that df = web.DataReader('AAPL', data_source='yahoo', start='2012-01-01', end='2024-02-16') df TypeError: string indices must be integers, just in the begginer 😭 help please
get an answer from the comment below, hope it helps. "import yfinance as yf and change the line of code to df = yf.download('AAPL', start='2012-01-01', end=end='2019-12-17'). It seems like yahoo changed their api and these changes broke compatibility with pandas datareader" , and thank you @lucaartz
Thank you so much for this tutorial, it was very helpful and I learned a great deal :) I have a question, if I want to predict more days should I change the number of neurons? Could you clarify this, please?
You will need to use for loop on the last cell he made for predicting next day value. The for loop will help to execute same lines of code for how many days you want to predict in future.
Your video was very much helpful for me to learn and understand ML with stock market price prediction. Keep making such useful videos sir. Thank you once again for your time and efforts.
Hello great Video really helpful for understanding the concepts of LSTM models and stock price prediction 😊! I just have one question how can we add a dropout function in order to reduce overfitting and improve the performance of the model ?
Thank you for the video, it is helpful to understand the logic behind this. Let suppose I want to add sentiments as another dimension for prediction, how would you include this in the code?
Hello, Thanks a lot for this interesting instruction about stock price prediction. I am working on the prediction related to battery performance deterioration, so I have a few questions on the prediction part of the prediction algorithm. To my knowledge, the prediction part you proposed in the video can only make one step ahead prediction, right? Though the first algorithm you create a NumPy array contains test close stock price (many rows), but in your pred function, you iterate the prediction only based on the x_test, without the predicted close stock values. Is it possible to overcome this to help make a real prediction that can predict the stock price for a longer period, like 10 days, one month? Thank you very much.
This video is simply to demonstrate the implementation of LSTM. There are many factors to consider while making real predictions. Imagine if this was effecient way then wont all the LSTM algorithm makers be making huge profit 🤍
It’s very important that the programmer should deeply understand the market as well to prevent the creation of BS like presented here! These results only seem to be close to the actual price, but in reality it’s 95% noisy!
thank you for this! Im new to python and was wanting to hone my skills and thought I'd embark a project to predict the stock price of a company.... one question...why didnt you use time series analysis? is the LSTM method more useful than time series analysis for predictions?
I recreated this exact model and then checked to see how often the simple up/down movement of the price was correct (never mind the actual change amount), it couldn't reliably get better than 50% so it's basically the same thing as randomly guessing a slight up or down movement. So this was a cute demonstration of the concept but you'll definitely lose your ass if you tried to trade on anything like this haha. You need a vastly more complex model to start consistently getting higher than 50% and even then if there are large market corrections, they will definitely break your model. So Something like this might give you some minor assistance in day trading but you wont get rich one it. But anyways, we certainly appreciate the explanation on how general LSTM model functions
I am glad to see someone tried it while using only past data. The conclusion you make is what I would concur with just by simple reasoning. There should be a need for another factor at least to hope to get some sort of accuracy. Unless there is a repeated pattern to be found somewhere due to a factor we are unaware of. Like patterns in roulette due to flaws making the results not quite random. Something that has surely been caught onto, and is probably now verified for at casinos.
Actually this model will accurately tell you the range of values that the stock has high probability of trading in. Example if model prediction is 180 with rmse of 5 then there is 65% chance that it will close between 175 - 185 range, and there is 95% chance that it will close between 170 - 190 range given that stock returns are randomly distributed and it follows standard normal distribution. If someone knows the range maybe they can wait for the stock to hit either high or low before taking trade or they can deploy option strategies based on the information they got from the model.
@@ishanawasthi1975 good point!!! 👍
How can use multiple data as a input to classify which stock to pick ? from high to low. let's say I input 10 datasets at once & it classifies top 3. (just for project purpose)
His model is literally overfitting with the absurd accuracy
The flaw nobody seems to have realized is that it’s predicting 1 day in the future GIVEN the last 60 days of actual values. So each prediction on the graph is actually using the validation data from yesterday + the NN prediction for today. Anyone can now see why it tracks the chart so accurately. I could get the same chart with a random number generator.
Caveat emptor.
I see your point: if you seeded any number within 1 standard deviation form the previous day to predict today's price, then zooming out to a large timeframe you could get a very similar chart. You brought up a good point and seem to be knowledgeable on this topic, so what would you do to implement a better forecast model ? Suggestions are appreciated, thanks!
@@diegotrazzi It's not possible. Assuming a sufficiently efficient market, if it were possible to forecast asset prices then people would take advantage and trade on such information. Price actions would then disappear.
@@weimondo NOT TRUE that's a total fallacy - the whole insane and inane premise that you cannot predict the future to find for example - a cycle in the market that no one knows about it and make a profit off of it b/c everyone will eventually learn it and use it thus incorporating into the market therefore it is not longer a predictor - this whole premise is so absurb as to make even the term "laughing stock" blush - all you have to do is NOT tell someone else what you discovered and the prediction holds - take for example the Scandavian Finance professor in the 90s that discovered an 80% accurate super cycles that was so freakishly exact like to 1 or 2 day out of every 2 months ish in finding the total and absolute highs and lows of almost everything that occured every 2-3 months - but being a brainwashed bonehead - tells the whole world about it - it was then put onto every Media in the world like Nightly Business Report - the euro continents finance channel and all the finance channels in the USA - it stilll took 2 MONTHS to have it incorporated by rest of the world but in mean time predicted every major and sometimes even minor turns in the USA stockmarket (never mind every other stockmarket index on the planet ) - now despite the fact that that is MORE than enough to make a few billion dollars and retire - keep in mind had he not been a brainwashed bonehead and had he kept this info secret it would never have been known and never incorporated into the stockmarket at all.... is this not common sense - FEEL FREE TO NOT REPLY BACK GEEZZZZ
@Diego Trazzi There is the question that everyone in trading market are looking for! Who knows?
@@dweh I guess CITADEL LLC knows about it pretty well.
I have seen 1000+ videos, read 1000+ articles on the internet. The best of the videos I have ever seen on machine learning.
Rajesh Dua chutiye
.
True
Just look for Andrew Ng's courses. I'm sure it will change your mind
Thank you for your response i will watch it after watching alot of video
For anyone criticising the effectiveness of this algorithm...you are missing the point. This is a very good FREE tutorial on applying LSTM & RNN to real world datasets using python, for learning purposes only. It's a standard and basic learning topic for Neural Networks. To criticise this would be same as saying Man City should win UCL every year based on their FIFA20 stats...
Hahahahaahahahahhaahhaha
40:03 It is meaningless and misleading to plot predictions (especially zoomed out) unless you do out-of-sample forecasting. Many people are just obsessed with plotting forecast curves and comparing them with actual curves. It has got to stop! You can get a better fit by predicting the next value to be the current value. Out-of-sample forecasting is when the model is forced to predict N steps successively while not being provided with the true values of the previous time steps. Over time, errors would accumulate and the prediction curve would sway away from the actual curve. Only if you are doing out-of-sample forecasting, it makes sense to plot.
Hi! I agree with you. I'm new to this so I'd like to know if you see a way to deal with this problem so you can better predict the time series. Thanks!
Why predicting several steps? Why not predicting simply if it goes up or down in the next several steps? Is it not easier for a model to predict that?
@@Otvazhnii Maybe not easier to get the acurate direction, but a lot more useful 😄
Absolutely amazing video, I have finally realised that as a beginner in the financial investment market, you can achieve close to nothing yourself because you still have a lot to learn. Trading with a professional broker is more profitable and my advice for beginners is to always take advantage of that.
Instead of timing the market, you should try to diversify your portfolio in order to get a dollar-cost average when it’s time to retire. Keep in mind that you don't need a ton of money to invest. Investing in small amounts can build long-term wealth too!
I'm an amateur making terrible picks and I really need assistance.
Trading is Profitable with the help of a seasoned broker managing your trading account .
@@greenquake11931 'BRIDGET MARY TUROW"".
@@mariahhayes5089 How can i reach her?.
Great ,but there is one small thing you missed which may introduce bias into your model. To avoid leakage from the test set into the training set, it is important to split the data before applying any preprocessing steps. This is because the preprocessing steps can introduce information from the test set into the training set, leading to overly optimistic performance estimates and poor generalization performance on unseen data.
so you have to split the data before scaling
I noticed this too...
Exactly what I thought. I have noticed many UA-cam’s make some mistakes here and there too. I think they should be more professional to rely on.
This is the best video of LSTM I saw. I don't understand why do some people dislike this video ?
Thank you very much !
one change that can be done here is increasing epochs if your ram can handle , because that would increase accuracy. Great video!
Bro tell me what is the best value for epoch and batch size
there is no best value found yet on planet earth, you have to try different combinations.
@@SahilKhan-td6rv
I think this model is good for practice but not for real use. 1st issue is the scaling, you should scale based on the training set, not the full dataset, 2nd issue is the test dataset, the prediction works if you know the previous 60 days of the data for all the testing set. It would be good to see how is the performance of predicting next days (1+ days) just using a single vector of previous 60 days.
I think the markets are moving solely based on the psychology of the investors. therefore, technical analysis is the only valid approach. for example, it does not really matter how good a company is doing, if investors are paying attention, understanding their future. AI is making things a lot easier, by looking into investors' behavior. thanks for the great insight.
*Good for learning purposes only*
As the economic crisis keep rising one needs to have different streams of income, as well secure a profitable investment for the future.detailed diversified investment portfolio in the financial markets is needed to survive! Wondering if investors here are familiar with Pamela Kay weaver trading strategies.?
When it comes to the world of investing, most people don't know where to start. Fortunately, great investors of the past and present can provide us with guidance
With expert pamela weaver everything is possible in crypto trading, i traded $7600 for a start, i am proud to say i made it today
She is one of the best signal providers and I have made quite a lot of money without losing money even in declining market.
I am a living beneficiary of her trading scheme and I made an enormous profit with her last year before I started trading full-time all by myself.
I have heard a lot about Investments, with Mrs pamela how good she is and how she has helped People. Please how safe are her profits?
The script here is in the right direction, naturally it needs two key columns: Add high/low/volume variables, since it represents people's sentiment and join a new dataset from other currencies. I would say low performance coins with the highest ones is a good combination.
I wouldn't put much store in the model created to be honest for reasons others have raised about scaling but as a 'get you going' video into the perilous world of trading using ML then it's an honest attempt - well done.
Hey you seem like an expert . Can you please guide me as I have been really wanting to get into trading and finance using machine learning. I would really appreciate it if you could give me resources that could get me industry ready to create complex algorithms that can help me out.
Reading about people grabbing multi-figures monthly as income in investments even in this crazy days in the market,any pointers on how to make substantial progress in earnings?would be appreciated
You have to have an idea on what you wanna invest in carefully before going in
You make it seem unreal to make up to that as a passive income annually,when it’s clearly possible😁😁Albertmathe has really made me rich through his strategies💰💯
Access him through the tele gram page
Albertmathe is the name
This man right here,I trade with him he’s inventive and the P.O.T are no jokes, I won’t look awestricken u made mention of him
The video was great, saved me a lot of time trying to figure it out myself. Also learn how to use the python syntax. On a side note, back of the envelope calculations. dec 17,19 aapl = 70.1, dec 17, 09 appl = 6.85. (70.1-6.85)/6.85 = 9.233 or 923% return over 10 years, 923%/10yr = 9.23%/year, 9.23%/365 days/yr = 0.0253%/day. If we use the previous day closing as an estimate plus the average daily change then, 70.1*(1.000253) = 70.118, accounting for the 1 to 4 stock split the price on the 18th is estimated at 70.1177 x 4 = 280.47, act close 279.74, vs AI 263.66. Would have been interesting to see which one would be better est, previous Close +% or AI, with the standard error.
Thank you for the video. Could you demonstrate how to use lstm with two input data, for example close price and volume?
Wonderful tutorial! Thank you very much for making it. I am making a project to impress the interviewer at the potential working place. I already did a prediction model using ML and Python but it was a simple Linear regression model. Thank you for your work. My model works perfectly. The only thing I can't figure out is how to trained it connected to timestamp. But otherwise it works. My tiny laptop CPU almost melted counting 38 000 rows of data XD
I am trying to make the same including the optimal time to buy and sell the stock . Give me tips if you have any .
Seriously I believe it is impossible to forecast prices so that results are profitable. Still this is a very nice educational video.
Just saw the video, thanks for the effort! One question though, isn't it leaking data when you do the scaling before splitting data into train/test sets?
you have to scale train and test data with the same parameters.. otherwise you distort results
@@robertweber475 yes but you can do that with scaling on train data first and using the same trained scaler on the test data
@@ekinrota1638 yes, that would be possible
@Jeremy Tran Jeremy is correct. The presentation is wrong and needs to be edited.
The comment at the end is priceless, "...off by a little bit." Go back and look at the price action from the end of August 2019 until about mid Jan 2020 and you'll see why this prediction of a 6% drop in the closing price is surprising. It would be nice if there had been some explanation of why the prediction was so far off and how to improve the result.
Excellent Cryptonaire course! I now have a core understanding of trading & investing in Cryptocurrencies. Thank you Mr Paulson Dmitriev. He explain it all so in depth, even for the advanced users. So no matter your experience there’s always something you can learn!
What's his contact details ?
There are so much remaining to learn, but this was some intresting stuff. I learned about LSTM(Long Short Term Memory), taking the data from web directly, preprocessing the data,training the data and also visualizing the data.
I have 2 issues with this: 1. can't use testing data for the scaler. 2. I would predict a sequence instead of tomorrow's price. these plots are a bit deceiving because they are so close to each other but it is bc you are always using yesterday's close. It would be interesting to actually predict a sequence into the future.
Yea that's true, I used a similar model projecting EURUSD but the spread between actual and projected averaged 100pips which is a nono
This video helped me a lot. I was struggling with the inputs to the Conv. Turns out it just required simple 3d inputs to fit and another 3d array input to predict
11:07 Lieutenant commander Data, nice rough estimated guess lol ! Thanks for the video, very useful.
But the shape of the predicted graph was uncannily accurate no? Surely something there? Did you watch the entire thing? Just asking and thanks for your post here. Cheers
I think I have seen every tutorial on UA-cam for predicting the extrapolated price of stock and i found it in your video
Thanks a lot for your time
Love the video, very intriguing. One really feels like repeating this program design with a pre-edited set of data to verify the accuracy of the hypothesis created by the viewing of it. It is like a psychological experiment, social experiment, statistical experiment, computer science lesson all rolled into one. Hello World of Python.
Would be fairly easy to verify the accuracy, you should do it
I’m always enjoy and bless the people like you who teaching cool stuff
Very good job! If you combine this with technical indicator values it will give you very good predictions. And probably split it to different timeframes. Also, I noticed that if you retrain the model until you get better results and then try to predict the prices you got accuracy near to 99%. So, with a combination of technical indicators and by retraining the neural network until it is more accurate you are getting great results! Excellent job! Great Video.
Thank you Christos !
Can i get a video on how to combine the technical indicators to this pls? I am thinking of doing this as my final year project
Ah! Beautifully expalined. May you reach 10 Million subscribers. Your classes are gold :)
i dont understand anything... but the voice is calming down... and it sounds interesting 😆👍 Thanks for the video. Maybe i will understand it in 2 Years or so 🤓
Any luck?
i started to research python+tensorflow, but i sadly didnt have time to stick to it. (i am just a hobby programmer)...
BUT i appreciate you asking❗😁
I am kinda new to machine learning and I never made any projects, but the fact that the result matched almost perfectly made me a bit suspicious about the method you use here.
My first observation would be that the usage of scale would bound all result between the training dataset maximum and minimum, so there is no way that you could get a higher price as a prediction than the highest number found in the training dataset.
My second obesrvation is about the actual training dataset. According to my knowledge testing dataset should not be included in the training data. I guess this is the reason it got the prediction so perfectly.
I would suggest creating a dataset by actual % returns day by day or week by week. Maybe setting up some technical indicators. Volatility data, VIX, SP500 prices or anything should help predicting better the price in my opinion.
However as commented by others already, pricemovements are not easy to predict and entire businesses are built to figure it out and still fail to beat the market.
Thank you for the video! It was helpful to understand better how ML works in practice :)
Excellent comment thank you. There is indeed "data leakage" in this model.
It would be interesting to see how this compares with a basic strategy, like just predicting todays close will be the same as yesterdays close. I imagine the LSTM doesn't perform as well
Why do you imagine that?
As you say, there was leakage in the model. That's why it showed such good results.
Data Science 101 : Never scale your data set with a test or validation set.
You can't scale the entire dataset which introduces significant leakage to your model.
can you elaborate on what you mean, please?
@@daspittin9954 Looking through the code, I see that he did a fit_transform on the entire dataset, then used that same scaler model to transform the test set back; he should have only used the training set when he fit the original scaler model; not both training and test, its akin to someone writing an exam, and giving them hints as to what the answers are (when estimating the predictions), but not providing the actual answers
How would one correct this error, in terms of the code?
@@surengrigorian7888
This is the general approach, which you'll have to implement after the step where he implemented the lag structure
> scaler.fit(X_train) # scaler model fit to training set only
> X_train_scaled= scaler.transform(X_train)
> # some code ....
> X_test_scaled = scaler.transform(X_test)
I see how this is an unsound practice, but scaling the input data should only make the training a bit more simple. In the end you should get the same result, up to a factor for the weights in the first layer. Plus the difference in scaling is rather low, so it is really not a big deal here.
Very well planned video. This predictor can be helpful for getting trends and can be awesome. Thank You
Nice job. However, there is a small error in your equation for RMSE. You need to take the mean of the squared residuals rather than the square of the mean of the residuals.
w michaux can I send you some code to take a look at and maybe give me some pointers on what i can do better. my code runs im just not getting the results i intended and do not know where or why im stuck
If I'm not mistaken it is rmse = np.sqrt( np.mean( (predictions - y_test)**2 ))
@@amidatongassassin nope getting the same error its giving me nan output
Amazing video. It went thru everything from start to finish and explained it very clear and was easy to understand what was exactly going on and how things worked. Thanks for such a great video.
Really nice tutorial, however if anyone could tell me why did we keep the range from 60 specifically for the xtrain and ytrain timeseries datasets, it would be a huge help
0.3
you are the big pro in trading! thank you for sharing your experience😄
Foremost.. great tutorial! I really enjoyed the practical example for the purpose of learning how to use LSTM in python. Regarding the results of the neural network: It is obvious that the predictions are chasing the trend, similarly how a simple moving average would do. But a good starting point for exploring the possibilities of a RNN.
What if I want to predict the for the date that is not in my train dataset i.e I would use my whole dataset as training dataset and would create a module 2 predict the future price?
Really enjoyed learning the LSTM application for stock price prediction. I noticed that the prediction has overfitting and this is probably because you have not included Dropout in your model. Thanks
That was a great debut for me in this field, thank you so much for sharing this kind of stuff with us. :)
One very promising application of this approach is path finding by robot vehicle where in it has to use earlier data to predict next step !!! and check using sensors that whether the step it is going to take has any obstacle or not and correct/update its trajocatory....see...its totally a different field of application but it will definitely work - just keep you mind open, fellas !! He is good at what he does..
45:43 how you predict 5 o 10 consecutive days... not just 1?
Thanks for the great tutorial! A couple of questions please.
To establish a Multivariate Multi-Step LSTM Models - Multiple Input Multi-Step Output:
1. How can I modify this code to take, for instance, 3 inputs to forecast a different single output that depends on those 3 inputs?
2. How can I forecast multiple timesteps in the future without knowing the new inputs (because they're in the future)?
Same doubt, anyone please share any resources about it?
@@anujsrivastava5316 If you find solution, Kindly mention
Hi guys, Did you find a way to do the multivariate?
Thank you for your valuable sharing predictions on stock prices in a simple manner and lucid way of expressions.
I can now say I've watched someone piss into the wind for 49 minutes
Why?
It can be done. Look up billionaire mathematician Jim Simons
@@nczioox1116 I see this as being more useful for Options
I like the metaphor 👍
@@nczioox1116 Yes - but the video shows the common missconception about stock price prediction with LSTMs. This model just adds random noise of small amplitude to previous values. It cannot predict anything, its structure is just unsuitable to do so.
When you undertake this project in Python notebook as the presenter has done Gemini AI will complete the code for you by suggesting the lines of code. To accept what is suggested, just press the tab key on your keyboard. Through running the code can and getting an explanation from the Gemini AI regarding the errors, I determined that the API had changed.
Using the previous value "yesterday" in the forecast, it is likely that the forecast will be more accurate. You need to predict for a more impressive period to assess the strength of the algorithm.
but what if i just want tomorrows prediction, shouldn't i be satisfied with that?
in trading 0.1% matters. so these type of models are not going to help at all. unless they are constantly adjusted n number of times for the sample size taken to train the model, hardly any practical use. but an excellent way to begin with. THE EFFROTS ARE HIGHLY APRRECIATED. A BIG THANK YOU.
Great flow and explanations. Please keep uploading such wonderful videos. :)
Thank you, I will
@@ComputerSciencecompsci112358 I found an error
predictions=model.predict(x_test)
predictions=scaler.inverse_transform(predictions)
Output:
Valueerror: Found array with dim 3. Estimator expected
Wow .. that's impressive... Very useful tutorial. Many thanks
awesome, thank you very much for this video!! A big Hug from Argentina!!
Hola. Acabo de ver este video. Has intentado usar el código para invertir? De ser así, q tal salió todo?
Okay here's the deal,.... The Yahoo finance API has likely changed since this video was first published. For all of those introductory lines of code importing all those different packages you only need a single line now as follows: import yfinance as yf
Could you also please explain how to do cross-validation and hyperparameter tuning using LSTM?
Great video. Very easy to follow. Thanks
Thanks for watching!
I'd see a year backtest ;)
Did you backtest?
It's crucial to square before taking the average when calculating the RMSE. Otherwise, any unbiased model should get a really low value with just enough data...
I made a mistake on the rmse calculation but have the correct code for it in the description.
If you just prediction every day's close price as previous day's close price, you get a better model than this
Ur brilliant u will sure succeed in share market like warrent Buffett
What do you mean?
@@RoboticusMusic This RNN yields an error of ~16 dollars. If you always predict tomorrow's closing price as yesterday's closing price from 2001 to 2020. You get 0.71 dollar mean absolute error. abs(df.close.diff(1)).mean() == 0.7417740650899958
@@shaw7598 If yesterday's close is $100 and today's close is $101, you're saying predicting that tomorrows close is $100 is accurate on average of how many ticks?
@@RoboticusMusic Nobody is talking about tick data
Well don't get too excited guys. Because every model predicts a price very close to the closing price. If you zoom the chart, you can see that yellow prediction is next to red ones. So this is not going to help you to make money. It's almost similar to shifting price one day to the future. Stop trying to predict. YOU CANNOT FORECAST THE FUTURE PRICES!
Good job, but I think you only wrote simple moving average using RNN. can you expand the dates and see what prices it predicts? THANK YOU for your tutorial!
What if I want to predict the for the date that is not in my train dataset i.e I would use my whole dataset as training dataset and would create a module 2 predict the future price?
the code df is not running
model.add(Dense(25))
model.add(Dense(1))
This has resulted into RMSE of 0.38 , adding one more neural trace model.add(Dense(25))
may be the reason
why we take range as 60. Can you please explain
How to fetch prices of Indian stocks
Hmmm... now is 04/29/2021... the patter is same as like was predicted... lol amazing job.
df = web.DataReader('AAPL',data_source='yahoo',start='2012-01-01',end='2019-12-17'), this command seemed not work any more!
do you know what else i can write here?
@@oscura15 there's similar question above yours with a different answer you can check that out, but i used data_source = 'stooq' and it works fine
remember to import yfinance as yf
This has helped me a lot!! Thank you so much for the video
Knowing nothing about price movements, you just show a neural net 60 days of price 1 time, and then ask it: "oh oracle, what will price be the next day". It really needs more work than that. This is exactly what I was afraid of when deep learning was made more available. Just fire a DL at everything you don't grasp. Waste some electricity while you're at it.
This isn't for coin prediction. It's for "stocks" (AAPL in particular). Stocks historically attract investors "based on their past price performances", if not on their specific ratios. These past price data is vulnerable to very little or no manipulation due to strict regulations by the governments. So there's no point in predicting coin prices when there's NO REGULATION and zillions of tons of manipulation going on thru the so-called pump channels, etc. Stay away from coins unless you're part of a community that do those pumps because it's merely a gambling.
First of all , thanks for a wonderful session. One question about scaling though. Shouldn't the MinMaxScaler be used to fit_transform the training data and then use the "fitted" scaler to the test data ?
Yeah! There was information leak in this demonstration
Strong word of choise! for Backtest
That's pretty cool! thank you man. I just didn't know why you imported the pandas
Thanks for watching !
Hey bro do you have the source code?
If yes, then can you please give it to me?
Cool video. But LSTM is not working so well here. Baseline test: if you simply predict the next day's stock price to be THE SAME as this day, you get an RMSE of 2.25 or so.
To be a super-trader, you'll need an edge to overcome the laws of probability and the uncertainty of the marketplace. That edge comes from information flow, the ability to correct your habits in terms of the market's characteristics, and being able to learn from people who know more than you, cut losses, expand your information network, ferret out ideas, and take recommendations. You can seek more guidance from Paulson Dmitriev his guidance got me this far.
More videos like this, with different type of ML technique for stock prediction or Sell prediction in industry (like distribution), with more variety of technique, but with the same type of slow explanation. Super video, you definitely win my sub with this one. Thanks from the silent majority! 🤔
Can I have your GIT credentials and an amazing project. Loved the notes for each line and that voice is damn calming. It calms me down when i get an error.
I do everything the same and I got that
df = web.DataReader('AAPL', data_source='yahoo', start='2012-01-01', end='2024-02-16')
df
TypeError: string indices must be integers, just in the begginer
😭 help please
Same error here, waiting for answer
get an answer from the comment below, hope it helps. "import yfinance as yf and change the line of code to df = yf.download('AAPL', start='2012-01-01', end=end='2019-12-17'). It seems like yahoo changed their api and these changes broke compatibility with pandas datareader" , and thank you @lucaartz
@@Suheng-dn9cd thank you very much
from datetime import datetime
import yfinance as yf
yf.pdr_override()
symbol = "AAPL"
today = pd.to_datetime("today") # Ensures today's date
start_date = datetime(2012,1,1)
end_date = today
# Retrieve historical data
df = pdr.get_data_yahoo(symbol, start=start_date, end=end_date)
df
@@Suheng-dn9cd Thank you very much
Thank you so much for this tutorial, it was very helpful and I learned a great deal :) I have a question, if I want to predict more days should I change the number of neurons? Could you clarify this, please?
You will need to use for loop on the last cell he made for predicting next day value. The for loop will help to execute same lines of code for how many days you want to predict in future.
Love the video.
And love the comments!
So much learned here.
Thanks for the post! 👍🏽
And so I follow you now both on Github and YT... Thanks - great job!
can you please send the github link
@@aadityapareek Sure: github.com/randerson112358
Your video was very much helpful for me to learn and understand ML with stock market price prediction.
Keep making such useful videos sir.
Thank you once again for your time and efforts.
Hello great Video really helpful for understanding the concepts of LSTM models and stock price prediction 😊!
I just have one question how can we add a dropout function in order to reduce overfitting and improve the performance of the model ?
Add it after your Lstm layer in similar way we do for ANN.
Thank you for this awesome tutorial!
It would be super useful if you could provide the raw code as well
++
Great job. Thanks for the awesome video.
Thanks for watching!
Thank you for the video, it is helpful to understand the logic behind this. Let suppose I want to add sentiments as another dimension for prediction, how would you include this in the code?
string indices must be integers - getting this error
What you want to predict is whether tomorrow’s price is higher or lower than today’s price.
I don’t know why I can’t mine can’t display the prices it’s telling me type error
Thanks for the video! I also got a question, how can you extend the prediction for the next 60 days for example ? thanks
same question
Try using incremental (online) learning. Create a loop to predict daily whiles updating your data with the predicted values incrementally.
Sir, I believe the model overfits. If you can take 60% train and 20% test and unseen 20% for Cross validation!
Hello, Thanks a lot for this interesting instruction about stock price prediction.
I am working on the prediction related to battery performance deterioration, so I have a few questions on the prediction part of the prediction algorithm. To my knowledge, the prediction part you proposed in the video can only make one step ahead prediction, right? Though the first algorithm you create a NumPy array contains test close stock price (many rows), but in your
pred function, you iterate the prediction only based on the x_test, without the predicted close stock values. Is it possible to overcome this to help make a real prediction that can predict the stock price for a longer period, like 10 days, one month? Thank you very much.
This video is simply to demonstrate the implementation of LSTM. There are many factors to consider while making real predictions. Imagine if this was effecient way then wont all the LSTM algorithm makers be making huge profit 🤍
Thanks for the great video. I will use it. But predicting the future is difficult!
It’s very important that the programmer should deeply understand the market as well to prevent the creation of BS like presented here! These results only seem to be close to the actual price, but in reality it’s 95% noisy!
I think the rmse that you calculated is the (mean)^2, not the mean of squares.
I put the correct code in the description
@@ComputerSciencecompsci112358 thanks!
By the way, great video!
thank you for this! Im new to python and was wanting to hone my skills and thought I'd embark a project to predict the stock price of a company.... one question...why didnt you use time series analysis? is the LSTM method more useful than time series analysis for predictions?
i guess i am little late here but m glad had this recommendation. Grt stuff and what exactly i was looking
Hello, great job. How could I make a 5 or 10 day prediction from today's date?
I also have no idea, have you figured it out?