This project explores the application of quantum computing to portfolio optimization using tools from Qiskit. Specifically, it investigates how classical financial models, based on expected returns and covariance, can be transformed into quantum optimization problems and solved using quantum algorithms such as the Quantum Approximate Optimization Algorithm (QAOA). In addition to QAOA, the project includes an exploratory section on Decoded Quantum Interferometry (DQI), demonstrating an interference based approach to optimization and comparing it against classical and variational quantum methods.
-
Synthetic Financial Data Generation
- Simulates asset returns using a multivariate normal model
- Allows control over number of assets and time horizon
-
Portfolio Optimization Model
- Constructs a mean variance portfolio optimization problem
- Includes a budget constraint and risk and return tradeoff
-
QUBO and Ising Mapping
- Converts the portfolio problem into a Quadratic Unconstrained Binary Optimization (QUBO) form
- Maps QUBO to an Ising Hamiltonian for quantum computation
-
Quantum Circuit Analysis
- Builds and visualizes the QAOA ansatz
- Analyzes circuit depth, gate counts, and Pauli operator structure
-
QAOA Optimization
- Solves the portfolio problem using QAOA
- Compares results with an exact classical solver
-
DQI Interference Method
- Implements a simplified interference based optimization approach
- Evaluates full probability distributions over candidate portfolios
- Compares results against brute force enumeration
-
Brute Force Benchmark
- Computes all possible portfolio configurations for small cases
- Provides a ground truth baseline for comparison
To experiment with different portfolio sizes, modify:
magic_magic = magic_array[index]where the index can be 0, 1, or 2.