-
Notifications
You must be signed in to change notification settings - Fork 7
Interactive Web API for PorQua
PorQua is a library for portfolio optimization and index replication, but its current usage requires writing Python scripts or Jupyter notebooks. To make it more accessible, this project aims to develop a RESTful Web API that exposes PorQua’s functionalities via FastAPI or Flask, allowing users to interact with it programmatically or through a web-based interface.
Additionally, an interactive Jupyter Notebook UI using ipywidgets
can be developed to provide a user-friendly way to configure and execute portfolio optimization tasks.
-
Develop a REST API for PorQua
- Implement FastAPI or Flask to expose PorQua’s optimization functionalities.
- Create endpoints for:
- Uploading financial data (CSV or JSON).
- Running portfolio optimization routines.
- Retrieving optimized portfolio allocations and risk metrics.
-
Create an Interactive Web UI
- Develop a Jupyter Notebook interface using
ipywidgets
for interactive user input. - Provide real-time visualization of optimization results using
Plotly
orMatplotlib
.
- Develop a Jupyter Notebook interface using
-
Enable Deployment and Scalability (optional)
- Use Docker to containerize the API for easy deployment.
- Explore cloud hosting options (e.g., AWS, Heroku, or DigitalOcean).
-
Documentation and User Guide
- Provide clear API documentation using e.g. Swagger.
- Write tutorials for using the API with Jupyter Notebooks.
- A fully functional REST API to interact with PorQua’s optimization features.
- An interactive Jupyter Notebook UI for configuring and running portfolio optimization.
- Deployment-ready API with Docker for easy usage. (optional)
- Comprehensive documentation and tutorials for both API and UI usage.
Difficulty: Medium
Medium (175 hours)
- Python (FastAPI/Flask, Jupyter, ipywidgets)
- REST API design and deployment (optional, Docker, cloud services)
- Frontend basics (optional, for UI enhancements)
- Data visualization (Plotly, Matplotlib)
-
Bachelard Cyril <cyril.bachelard at quantarea.ch> He serves as the Head of Quant Engineering and is a founding partner at Quantarea, a quantitative Asset Manager in Switzerland. He has 12+ years of experience in quantitative portfolio management and systematic equity research. His areas of expertise include high-dimensional portfolio optimization, machine learning, and signal processing for dynamic asset allocation. Mentoring experience with GeomScale since 2024.
-
Apostolos Chalkis <tolis.chal at gmail.com> is a Research Engineer at Quantagonia GmbH. He is an expert in statistical software, computational geometry, and optimization, and has previous GSoC student experience (2018 & 2019) and mentoring experience with GeomScale (from 2020 to 2024).
- PorQua GitHub Repository
- FastAPI Documentation
- Jupyter Widgets (ipywidgets)
- Docker for Python Applications
This project will significantly improve the usability of PorQua, making portfolio optimization accessible through a web API and interactive UI. 🚀