https://medium.com/@steven.downey_25926/how-to-build-a-multi-factor-equity-portfolio-in-python-4560fab3df7b