Design Requirements

PERFORMANCE

The performance of the stock prediction framework is two-fold. Firstly, the algorithm should be able to use machine learning to consistently and accurately predict the movement of stock prices. Specifically, the algorithm should have a prediction accuracy greater than 50% (i.e., better than guessing).

Secondly, the framework should be able to leverage the predictions made in the first part of the framework. This specification relates to the practical application of the framework to the market and trading stocks. The framework should be able to utilize price predictions to provide a simple, optimal trading strategy. Specially, the system should be able to take multiple input stocks, predict their prices, and output a table. The table should be organized based on whether the algorithm believes the stock prices is going to increase or decrease. Furthermore, these rising and falling stocks should be sorted according to the predicted magnitudes of their movement. Such outputs should enable an investor to “long” the top rising stocks and “short” the falling stocks.

Thirdly, the framework should be flexible, meaning any user should be able to customize it to perform their desired stock analysis. The user should be able to input any number of stocks desired to predictive analysis. These inputs should be any type and number of features desired by the user. The user should be able to customize some parts of the design internal to the network, including the size of a sliding window or the use of an ensemble for prediction. Additionally, the user should be able to customize their desired outputs. The user should be able to specify the number of days into the future they wish to predict as well as the number of stocks they want the algorithm to output (indicating the “top” and “bottom” stocks).

MATERIALS

The system should be easy to use and inexpensive. The algorithm should be able to run on a personal computer (which can give an added bonus of portability). The system should use cloud computing to perform its calculations. (It should be noted that cloud computing is beneficial because it does not interfere with other processes that the user may be carrying out on their computer, and it is fairly inexpensive to use).

The framework should be implemented in a free or inexpensive programming language. This language should provide the necessary tools to implement a machine learning algorithm with minimized difficulty.

The data used in this project should be readily accessible to the public, free, and be reflective of overarching economic factors as well as historical price data.

 ECONOMIC

The economic considerations of this project are based solely on the costs of the materials for implementation. The overhead costs should be low because the purpose of the system is to return profits. Thus, the user would have a better rate of return on profits by avoiding incurring huge costs from their trading system.

Skip to toolbar