Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
net.finmath:finmath-lib
Advanced tools
finmath lib is a Mathematical Finance Library in Java. It provides algorithms and methodologies related to mathematical finance.
Mathematical Finance Library: Algorithms and methodologies related to mathematical finance.
Project home page: http://finmath.net/finmath-lib
The finmath lib libraries provides (JVM) implementations of methodologies related to mathematical finance, but applicable to other fields. Examples are
net.finmath.montecarlo.automaticdifferentiation
)The library is available for Java 11 and Java 8. We are starting to provide examples in Kotlin.
The Maven build file is provide. Import the project as Maven project.
The default Maven profile is Java 11 without Kotlin. To enable Java 8 version select the Maven profile 'java-8'. To enable Kotlin select the Maven profile 'kotlin'.
Binary releases can be found at http://finmath.net/finmath-lib . The version numbering of finmath-lib follows a the semantic versioning (at least we try to).
finmath lib is distributed through the central maven repository. It's coordinates are:
For the Java 11 version:
<groupId>net.finmath</groupId>
<artifactId>finmath-lib</artifactId>
<version>${project.version}</version>
For the Java 8 version:
<groupId>net.finmath</groupId>
<artifactId>finmath-lib</artifactId>
<version>3.6.3</version>
<classifier>java8</classifier>
Note: finmath-lib Version 4 and 5 is currently not available for Java 6. For Java 6 you may try version 3.6.3 with classifier java6.
You may build the Java 11 version via Maven using
mvn -P java-11
and the Java 8 version using
mvn -P java-8
The finmath lib Java library comes in two flavors which have a slightly different code base: a Java 11 version and a Java 8 version. We will use Java 11 concepts in the future and try to provide Java 8 compatibility where possible.
For that reason, the source code is duplicated:
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.
These builds may be performed via Maven the profiles "java-11" and "java-8". The eclipse project file is pre-configured to Java 11.
The maven pom defaults to the Java 11 build. To build finmath lib for Java 8 use the maven profile "java-8".
Source code and demos are provided via Github repository.
Although not recommended, the repository contains an Eclipse project and classpath file including all dependencies.
For documentation please check out
The code of "finmath lib" and "finmath experiments" (packages
net.finmath.*
) are distributed under the Apache License version
2.0, unless otherwise explicitly stated.
The finmath-lib-cuda-extensions implement the interface RandomVariable
via Cuda GPU code. This allows to perform Monte-Carlo simulations on the GPUs with a minimal change: a replacement of the random variable factory.
The finmath-lib-automaticdifferentiation-extensions implement the RandomVariableInterface via an AAD enabled version. This allows to access automatic differentiations with a minimal change: a replacement of the random variable factory. Starting with version 3.3.1 the finmath-lib-automaticdifferentiation-extensions is part of finmath-lib.
We follow losely the Eclipse coding conventions, which are a minimal modification of the original Java coding conventions. See https://wiki.eclipse.org/Coding_Conventions
We deviate in some places:
We allow for long code lines. Some coding conventions limit the length of a line to something like 80 characters (like FORTRAN did in the 70'ies). Given widescreen monitors we believe that line wrapping makes code much harder to read than code with long(er) lines.
We usually do not make a space after statements like íf
, for
. We interpret íf
and for
as functions and for functions and methods we do not have a space between the name and the argument list either. That is, we write
if(condition) { // code }
FAQs
finmath lib is a Mathematical Finance Library in Java. It provides algorithms and methodologies related to mathematical finance.
We found that net.finmath:finmath-lib demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.