This is the entry page of the documentation of the C++ ROOT_application module.
Follow this link to access the the python ServerPortfolio documentation.
Contents
Overview of the software
ROOT_application provides 2 main parts:
- A pure C++ part which implements the model: Stock definition, binding to TA-lib to compute technical indicators and to ServerPortfolio to update the data.
- A GUI (GUIStock) provides a graphical interface.
Dependencies and installation
The compilation of the source code requires the following libraries:
- Boost C++ library, tested with version 1.53
- ROOT framework for the graphical interface, tested with version 5.34
- TA-lib provides a large number of analysis methods for financial time series data. Latest tests done with the rev. 1542
Preparation
The is no single script for installing the executables. Some paths must be edited manually before the compilation:
- path_to_mycstock/ROOT_application/trunk/utils/Utils.h: the directory containing the market data
- path_to_mycstock/ROOT_application/trunk/env_home: define the paths of the libraries, used only by the Makefiles
The source code documentations can be compiled with:
doxygen path_to_mycstock/ROOT_application/trunk/DoxyROOTApplication
HTML pages are generated in trunk/doc/html
Compilation
There are different compilation options for the make tool:
- make [-j 2] all: compile the libraries in lib/: libstock.so, libobjectstock.so, wrapPyStock.so and the main executable in bin/: GUIStock
- make wrapPyStock.so : compile only the shared library wrapPyStock.so needed by the python modules, and copy it into the ServerPortfolio/trunk directory (need TA-lib and Boost)
- make test: compile all test executables in bin/. They have been initially written for testing the different functionalities of the classes and for detecting memory leak. It is planed to be replaced by proper unit-tests at a next stage
- make unit_test: compile all unit-tests in bin/. Actually only src_cpp classes are tested.
- make clean: clean all compiled files
The shared library wrapPyStock.so contains wrapper functions to the C++ Stock class intended to be loaded by the Python modules, it is automatically copied into the ServerPortfolio directory at compilation: