In my thesis work, I’ve created a software that’s able to forecast stock prices using time-series data and different methods. These forecasts are then used to develop optimal portfolios for the user.
As part of my work, I’ve reviewed the theoretical background of the topic, including the general characteristics of stock prices, different forecasting methods, the operation of neural networks, and the basics of portfolio management. The designed software is based on these theories.
The system must provide large amounts of historical stock prices required for the training and testing of the neural network, which involves downloading, cleansing and handling time-series data. The system consists of several different applications, which were all developed using the C#.NET framework. The framework supports efficient development of applications with graphical user interfaces. I had to make a number of considerations during the design, which I tried to note down in detail in my study.
Two years of minute data of numerous financial instruments has been collected since the completion of the stock price downloader application. The prediction techniques were created and tested using this data. I tried to perform the tests on as much data as possible to get reliable and significant results. Forecasting with both neural networks and regression have led to positive results. The simulated trading earned high returns using these predictions from a vast number of transactions.
The portfolio manager application is based on the Modern Portfolio Theory, that takes risk into account too, besides profit. Theory met practice during the tests, and the program managed to diversify the risk using multiple stocks.
Even though the test results are convincing, practical use of them requires further research. This research can be carried out using further parameterization and development of the system.