Top Qs
Timeline
Chat
Perspective

OjAlgo

From Wikipedia, the free encyclopedia

Remove ads

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 ...
Remove ads

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]

Remove ads

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);
Remove ads

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads