Floating points have rounding errors so algorithm to find eigenvalues may report tiny negative eigenvalues but in reality thsee could actually be 0 if we had full precision.

Any way to tell ? I have correlation matrix. Any way to pick cut off value ?


1 Answer 1


I know of two procedures to "fix" a correlation matrix which has negative eigenvalues as a result of rounding error. One is by Higham "Computing the nearest correlation matrix, a problem in finance", which is implemented in the R package nearPD. The other is by Rebonato and is published under the title "the most general method to create a valid correlation matrix".

I addition some people attempt to bypass the problem entirely by estimating the matrix using a shrinkage method that guarantees the result is positive definite. Among these is Ledoit and Wolf's "Improved Estimation of the Covariance Matrix of Stock Returns", with code available in Matlab, and related papers.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.