jankrepl / deepdow

Portfolio optimization with deep learning.
https://deepdow.readthedocs.io
Apache License 2.0
874 stars 136 forks source link
allocation convex-optimization deep-learning finance machine-learning markowitz portfolio-optimization pytorch stock-price-prediction timeseries trading wealth-management

final

codecov Documentation Status PyPI version DOI

deepdow (read as "wow") is a Python package connecting portfolio optimization and deep learning. Its goal is to facilitate research of networks that perform weight allocation in one forward pass.

Installation

pip install deepdow

Resources

Description

deepdow attempts to merge two very common steps in portfolio optimization

  1. Forecasting of future evolution of the market (LSTM, GARCH,...)
  2. Optimization problem design and solution (convex optimization, ...)

It does so by constructing a pipeline of layers. The last layer performs the allocation and all the previous ones serve as feature extractors. The overall network is fully differentiable and one can optimize its parameters by gradient descent algorithms.

deepdow is not ...

Some features

Citing

If you use deepdow (including ideas proposed in the documentation, examples and tests) in your research please make sure to cite it. To obtain all the necessary citing information, click on the DOI badge at the beginning of this README and you will be automatically redirected to an external website. Note that we are currently using Zenodo.