
In simple English
This library helps you decide how to divide your money among different stocks or assets. It uses mathematical formulas to lower your investment risk and find the best mix for your goals. You can pick from over fifty risk measures and various optimisation methods to test your ideas. It is written for the Julia programming language, so you need to know some coding to use it. The project is free to use under an MIT licence.
What it is
PortfolioOptimisers.jl is an open-source portfolio optimisation library for the Julia language. It provides immutable estimators for priors, risk measures, and constraints that you combine to solve asset allocation problems.
What it is good for
Solo builders and quantitative researchers who write in Julia and need a toolbox for portfolio management, risk budgeting, and asset allocation.
- Includes over fifty risk measures such as CVaR, drawdown, and variance.
- Supports advanced allocation strategies like hierarchical risk parity and Black-Litterman.
- Backed by JuMP for flexible convex and non-convex optimisation.
- Requires writing code in Julia to set up and run models.
- Does not include mathematical solvers by default, so you must install them separately.
- Documentation assumes familiarity with portfolio theory and quantitative finance.
Writing custom portfolio optimisation scripts from scratch in Python or R.
Clarabel.jl or HiGHS.jl for solving the mathematical programs.
- jesse-ai/jesse8.7k stars
A Python framework for writing crypto trading strategies, testing them against past prices, and running them live.
- hummingbot/hummingbot20k stars
A free framework for writing and running automated trading programs on cryptocurrency exchanges.
- lballabio/QuantLib7.7k stars
The long-established free library for pricing and risk-managing financial instruments.
julia using Pkg Pkg.add(PackageSpec(; name = "PortfolioOptimisers"))