Real-time time series analysis & prediction - Liu, Farui. (2012)
This project is about creating a real-time analysis and prediction system based on Time Series and conducting performance measurements on single-threaded and multi-threaded platforms. The program is written mainly in Java, an object-oriented language, with calculations written in R, a functional language. Inputs are obtained from previously saved files containing historical data of multiple stocks. Models used in the Analysis are Autoregressive Moving Average (ARMA), Autoregressive Integrated Moving Average (ARIMA) and Autoregressive Fractionally Integrated Moving Average (ARFIMA). Outputs of the system will be a forecast of the analyzed stock for a predetermined number of future moments. These outputs will also be compared with the actual incoming new data for prediction accuracy compared to the mean of the output. Performance measurements are the accuracy of the prediction output, time taken to calculate the output of one stock (up to sixteen stocks) on a single-threaded program followed by on a multi-threaded program. These time measurements will be used by a calibration function to provide user with a limitation on the minimum thread spawning rate to avoid errors. Calibration is done by comparing the default machine, on which the timing measurements were made, with the current machine, and scaling the timing measurements as per required to ensure safe operation of the program. Finally, a summary report will be generated providing information on cross-correlation of stocks in analysis and the prediction accuracy of each of them.