Inspiration

This project leverages my interest in quantum computing and computational finance. I was curious whether quantum algorithms could offer an alternative to classical portfolio optimization techniques, especially for problems like the Minimum Variance Portfolio, where the linear algebra structure maps naturally to quantum linear solvers.

What it does

The project compares classical and quantum approaches to solving the minimum variance portfolio problem:

  • The classical side uses Markowitz-style optimization via scipy.optimize.

  • The quantum side uses a Variational Quantum Linear Solver (VQLS) built with Pennylane, leveraging a custom cost function and a warm-start ansatz.

  • The result is a head-to-head comparison of weights, expected return, volatility, and Sharpe ratio

How I built it

  • Classical module: Fetches stock data from yfinance, computes covariance matrix, and solves the optimization using SLSQP.

  • Quantum module: Constructs a padded matrix system, Ax = b, initializes a parameterized quantum circuit (ansatz), and trains via gradient descent (Adam) to approximate A^{-1} b

  • Web API: Built a Flask endpoint (/compare) to return results in JSON format for frontend visualization.

  • Used warm-start initialization and custom penalties to ensure convergence to interpretable quantum states.

Challenges I ran into

  • Designing a cost function that stabilizes optimization while aligning with the classical target.

  • Ensuring numerical stability in quantum circuits (e.g., normalization, padding).

  • Handling dimensional mismatch between classical weight vectors and quantum state vectors (especially due to power-of-2 requirements).

  • Debugging gradient descent behavior in variational circuits, especially with initial states.

Accomplishments that I'm proud of

  • Implemented a fully working quantum portfolio optimizer using Pennylane.

  • Matched quantum results closely to classical benchmarks in terms of both weights and metrics.

  • Built a modular pipeline that is easy to reproduce and extend.

  • Demonstrated that quantum methods can approximate classical financial optimizations even with few qubits.

What I learned

  • How to design and train variational quantum circuits using real-world financial data.

  • Importance of ansatz design and initialization in convergence. (Thanks Mihir for this idea)

  • How resource scaling (qubit count, matrix size) affects performance and accuracy.

  • The practical trade-offs between classical speed and quantum generalization.

What's next for Quantum vs Classical Portfolio Optimization

  • Extend to larger portfolios (5–10 assets) using 3–4 qubits and assess quantum circuit depth.

  • Test with real quantum hardware to evaluate noise sensitivity and fidelity.

  • Explore hybrid strategies where quantum circuits solve subproblems within a broader classical loop.

  • Add a visual dashboard to view efficient frontiers, quantum vs classical states, and real-time simulations.

Built With

Share this project:

Updates