Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am seeing an issue when callibrating an MP distribution. Assume a log return series for the SP500 with the following dimensions


==> [1] 1133 478

sp500.cor <- cor.empirical(xts.sp500.ret.stocksonly)
sp500.eigens <- eigen(sp500.cor)$values
sp500.eigen.density <-  density(sp500.eigens,n=5000)
plot(sp500.eigen.density,xlim=c(0,4),main="sp500 returns eigenvalue density")

I assume my 'Q' value is 1133/478 =

eigenvalues sp500

Problem: Even though the 'shape' and cutoffs seem OK -- the density value (y axis) seem vastly OFF. Peak of 1.5 for the real series - 5 or so for the theoretical, (note I am truncating the plot so the market eigenvalues are not shown, they are huge around 200).

Question: 1) Is this expected? 2) How does this affect callibration? Should I trust the results and simply look at the cutoffs? 3) Also when 'cleansing' the matrix I see most code (e.g. filter.RMT in tawny) simply replaces values below Lambda+ with the average, what about Lambda- though?

thanks much!

share|improve this question
up vote 2 down vote accepted
  1. The plot function is smoothing the plot. You should show the distribution of eigenvalues via a bar chart. Because a bar chart is discrete you can better discern the separation of the top-most eigenvaules. The top-most eigenvalue (representing the market factor) should be substantially greater than bulk of the eigenvalue distribution.

  2. I assume by "calibration" you mean "eigenvalue cleansing". The approach would be to apply the RMT cleansing procedure on eigenvalues beneath the upper noise-band (lambda+)

  3. The procedure of replacing eigenvalues below Lambda+ with the average will by definition also replace values below Lambda- as well. Replacing the eigenvalues by the average is one of many possible cleansing procedures.

share|improve this answer
Clarification to the question: By callibration I mean how to fit the correct MP distribution to the eigenvalues density I get. Notice in the top plot the max "y" value I get is ~1.5, while for the MP distribution from theory the values are much higher. How do I know i've made a good fit of the MP parameters? thanks. – nxstock-trader Jan 21 '12 at 23:29
The empirical distribution of eigenvalues does not match the MP distribution because the former contains non-random factors. The theory shows what the eigenvalue distribution is for a random symmetric matrix for some choice of Q and Sigma. You can calculate Q and Sigma directly using the asymptotic definition of Q (which you have in your post), and sigma is simply the sigma of the elements of the de-meaned symmetric covariance matrix. So there is no need to "fit" the empirical distribution. – Ram Ahluwalia Jan 22 '12 at 1:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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