I am looking into a quite simple task: shrinking the sample covariance matrix of a minor sample of monthly returns data on 5 different assets.
I am using Python to process my data and have been using two different libraries (sklearn and PyPortfolioOpt - both using the Ledoit & Wolf method), which both yield the same problem: My diagonal values (variances) on my assets are way off from the sample variances.
According to the practical paper "An Introduction to Shrinkage Estimation of the Covariance Matrix: A Pedagogic Illustration" (Kwan, 2011), my variances are not supposed to change at all during shrinkage - only the covariances.
Can you guys confirm that only my covariances are supposed shrink and not my variances? If so, can any of you guys explain why I am getting skewed variances when using the Python libraries?
Thanks in advance!