CorrFlow: Exact and Permutation-Equivariant Flow Matching on the Correlation Elliptope
Organizations: Abu Dhabi Investment Authority (ADIA), Abu Dhabi, United Arab Emirates
Abstract
Correlation matrices combine nonlinear positive-definiteness constraints with a simultaneous row-column permutation symmetry. Their generation therefore involves two distinct problems. First, every output must remain on the correlation elliptope, irrespective of how its variables are ordered. Second, the generator must learn the domain-specific distribution occupied by empirical data inside that valid space. Existing financial image generators mix these problems: they learn ordered matrix entries and repair invalid draws afterward. We introduce CorrFlow, which separates them. A generalized Fisher transform maps full-rank correlation matrices bijectively to unconstrained coordinates, guaranteeing valid outputs without projection. A graph flow-matching network learns the empirical distribution in those coordinates and is permutation equivariant: reordering the variables only reorders the output. We compare a conditional CorrGAN reimplementation, image diffusion, and CorrFlow on Taiwan equity matrices using five seeds per neural method. CorrFlow produces 100% valid draws without repair and obtains feature sliced-Wasserstein distance , versus for CorrGAN and for image diffusion after their invalid outputs are projected back to the correlation space. It also improves this distance over historical lookup, while lookup retains higher local coverage. These results support the combined construction under the evaluated training budget; they do not establish superiority over fully tuned image models or isolate the contribution of each component.
Figures & tables
| Model | Valid before repair | F-SWD | Energy | Precision | Recall | Classifier AUC |
|---|---|---|---|---|---|---|
| Real-data references | ||||||
| Real–real | – | .061 (.009) | .010 (.003) | .890 (.012) | .896 (.014) | .499 (.021) |
| Train–test temporal shift | – | – | – | – | – | .950 (.005) |
| Historical lookup (not generative) | ||||||
| Historical replay | 1.000 (.000) | .886 (.010) | 2.715 (.072) | .457 (.011) | .589 (.036) | .951 (.003) |
| Matched replay | 1.000 (.000) | .899 (.011) | 2.820 (.057) | .424 (.006) | .576 (.024) | .950 (.003) |
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Group | Count | Definition | Interpretation |
|---|---|---|---|
| Correlation moments | 2 | Mean and standard deviation of | Overall correlation level and cross-sectional dispersion. |
| Correlation quantiles | 7 | Quantiles of | Shape and tails of the pairwise-correlation distribution. |
| Eigenvalue quantiles | 6 | Quantiles of | Shape of the bulk spectrum, including its smallest eigenvalue. |
| Leading eigenvalue mass | 2 | and | Variance concentrated in the largest common mode and in the five largest components. |
| Effective ranks | 2 | and | Effective number of independent spectral dimensions; smaller values mean greater concentration. |
| Log determinant | 1 | Spectral volume, with strong sensitivity to small eigenvalues. |
| Dataset | Model | F-SWD | Energy | Precision | Recall |
|---|---|---|---|---|---|
| S&P | Dense GFT flow | .308 | .430 | .657 | .597 |
| S&P | Dense normalized-Cholesky flow | .335 | .642 | .167 | .157 |
| S&P | CorrFlow | .294 | .393 | .575 | .420 |
| Taiwan pilot | Dense GFT flow | 1.073 | 4.465 | .347 | .217 |
| Taiwan pilot | CorrFlow | .951 | 3.283 | .497 | .603 |
| Objective | F-SWD | Energy | Precision | Recall |
|---|---|---|---|---|
| Rectified flow | .904 | 2.929 | .335 | .541 |
| GFT diffusion, noise prediction | 4.049 | 38.389 | .000 | .000 |
| GFT diffusion, velocity prediction | 1.151 | 5.070 | .159 | .429 |
| Method | F-SWD | Precision | Recall | Portfolio SWD | C2ST AUC |
|---|---|---|---|---|---|
| CorrFlow | 0.524 | 0.320 | 0.999 | ||
| DiffeoCFM | 0.304 | 0.355 | 0.997 | ||
| Transformed Gaussian | 0.301 | 0.504 | 0.995 | ||
| Training replay | 0.450 | 0.590 | 0.955 | ||
| cCorrGAN reconstruction | 0.000 | 0.401 | 1.000 |
| Model | F-SWD | Energy | Precision | Recall |
|---|---|---|---|---|
| Historical replay | 1.013 | 2.922 | .550 | .144 |
| PCA-64 Gaussian | 1.725 | 9.020 | .006 | .000 |
| CorrFlow | 1.374 (.114) | 5.480 (.860) | .036 | .017 |
| GFT diffusion, velocity | 1.641 (.116) | 7.525 (.775) | .023 | .008 |
| Assets | Training step (s) | Peak training (GiB) | ODE (s/matrix) | Inverse GFT (s/matrix) |
|---|---|---|---|---|
| 80 | .006 | .097 | .042 | .009 |
| 160 | .009 | .192 | .144 | .008 |
| 200 | .014 | .260 | .238 | .012 |
| 500 | .101 | 1.282 | 1.867 | .028 |
| 1,000 | .389 | 4.933 | 7.553 | .082 |