Methodology · Calculator · Last updated 2026-04-20
How Correlation Matrix Visualizer works
How the Correlation Matrix Visualizer tool actually works — assumptions, algorithms, limitations.
Scope
Computes pairwise Pearson correlations across a wide-format returns CSV, renders them as a heatmap, and reports portfolio-diagnostic statistics that summarize how redundant the strategies are to each other.
Input format
date,strategy_1,strategy_2,strategy_3,strategy_4
2024-01-02,0.0012,0.0008,-0.0003,0.0015
2024-01-03,-0.0005,-0.0002,0.0004,-0.0006
...
The date column (or timestamp / time) is optional and
ignored for correlation computation. All remaining numeric columns are
treated as return series and assumed aligned row-by-row.
Algorithms
Pearson correlation
ρ(x, y) = Σ_i (x_i − x̄)(y_i − ȳ) / ((n − 1) · σ_x · σ_y) Sample standard deviation (divide by n − 1). Columns with zero variance produce ρ = 0 to avoid division by zero.
Eigenvalue decomposition
The correlation matrix R is real-symmetric. Eigenvalues are
computed with the classical Jacobi rotation method: iterate through all
off-diagonal entries, annihilating the largest with a planar rotation,
until the sum of squared off-diagonals drops below 10⁻¹⁰. For the
matrix sizes this tool targets (typically 2–20 strategies), Jacobi is
accurate and simple.
Diagnostics
- Average absolute off-diagonal correlation: mean of
|ρ_ij|fori < j. A single scalar summary of redundancy. - Condition number:
κ(R) = λ_max / λ_min. Large κ indicates a near-singular matrix; mean-variance optimization becomes unstable. κ > 100 is ill-conditioned; κ > 1000 is effectively singular. - Explained by first PC:
λ_max / m. Becausetrace(R) = m, this is the share of total variance captured by the first principal component. Values above 0.6 indicate the portfolio is essentially one bet. - Effective number of axes (participation ratio):
N_eff = (Σ λ_i)² / Σ λ_i². A smooth analogue to "how many independent strategies do you actually have." For the identity matrixN_eff = m; for a rank-1 matrixN_eff = 1.
Assumptions + limitations
- Aligned rows. Column
iand columnjare assumed to refer to the same time point in each row. Misaligned data produces spurious low correlations. - Simple returns, not log returns. Pearson correlation is identical under linear rescaling, so mixing return conventions across columns changes scale but not the correlation structure. Still, prefer consistency.
- IID observations. Standard Pearson assumes independent rows. Autocorrelated returns (common in slow-moving or overlapping strategies) inflate the effective sample size. For dense clusters of autocorrelated series, treat the reported correlations as upper-bound confidence.
- Sample size. A minimum of 30 rows is enforced. Stable estimates typically require 200+ observations; 500+ for m > 10 columns.
- Heatmap legibility. The rendering comfortably handles up to ~20 columns. For larger universes, pre-cluster before uploading.
- Tail behaviour. Pearson captures linear co-movement only. Under regime changes (crashes), non-linear tail dependence can spike even when Pearson ρ looks moderate. Combine with a tail-dependence estimator for stress-regime analysis.
Privacy
All parsing and computation run in the browser. The CSV is never uploaded. No cookies, no tracking. Reload the page and the data is gone.
References
- Pearson, K. (1895). "Notes on Regression and Inheritance in the Case of Two Parents." Proceedings of the Royal Society.
- Press, W. H. et al. (2007). Numerical Recipes, 3rd ed., §11.1 (Jacobi rotations).
- Laloux, L., Cizeau, P., Potters, M., & Bouchaud, J.-P. (2000). "Random Matrix Theory and Financial Correlations." International Journal of Theoretical and Applied Finance 3(3).
- Meucci, A. (2009). "Managing Diversification." Risk 22(5).
Connects to
- Risk-Adjusted Returns Calculator — per-strategy metrics complement the cross-strategy picture.
- Backtest Overfitting Score — if the correlation matrix is near-singular, your "20 strategies" are probably one overfitted signal.
- Fractional Kelly Sizer — correlation determines whether per-strategy Kelly sizes compose into a sane portfolio.
Changelog
- 2026-04-20 — Initial release with Pearson correlation, Jacobi eigenvalues, participation ratio, and condition number.