Fortitudo Technologies Open Source
This package allows you to freely explore open-source implementations of some of our fundamental technologies under the GNU General Public License, Version 3.
Fortitudo Technologies is a fintech company offering novel software solutions as well as quantitative and digitalization consultancy to the investment management industry. For more information, please visit our website.
Installation Instructions
Installation can be done via pip:
pip install fortitudo.tech
For best performance, we recommend that you install the package into a conda environment and let conda handle the installation of dependencies before installing the package using pip. You can do this by following these steps:
conda create -n fortitudo.tech python=3.9 scipy -y conda activate fortitudo.tech conda install -c conda-forge cvxopt=1.2.6 -y pip install fortitudo.tech
Contributing
You are very welcome to contribute to this package by forking the github repository and creating pull requests. Pull requests should always be sent to the dev branch. We especially appreciate contributions in relation to packaging, e.g., making the package available on conda-forge or improving pip dependencies.
Using the conda environment specified in the requirements.yml file and located in the root directory is the easiest way to start contributing to the code.
The style guide mostly follows PEP 8, but it uses some important modifications that can be found in .vscode/settings.json. If you use Visual Studio Code, you can use these settings to make sure that your code follows the basic rules of the style guide. The most important modifications/additions are:
- We allow line length to be 99 characters for both code and docstrings,
- We allow the use of capital I as a variable,
- We use type hints introduced in PEP 484.
We generally follow naming conventions with descriptive variable and function names, but we often use short variable names for the very mathematical parts of the code to replicate the variables used in the references. We believe this makes it easier to link the code to the theory.
We encourage you to keep individual contributions small in addition to avoid imposing object-oriented design patterns. We are unlikely to accept contributions that use inheritance without exceptionally good reasons and encourage you to use composition instead.
Code of Conduct
We welcome feedback and bug reports, but we have very limited resources for support and feature requests.
If you experience bugs with some of the upstream packages, please report these directly to the maintainers of these packages.
Disclaimer
This package is completely separate from our proprietary solutions and therefore not representative of the functionality offered therein.