OjAlgo

From Wikipedia, the free encyclopedia

oj! Algorithms or ojAlgo, is an open source Java library for mathematics,[1][2] linear algebra and optimisation. It was first released in 2003[3] and is 100% pure Java source code and free from external dependencies. Its feature set make it particularly suitable for use within the financial domain.

Quick Facts Original author(s), Stable release ...
OjAlgo
Original author(s)Anders Peterson
Stable release
v44.0 / September 27, 2017 (2017-09-27)
Operating systemCross-platform
TypeLibrary
LicenseMIT License
Websiteojalgo.org
Close

Capabilities

  • Linear algebra in Java
    • "high performance" multi-threaded feature-complete linear algebra package.
  • Optimisation (mathematical programming) including LP, QP and MIP solvers.
  • Finance related code (certainly usable in other areas as well):
    • Extensive set of tools to work with time series - CalendarDateSeries, CoordinationSet & PrimitiveTimeSeries.
    • Random numbers and stochastic processes - even multi-dimensional such - and the ability to drive these to do things like Monte Carlo simulations.
    • A collection of Modern Portfolio Theory related classes - FinancePortfolio and its subclasses the Markowitz and Black-Litterman model implementations.
    • Ability to download data from Yahoo Finance and Google Finance.

It requires Java 8 since version v38. As of version 44.0, the finance specific code has been moved to its own project/module named ojAlgo-finance.[3]

Usage example

Example of singular value decomposition:

SingularValue<Double> svd = SingularValueDecomposition.make(matA);
svd.compute(matA);

MatrixStore<Double> U = svd.getQ1();
MatrixStore<Double> S = svd.getD();
MatrixStore<Double> V = svd.getQ2();

Example of matrix multiplication:

PrimitiveDenseStore result = FACTORY.makeZero(matA.getRowDim(), matB.getColDim());
result.fillByMultiplying(matA, matB);

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.