In this thesis a C++ framework for automatic trading on the foreign exchange market (FOREX) is developed. The framework allows an ensemble of prediction models to either run on a live market, handling the communication with the broker and the execution of trades; or to be evaluated on historical data through a virtual market simulation. The solution provides a ZeroMQ messaging interface to other languages such as Python; this allows for rapid prototyping of new prediction models through the utilization of the extensive machine learning exosystem of Python.
In addition to the architecture, the implementation of some example agents that provide different feature transformations of the exchange rate is described. The possibility of dependencies among the agents togethr with a careful data handling allows for multiple iterations of training of the classifiers while making sure that no information is leaked in the process.