Take the 2-minute tour ×
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It's 100% free, no registration required.

Instead of deriving correlation matrix on standardized returns (z scores) would it not be more accurate to kernel smooth the cdf and then norminv the cdf values for the return z score and then calculate the correlation? I would prefer to capture long term correlation than the instantaneous correlation at infinitesimal time steps.

Correlation of linear returns before and after the kernel smoothing in Matlab seems to be quite different results. I am wondering what do you think is right or is there a better way?

[u1,x1,bw]=ksdensity(Z(:,1),Z(:,1),'function','cdf');
[u2,x2,bw]=ksdensity(Z(:,2),Z(:,2),'function','cdf');
[u3,x3,bw]=ksdensity(Z(:,3),Z(:,3),'function','cdf');
[u4,x4,bw]=ksdensity(Z(:,4),Z(:,4),'function','cdf');
[u5,x5,bw]=ksdensity(Z(:,5),Z(:,5),'function','cdf');


% gaussian copula   
[corr_gaussian]=copulafit('Gaussian',[u1 u2 u3 u4 u5]);

Before kernel smoothing

1   0.126   -0.0653 -0.1374 0.5652
0.126   1   0.5937  0.6417  0.5946
-0.0653 0.5937  1   0.8845  0.4278
-0.1374 0.6417  0.8845  1   0.4306
0.5652  0.5946  0.4278  0.4306  1

After kernel smoothing

1   0.3008  0.3631  0.3654  0.3653   
0.3008  1   0.2958  0.3259  0.3077
0.3631  0.2958  1   0.5962  0.5695
0.3654  0.3259  0.5962  1   0.6295
0.3653  0.3077  0.5695  0.6295  1
share|improve this question

Your Answer

 
discard

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

Browse other questions tagged or ask your own question.