# How to do robust cross covariance estimation?

I would like to estimate the cross covariance of a data set but I want the estimate to be robust (tolerant to outliers). For example, if I wanted to robustly estimate the covariance of a data set, I can use MCD and MVE (both of which have various implementations in R).

Can these ideas be extended to non symmetric matrices (which cross covariance is generally)?

And for bonus points: Do you know of any implementation in R?

edit: specifically I want to estimate the cross covariance of lag 1 so covariance of $R_t,R_{t+1}$

• What if I join the data set on its own lag and then calculate the covariance of the whole thing using all the usual tricks (robust initial estimate followed by RMT to filter the noise)? Then the result should have more or less the same symmetric sub matrix in the top left and bottom right (each representing an estimate of covariance of the un-lagged data), and the top right and bottom left would be identical (after transpose) non symmetric sub matrices representing the desired cross covariance. No? – Chechy Levas Sep 22 '16 at 10:51
• By doing so you will also dramatically increase the number of contaminated rows in your data. Recall that all the outlier detection technics you mention look for outlying observations, flagging the whole row as contaminated. To see this, suppose the slightly corny situation where every third observation is an outlier and you use a lag-2 model. Now all the rows of your augmented data matrix are contaminated by outliers! – user603 Oct 31 '16 at 13:10