finMath.net

finmath.net Java Library

Follow @finmathnet on Twitter

The finmath.net software libraries provide implementations of methodologies related to mathematical finance, but applicable to other fields (e.g., the Monte-Carlo simulation of SDEs and the estimation of conditional expectations in Monte-Carlo).

The libraries have a focus on Monte-Carlo methods, interest rate products and models and hybrid models.

Projects

You will find several project in the repository.
finmath lib

Java library providing implementations of methodologies related to mathematical finance, but applicable to other fields (e.g., the Monte-Carlo simulation of SDEs and the estimation of conditional expectations in Monte-Carlo).

finmath lib is now on Java 8 (since February 2nd, 2014), but a Java 6 version is provided too.

Note: for convenience the provided Eclipse project is configured for Java 6. The maven pom defaults to Java 6. To build the Java 8 version use the profile "java-8", i.e. "-P java-8"


finmath spreadsheets

A collection of spreadsheets building upon finmath lib and providing end user solutions (e.g, interest rate curve calibration or calibration of a forward rate model, aka LIBOR market model).


finmath experiments

Small experiments, illustrating some aspects of mathematical finance. Also illustrates how to use the finmath lib.

Documentation

License

The code of "finmath lib" and "finmath experiments" (packages net.finmath.*) are distributed under the Apache License version 2.0, unless otherwise explicitly stated.

Repositories

Source code and demos are provided via Github and a subversion repository.

Note: If you like to be informed upon updates, please send an email to info@finmath.net using the subject 'finmath updates'.

Source Code (Java 8/Java 6)

The finmath lib Java library comes in two flavors which have a slightly different code base: a Java 8 version and a Java 6 version. We will use Java 8 concepts in the future and try to provide Java 6 compatibility where possible.

For that reason, the source code is duplicated:

src/main/java
contains the Java 8 compatible source files
src/main/java6
contains the Java 6 compatible source files

Although the two folder share some/many identical source files, we prefer this two folder layout over one with a third folder like java-common.

Building finmath lib

To build finmath lib you may use ant (a build.xml is provided) or use maven (a pom.xml is provided). An Eclipse project file is provided for convenience. It is pre-configured to Java 6.

Maven build

The maven pom defaults to the Java 6 build. To build finmath lib for Java 8 use the maven profile "java-8".

Issue Tracking

Issue tracking is being moved to GitHub: https://github.com/finmath/finmath-lib/issues.