Skip to content

Developing a Comprehensive Unit Test Framework for PorQua

Vissarion Fisikopoulos edited this page Feb 17, 2025 · 2 revisions

Description

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.

Objectives

  1. Set Up a Robust Testing Infrastructure

    • Establish a structured testing framework using pytest.
    • Implement test automation with GitHub Actions for continuous integration.
  2. 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.
  3. Performance and Edge Case Testing

    • Ensure PorQua functions correctly with large datasets.
    • Add tests for numerical stability and edge cases.
  4. Code Quality and Documentation

    • Enforce code coverage thresholds using pytest-cov.
    • Provide clear documentation on how to run and contribute to tests.

Expected Outcomes

  • 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

Size

Small (90 hours)

Skills Required

  • Python, pytest, and unittest for testing.
  • GitHub Actions for CI/CD integration.
  • Experience with mocking and test fixtures (optional)..
  • Knowledge of portfolio optimization (optional).

Mentorship and Guidance

  • 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).

References

By completing this project, the student will greatly enhance the reliability of PorQua, making it a more stable tool for financial optimization. 🚀