Bing Forecast
More Info
expand_more
Abstract
Bing Technology, a Philadelphia, USA based software company, seeks to develop a software framework that can be used to create forecasts for a wide range of predictive domains. In particular, they would like to create an application of this framework that is able to perform stock market forecasting. The goal of our project is to develop an innovative algorithm to perform data prediction, and to apply this algorithm in a stock market forecasting application. The application should generate investment strategies which can be evaluated to output an optimal investment portfolio. We have achieved this goal by making use of a variant of Genetic Programming to create strategies which are represented internally by a tree containing "modules". Each module performs a specific function; examples include simple numerical parameters, statistical functions and technical indicators. The backbone of the application is written in Java, communicating with a web-based PHP front-end through a MySQL database. The front-end allows the user to create jobs for the back-end to process, as well as view the resulting strategies and related statistics. Test runs have shown a correlation between in-sample and out-of-sample performance. Further, we have determined with high certainty that there is a predictable relation between the complexity of a test run and the duration of the run. There are several features and changes we would like to see in future development of the product. Several program parameters can be optimized further, and there are more modules to implement that could boost the performance of the generated strategies. Further, the data provided to the modules can be improved by including qualitative data about the company, or industry aggregative data. Other improvements could come from implementing support for short selling and more accurate transaction costs. On the user side, we would like to give investors more control over the strategy building process by allowing them to create templates on which new strategies have to be based.