Predicting stock prices has been at the focus for a long time due to monetary benefits it can yield. Prediction of the future stock price is trying to determine the future value of a company stock which is traded on a stock exchange. Traditionally investors have relied upon fundamental research and technical analysis to predict the stock price movements. Fundamental analysis is concerned with the performance of the company and its business environment. Investors mainly consider the current price and likely future performance of the company while picking the stocks.
Technical Analysis is concerned with past patterns of the stock price movements and predicting future trends. Lately, machine learning models are also used in technical analysis to process the historical and current data of public companies to predict their stock prices. Mathematical models can be developed which process historical data about quarterly financials, trading data, latest announcements, and news flow etc and machine learning techniques can identify patterns and insights that can be used to make predictions for stocks. Trading signals can be generated and because correlation based on which the trading call is given is often weak, the time window in which profit can be made by the execution of the trade is usually very small. Therefore, firms that specialize in 'quant' trading keep their machine learning algorithms simple and secretive so their trading strategies can be optimized for speed and reliability.
Now, we take a brief look at some of the machine learning models for prediction of stock prices.
Moving Average - Moving average is average of past 'n' values and is considered widely in technical analysis. 20 day, 50 days and 200-day moving averages of stock prices and indices are critical data points in predicting future trends.
Exponential Moving Average (EMA) differs from simple moving average in that it gives greater weightage to the most recent values compared to the older values.
Linear Regression is another commonly used statistical approach to model the relationship between a scalar response and one or more independent variables.
Support Vector Machines (SVM) is a machine learning technique based on binary classification, which is now greatly used in predicting whether the price of a stock will be higher or lower after a specific amount of time-based on certain parameters.
There are also a few non-statistical models that are being used to forecast stock price movements. A textual analysis of financial news articles is one such method. In this method, a crawler is trained to scan all the financial news articles and look for the patterns that are likely to have an impact on prices of specific stocks. Text mining of historical news articles with concurrent time series analysis can be done to figure out the impact of various types of news articles. Different weightage for articles based on the credibility of their sources can be given.
Thus, Machine learning can be applied to stock data and mathematical models can be developed to predict stock prices. Trading strategies can be optimized for speed relying on these models while simultaneously eliminating human sentiments from decision making.
There is a lot to explore with regards to stock predictions and machine learning models that need further explanation cannot be expatiated in a concise article like this. The machine learning future in India is very bright. If you need to pursue machine learning courses, learn from pioneers like Imarticus.