Home / Factor research
DeepDow
Deep learning portfolio optimization in Python
What it is
A Python package that connects portfolio optimization with deep learning by merging market forecasting and allocation into a single, fully differentiable network that outputs weights in one forward pass. Built on PyTorch, it offers differentiable convex optimization via cvxpylayers, clustering-based allocation algorithms, multiple dataloaders, and losses such as Sharpe ratio and maximum drawdown, with CPU and GPU support. Researchers experimenting with neural networks for buy-and-hold weight allocation are the primary audience. It is a research framework rather than a trading product, focused on allocations held over a horizon rather than active trading, so short-term transaction costs are not a primary concern.
At a glance
Research onlyOur rating, based on popularity, maintenance and how ready it is for real use.
| Best for | Professional quants |
|---|---|
| Used for | Strategy research, Data analysis |
| Markets | Multi-market |
| Stack | Python |
| Learning curve | Moderate learning curve |
| Practical value | Medium practical value |
| Cost | Free and open source |
| Hardware | GPU optional |
| Maintenance | No commits in over six months |
GitHub stars, last 30 days
Daily snapshots since 2026-09-12 (up to 30 days): +8 over the period, now 1,190. Gaps mean no snapshot was taken that day.
Portfolio optimization with deep learning.
Similar tools
Jupyter notebooks companion to Machine Learning for Trading
Goldman Sachs Python toolkit for derivatives and risk
scikit-learn compatible Python library for portfolio optimization
CVXPY-based portfolio optimization and strategic asset allocation
Python financial econometrics with ARCH, GARCH and volatility models
C++ financial research terminal with embedded Python analytics