An Easy Guide to Stock Price Prediction Using Machine Learning

Stock price analysis has been a critical area of research and is one of the top applications of machine learning. This tutorial will teach you how to perform stock price prediction using machine learning and deep learning techniques. Here, you will use an LSTM network to train your model with Google stocks data.

PCP in AI and Machine Learning

In Partnership with Purdue UniversityExplore Course
PCP in AI and Machine Learning

What is the Stock Market?

A stock market is a public market where you can buy and sell shares for publicly listed companies. The stocks, also known as equities, represent ownership in the company. The stock exchange is the mediator that allows the buying and selling of shares. 

StockMarket

Importance of Stock Market

  • Stock markets help companies to raise capital.
  • It helps generate personal wealth.
  • Stock markets serve as an indicator of the state of the economy.
  • It is a widely used source for people to invest money in companies with high growth potential.

Stock Price Prediction

Stock Price Prediction using machine learning helps you discover the future value of company stock and other financial assets traded on an exchange. The entire idea of predicting stock prices is to gain significant profits. Predicting how the stock market will perform is a hard task to do. There are other factors involved in the prediction, such as physical and psychological factors, rational and irrational behavior, and so on. All these factors combine to make share prices dynamic and volatile. This makes it very difficult to predict stock prices with high accuracy. 

Understanding Long Short Term Memory Network

Here, you will use a Long Short Term Memory Network (LSTM) for building your model to predict the stock prices of Google.

LTSMs are a type of Recurrent Neural Network for learning long-term dependencies. It is commonly used for processing and predicting time-series data. 

LSTM

From the image on the top, you can see LSTMs have a chain-like structure. General RNNs have a single neural network layer. LSTMs, on the other hand, have four interacting layers communicating extraordinarily.

LSTMs work in a three-step process.

  • The first step in LSTM is to decide which information to be omitted from the cell in that particular time step. It is decided with the help of a sigmoid function. It looks at the previous state (ht-1) and the current input xt and computes the function.
  • There are two functions in the second layer. The first is the sigmoid function, and the second is the tanh function. The sigmoid function decides which values to let through (0 or 1). The tanh function gives the weightage to the values passed, deciding their level of importance from -1 to 1.
  • The third step is to decide what will be the final output. First, you need to run a sigmoid layer which determines what parts of the cell state make it to the output. Then, you must put the cell state through the tanh function to push the values between -1 and 1 and multiply it by the output of the sigmoid gate.

With this basic understanding of LSTM, you can dive into the hands-on demonstration part of this tutorial regarding stock price prediction using machine learning.

Free Webinar: AI for Business Decision Making

December 12, Thursday | 9 PM ISTRegister Now
Free Webinar: AI for Business Decision Making

Google Stock Price Prediction Using LSTM

1. Import the Libraries.

LoadLibraries

2. Load the Training Dataset.

The Google training data has information from 3 Jan 2012 to 30 Dec 2016. There are five columns. The Open column tells the price at which a stock started trading when the market opened on a particular day. The Close column refers to the price of an individual stock when the stock exchange closed the market for the day. The High column depicts the highest price at which a stock traded during a period. The Low column tells the lowest price of the period. Volume is the total amount of trading activity during a period of time. 

LoadDataset

3. Use the Open Stock Price Column to Train Your Model.

OpenPrice

4. Normalizing the Dataset.

NormalizingData

Artificial Intelligence Engineer

Your Gateway to Becoming a Successful AI ExpertView Course
Artificial Intelligence Engineer

5. Creating X_train and y_train Data Structures.

TrainingData

ShapeOfData

6. Reshape the Data.

ReshapeData.

7. Building the Model by Importing the Crucial Libraries and Adding Different Layers to LSTM.

DeepLearningLibraries

BuildingModel

FREE Machine Learning Certification Course

To become a Machine Learning EngineerExplore Course
FREE Machine Learning Certification Course

8. Fitting the Model.

FitModel.

9. Extracting the Actual Stock Prices of Jan-2017.

TestData

10. Preparing the Input for the Model.

ModelInput.

11. Predicting the Values for Jan 2017 Stock Prices.

PredictStocks

Free Course: Machine Learning Algorithms

Learn the Basics of Machine Learning AlgorithmsEnroll Now
Free Course: Machine Learning Algorithms

12. Plotting the Actual and Predicted Prices for Google Stocks.

PlottingData

As you can see above, the model can predict the trend of the actual stock prices very closely. The accuracy of the model can be enhanced by training with more data and increasing the LSTM layers.

Conclusion

The stock market plays a remarkable role in our daily lives. It is a significant factor in a country's GDP growth. In this tutorial, you learned the basics of the stock market and how to perform stock price prediction using machine learning. 

Do you have any questions related to this tutorial on stock prediction using machine learning? In case you do, then please put them in the comments section. Our team of experts will help you answer your questions.

If you are interested in learning further about Machine Learning, including the various ML applications across industries, do explore Simplilearn’s Post Graduate Program in AI and Machine Learning in partnership with Purdue University, and in collaboration with IBM. This comprehensive 12-month program covers everything from Statistics, Machine Learning, Deep Learning, Reinforcement Learning, to Natural Language Programming and more. You get to learn from global experts and at the end of the program walk away with great endorsements from industry and academic leaders and a skillet that is today the most in-demand in organizations across the world.

Happy learning!

About the Author

Avijeet BiswalAvijeet Biswal

Avijeet is a Senior Research Analyst at Simplilearn. Passionate about Data Analytics, Machine Learning, and Deep Learning, Avijeet is also interested in politics, cricket, and football.

View More
  • Disclaimer
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.
  • *According to Simplilearn survey conducted and subject to terms & conditions with Ernst & Young LLP (EY) as Process Advisors