1. What makes a covariance matrix valid?
A covariance matrix must assign nonnegative variance to every real linear combination of its variables. In matrix notation, w-transpose times Sigma times w must be nonnegative for every vector w, not only the portfolio weights currently displayed. This is positive semidefiniteness. Symmetry and nonnegative diagonal entries are necessary but insufficient checks. A matrix can look plausible entry by entry while violating the combined requirement. NumPy's multivariate-normal documentation explicitly requires symmetric positive-semidefinite covariance. The requirement belongs to the covariance object itself, independently of whether the next calculation is portfolio variance, simulation or an optimizer that also needs an inverse.
2. Inspect the two-variable counterexample
Consider the synthetic matrix with diagonal entries one and off-diagonal entries 1.2, all in arbitrary squared-return units. Its diagonal is positive and it is symmetric, yet the implied correlation exceeds one. Its eigenvalues are 2.2 and minus 0.2. Equal weights of one-half produce positive variance 1.1, so checking only that portfolio would miss the defect. The contrast vector one, minus one instead produces variance minus 0.4, which is impossible for a real-valued random variable. The table separates these tests. These constructed values illustrate validity conditions; they are not an estimated covariance matrix or a claim about any market.
3. Singular does not mean indefinite
A matrix of all ones has eigenvalues two and zero. It is positive semidefinite but singular: the two synthetic variables contain perfectly redundant variation under that covariance description. The contrast vector has zero variance rather than negative variance. Calculating a portfolio variance can remain well-defined, while a method requiring an ordinary inverse fails or becomes nonunique. State which operation the reference method actually needs. Rejecting every singular covariance as mathematically invalid confuses these separate domains. Conversely, accepting a singular matrix does not justify silently applying an inverse-based formula or presenting one of several equivalent solutions as uniquely identified by the input.
4. Estimation and preparation can introduce the problem
Pairwise missing-data deletion can estimate different entries from different observation sets. Pandas warns that a covariance matrix constructed this way need not be positive semidefinite. Independently rounded entries, mismatched asset ordering and inconsistent units can also create misleading inputs. Record the common sample or pairwise observation counts before attempting repairs. A short complete sample can produce singularity simply because it lacks enough independent variation. That limitation is not cured by adding display precision. Check source identity, return representation, alignment and estimation convention first; otherwise a numerical adjustment may conceal a preparation error that should instead be corrected at its source.
5. A numerical repair changes the supplied model
One illustrative transformation replaces half the counterexample matrix with an identity target. The new off-diagonal entries are 0.6 and its eigenvalues are 1.6 and 0.4, so that particular result is positive definite. This is not a recommended repair intensity or evidence that the transformed covariance forecasts risk accurately. Eigenvalue clipping, diagonal loading and target shrinkage each alter the object in a different way. Preserve the original matrix, method, tuning choice and magnitude of the alteration. If an estimator or caller is supposed to provide valid inputs, rejecting an invalid matrix may be more appropriate than silently redefining it inside a reference calculation.
6. Tolerance must respect scale and purpose
Floating-point arithmetic can produce tiny apparent negatives near a semidefinite boundary. Distinguish numerical resolution from a materially negative direction using a declared, scale-aware criterion. A fixed tolerance applied identically to decimal-return covariance and percentage-point covariance changes its economic meaning. Preserve the matrix norm or other scale used by the check, numerical method and diagnostic output. Condition number addresses sensitivity and invertibility, not the same question as the sign of all variances. A matrix can be valid but dangerously ill-conditioned for a particular inverse-based task. Software acceptance and statistical reliability therefore need separate fields in any reusable calculation receipt.
7. Practical questions before using the result
Are row and column identities aligned with weights? Do all entries use the same horizon and squared-return units? Is the smallest eigenvalue materially negative, effectively zero or safely positive under the declared tolerance? Does the requested formula require an inverse, and is its solution unique? If a repair occurred, can a reviewer inspect both matrices and the exact transformation? Common failures include accepting positive diagonals as sufficient, confusing singularity with negative variance and hiding a repair behind an unchanged model version. The library's small calculations should state these boundaries without implying that numerical validity establishes investment suitability or stable out-of-sample risk estimates.
| Synthetic matrix rows | Eigenvalues | Variance at (0.5,0.5) | Variance at (1,-1) | Status |
|---|---|---|---|---|
| [1,1.2];[1.2,1] | 2.2; -0.2 | 1.1 | -0.4 | Invalid: indefinite |
| [1,1];[1,1] | 2; 0 | 1 | 0 | Valid PSD; singular |
| [1,0.6];[0.6,1] | 1.6; 0.4 | 0.8 | 0.8 | Positive definite |
Primary references
These sources support methods and conventions. The example values are original constructions, not observations extracted from these documents.
Related investigations
Allocation referencesTwo-Asset Minimum Variance Depends on the Feasible Weights
A closed-form minimum can imply shorting or leverage. Long-only and allocation bounds change the answer without changing the covariance inputs.
Statistical estimationCovariance Shrinkage Is a Choice of Target, Not Just Intensity
The same shrinkage intensity can preserve individual variances, pull them together or impose factor structure. Those choices produce different risk estimates and allocations.
Risk measurementCovariance Units and Frequency Must Travel With the Matrix
Decimal versus percentage returns and daily versus annual horizons change covariance scales. Correct matrix multiplication cannot repair mismatched units or unsupported time aggregation.
Implementation contractsMissing data and alignment: decide what was actually observable
Keep missingness, stale observations, asynchronous timestamps and covariance sample selection visible in a calculation's input history.