dc.description.abstract |
Generally, retail investors with low net worth do not have regular access to insights and information with respect to constructing optimal portfolios. On the other hand, professional investment managers have access to substantial amounts of data and insights for them to make informed decisions. They also apply various advanced models to forecast asset prices and construct portfolios. Unfortunately, the small-scale investors do not have access to those types of investment managers for bespoke investment solutions. This study primarily focuses on forecasting share prices using machine learning models, which is one of the fundamental steps to construct an optimal portfolio. The objective is also to construct a portfolio with the forecasted share prices in order maximize returns of an investor. The machine learning models are used to forecast the share prices of 10 companies with the largest market capitalization in the Colombo Stock Exchange. With the support of past literature, the algorithms that have been used are Random Forest Regressor, LSTM, Lasso Regression and ARIMA. While the closing price of the share of the selected stock is the dependent variable, the independent variables are daily opening price, daily high price, daily low price, share volume, 5-day MA, 10 day MA, 20 day EMA and MACD. 3 algorithms were used to build a model to forecast share prices for the next 30 days. Random Forest, Lasso Regression and LSTM. Using Python language, individual models were built for the selected stocks under each algorithm. The conclusion is that the selected stocks can be forecasted at moderately accurate levels using the daily price and volume related factors. The models were tested by measuring Mean Absolute Error, Mean Squared Error and R squared. Out of the three algorithms LSTM performed relatively better in predicting the future share prices. LSTM had the lowest MAE (0.18) and MSE (0.27) which are indicators of a good model, while Random Forest showed the highest R Squared. |
en_US |