* feat(Reporting): added vectorbt-based backtest
* fix(Reporting): added transaction costs
* feat(Reporting): added ability to rebalance only every n days
* feat(Dependencies): added pytorch
* fix(Dependencies): added pytorch-lightning
* feat(CI): added portfolio reporting step
* feat(Reporting): save weights as well
* fix(Reporting): start with less cash
* feat(DataLoader): added load_only_returns() method
* feat(Portfolio): load predictions
* feat(Portfolio): normalize weights
* feat(Portfolio): started integrating with portfoliobt
* feat(Portfolio): include fees in the portfolio construction
* feat(Portfolio): demo of pyportfolioopt
* feat(Portfolio): get efficient frontier calculation to work
* feat(Portfolio): add a few strategies to create weights
* chore(Dependencies): remove pyportfolioopt for now
* fix(Dependencies): try to install all dependencies with pip
* fix(Dependencies): indentation
* fix(Dependencies): corrected pytorch module name
* fix(Dependencies): try to have as many modules installed by conda for the sake of sanity?
* fix(Dependencies): put fracdiff into pip modules
* fix(Dependencies): revert to using pip almost exclusively
* feat(Portfolio): added alphalens
* fix(Portfolio): got limited weights working
* feat(Portfolio): trying to get alphalens to work
* feat(Portfolio): alphalens working
* fix(Dependencies): removed vectorbt
* fix(Dependencies): use alphalens-reloaded
* fix(Dependencies): added conda source for alphalens-reloaded
* refactor(Portfolio): removed traces of vectorbt
* feat(Reporting): factor reporting done
* feat(Portfolio): added pyfolio reporting (fails bc alphalens is not working properly lol)