Welcome to the InvestOS portfolio engineering and backtesting framework!
InvestOS is an opinionated framework for constructing and backtesting portfolios in a consistent, albeit flexible way. We built it to make institutional-grade backtesting and portfolio optimization simple, extensible, and open-source.
| Docs | |
| Package | |
| Meta |
To run InvestOS you'll need:
- Python +3.8
- You can download it here
- If you're working on MacOS, you may wish to install it via Homebrew
- pip
- For installing InvestOS (and any other Python packages)
- pip installation instructions here
Although not required, running InvestOS might be easier if you have:
- Poetry, a package and dependency manager
- Familiarity with pandas
- The popular Python data analysis package (originally) released by AQR Capital Management
If you're using pip:
$ pip install investosIf you're using poetry:
$ poetry add investosAt the top of your python file or .ipynb, add:
import investos as invCongratulations on setting up InvestOS!
Let's move on to our next guide: How InvestOS Works
InvestOS is an open-source project and we welcome contributions from the community.
If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.
A special thank you to:
- The authors of the Multi-Period Trading via Convex Optimization paper: Stephen Boyd, Enzo Busseti, Ronald Kahn, et al. It formed much of the basis of my knowledge on convex optimization.
- The team behind CVXPY
- The team behind OSQP
