Forecasting High Frequency Financial Time Series Using Parallel FFN with CUDA and ZeroMQ
Paola Arce, Cristián Maureira, Roberto Bonvallet, C ́esar Fernández · 2012
Feed forward neural networks (FFNs) are powerful data-modelling tools that have been used in many fields of science. Specifically in financial applications, due to the number of factors affecting the market, models with a large quantity of input features, hidden and output neurons can be obtained. In financial problems, the response time is crucial and it is necessary to have faster applications. Most of the current applications have been implemented as non-parallel software running on serial processors. In this paper we present a parallel implementation of a FFN using GPU in order to reduce response time when a new data arrives. The problem can be conveniently represented by matrix operations implemented using the CUBLAS library. It provides highly optimized linear algebra routines that take advantage of the hardware features of the GPU. The algorithm was developed in C++ and CUDA and all the input features were received using the ZeroMQ library, which was also used to publish the output features. ZeroMQ is an abstraction over system sockets that allow chunks of data to be efficiently sent therefore minimizing the overhead and system calls. The algorithm was tested on an NVIDIA M2050 graphics card with a Intel Xeon X5650 2.67 GHz CPU for neural networks of 1000 input features, 2000 hidden neurons and 500 output neurons. Response times of the order of 900 us were obtained.