To set up the coding environment for a new AlgoQuant project, please follow the following steps.
SuanShu and AlgoQuant are Java based code. Before we can code using the libraries, we need to install the latest Java Development Kit (JDK). If you skip this step, you can download it together with NetBeans in the next step.
NetBeans is our preferred IDE for Java programming. You may download and install JDK and then NetBeans. Or you can download “NetBeans with JDK” directly.
NetBeans can be downloaded from this link. If you have no Java programming experience, choose the one labeled “Java SE”.
Run the installer.
Run the installer. More information on svn can be found in this wiki.
After installing TortoiseSVN, right click in Explorer in the empty space in the folder you want to put your project in. Click “SVN checkout” to check out project.
The following example checks out AlgoQuant. You will use the URL given to you instead. In most cases, you do NOT need to check out AlgoQuant as it will be automatically downloaded by Maven when you build your project.
Coding in NetBeans
Launch NetBeans. Open your project. You can right click on a package/folder to create a new Java class to start coding. If you are asked to modify AlgoQuant code, copy and paste the code in your project and do the editing there. Do NOT modify source code in AlgoQuant directly.
To build your project, right click on the project and hit “Clean and Build”. Alternatively, you can hit this button on the top bar.
To run your project, you need to create JUNIT test cases. We run our project by running the test cases. To create a JUNIT test case file, hit “CTRL+SHIRT+U”. This will create a test file for you where you will put your test cases. You can right click on the test file and run it – either in normal or debug mode.
When you are done with coding a milestone, you can submit your code by committing code. Right click the project folder. Select “SVN Commit”.
Type in some meaningful message to let people know what changes and files you make and add. Click “OK” to commit.