-
Notifications
You must be signed in to change notification settings - Fork 2
Developing a Comprehensive Unit Test Framework for PorQua
PorQua is an evolving library for portfolio optimization and index replication, requiring a robust testing framework to ensure correctness, stability, and reliability. Currently, its test coverage is limited, making it challenging to detect regressions and maintain code quality.
This project aims to develop a comprehensive unit test framework for PorQua, ensuring all core functionalities are rigorously tested. The framework will use pytest
and include test cases for optimization routines, data handling, and portfolio analysis functions.
-
Set Up a Robust Testing Infrastructure
- Establish a structured testing framework using
pytest
. - Implement test automation with GitHub Actions for continuous integration.
- Establish a structured testing framework using
-
Increase Test Coverage
- Develop unit tests for all core modules, including:
- Optimization algorithms.
- Data handling functions.
- Backtesting and modeling functions.
- Use mocking and fixtures for reliable test execution. Read this blog for a smooth introduction.
- Develop unit tests for all core modules, including:
-
Performance and Edge Case Testing
- Ensure PorQua functions correctly with large datasets.
- Add tests for numerical stability and edge cases.
-
Code Quality and Documentation
- Enforce code coverage thresholds using
pytest-cov
. - Provide clear documentation on how to run and contribute to tests.
- Enforce code coverage thresholds using
- A well-structured and automated unit test framework for PorQua.
- Increased test coverage across all core functionalities.
- Continuous Integration (CI) setup to automatically run tests on every commit.
- Better code reliability and maintainability, making future development smoother.
Difficulty: Easy
Small (90 hours)
- Python, pytest, and unittest for testing.
- GitHub Actions for CI/CD integration.
- Experience with mocking and test fixtures (optional)..
- Knowledge of portfolio optimization (optional).
-
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).
By completing this project, the student will greatly enhance the reliability of PorQua, making it a more stable tool for financial optimization. 🚀