The development of ojAlgo has largely been motivated by various financial applications. Most of the ojAlgo code is simply maths – not specific to any domain – but there is also domain/finance specific code. That includes code that allow you to: 

  • Download and parse historical data obtained from Yahoo Finance, Alpha Vantage, IEX Trading or other sources
  • Patch, transform and analyse time series data
  • Modern portfolio theory stuff: Markowitz, Black-Litterman and other models
  • Generate future market scenarios
  • Simulate the behaviour of portfolios

Everything necessary to do that is in ojAlgo – zero dependencies.

With the release of ojAlgo v44 the finance specific stuff was moved to its own repository/artifact – ojAlgo-finance, but with ojAlgo v51 that move was reverted. Everything “finance” is again part of the core ojAlgo artifact.

  • ojAlgo v44 <> ojAlgo-finance v1.0.0 (first release as a separate artifact)
  • ojAlgo v50 <> ojAlgo-finance v2.4.1 (last release as a separate artifact)

Portfolio Tactics

Portfolio Tactics

Optimatika’s Tactical Portfolio Optimiser – Portfolio Tactics – is built on ojAlgo, ojAlgo-finance and some of the ojAlgo-extensions modules/artifacts.

Optimatika has many years experience building support systems for private banking and wealth management professionals. Portfolio Tactics is a tool envisioned by Optimatika – it’s what we saw was missing in the industry. Although designed for professionals managing many portfolios (on behalf of others), it is also usable by sophisticated individual investors.

There’s some further info about the system – Portfolio Tactics – at Optimatika’s site. It is part of Optimatika’s product and service offering.

Documentation, Support & Services

User documentation, with code examples, can be found here (on this site) in the form of blog posts. The Code Examples page contains a complete list of example programs used in the blog post. All blog posts containing example code are categorised as Documentation.

Programming questions related to ojAlgo are best asked at stack overflow. Just remember there are rules and standards regarding what questions you can ask as well as how you should ask them and what you should do when you get a reply. Also, it’s a good idea to actually mention ojAlgo and tag the question using ‘ojalgo’ and whatever other tags you find suitable.

Bug reports, or any issue with existing code, should be posted at GitHub Issues. GitHub is all about collaboration. If you raise an issue there then participate in resolving it.

GitHub Discussions can be used to discuss anything related to ojAlgo.

ojAlgo is Open Source, and you are strongly encouraged to clone or fork the repository and work directly with the source code. The source code is (part of) the documentation, and you should read it.

Private Commercial Support

Optimatika is the primary sponsor of ojAlgo – it’s built by Optimatika – and we offer commercial support.

If you want private communications directly with the ojAlgo developer(s) regarding how to best solve your particular problem, then you should purchase support from Optimatika.

Use the Products & Services Inquiry form to get in contact with Optimatika. Tell us what you need and we’ll find a way to help you.

A lightweight alternative to purchasing services from Optimatika is to become a sponsor. This entitles you to direct private communications with the ojAlgo developers.