协方差矩阵不是正定的

Covariance matrix not positive definite

我正在尝试使用 quadprog 库解决投资组合优化问题,但是 solve.QP 函数 returns 这个:

matrix D in quadratic function is not positive definite!

但是,我将 Dmat 定义为:

Dmat <- cov(diff(as.matrix(na.locf(prices))))

如何将 Dmat 转为正定矩阵?

感谢帮助。我从 corpcor 库中发现了 cov.shrink 函数,现在我将 Dmat 定义为:

cov.shrink(diff(as.matrix(na.locf(precos_mes))))

作为正定矩阵可以完美工作。