This is a project on developing a fast and reliable end-to-end tool to test investment ideas. It is written on top of yfinance but supports custom data as well as custom factors. The main idea of the project is to apply object oriented programming paradigm to the problem of asset allocation, risk aggregation and evaluation using suitable metrics. Pull-requests and suggestions more than welcome. Easily reproducible examples can be found in the examples folder with a step by step guide on how to construct a Portfolio object and utilize its methods.
The project and the notebooks have been developed on python >= 3.6.0 The dependencies are listed in requirements.txt.