Using Discrete Wavelet Transform on the S&P500

Project Motivation and Description:

Flow chart of our model

For our Wavelets & Filter Bank final project, my teammates and I examined the merits of utilizing discrete wavelet transforms in filtering input financial data and various decision making algorithms to buy, sell, or hold stocks. This system was split into three components: the preprocessor, the decision maker, and the post-processor. The preprocessor utilized the discrete wavelet transform, with a wavelet of our choosing, to denoise the data. Next, the decision maker relied on component auto-correlation to label markets as bull or bear. Finally, the post-processor used the states derived from the decision maker to decide whether we buy, sell, or hold on a certain day based on the input data.

My Role:

Asset prices tend to be non-linear and non-stationary processes, which means that their probability properties will vary over time. Therefore, it is difficult to train a regressor or a classifier (through some machine learning/statistical method) to predict asset prices. However, it is possible to project these asset prices onto a wavelet basis and decompose the random process into stationary components based on its wavelet level. I focused on implementing the preprocessor MODWT, Maximal Overlap Discrete Wavelet Transform, described in another paper to yield these stationary components. I tested three different wavelets for the MODWT–Haar, Daubechies 4, Daubechies 9–up until the three levels of decomposition to yield the stationary components. Using the stationary components and the best level of MODWT decomposition for each wavelet, my teammates designed and implemented an artificial neural network (ANN) to predict the asset prices.

Wavelet Decomposition for 3 levels of AAPL stock data (Daubechies 9)

Most Challenging Part of the Project:

The hardest part of the project was replicating the results obtained in the paper using MODWT. While we were unsuccessful in increasing our alpha value–excess in returns on investment–compared to our na ̈ıve method of “buy and hold” for all cases, we were able to reduce the mean square using MODWT-ANN by 15% in comparison to our na ̈ıve method. In addition, due to timing constraints, we opted not to use the machine learning method Support Vector Regression, which could have proved to perform better.