Cross-correlation of returns matrix
2 views (last 30 days)
Show older comments
Assume a returns table A(200 rows returns,30 cols stock names), trying to create a cross correlation matrix between each of the pairs of stocks.
Am I right trying to use xcorr function? Trying to do that in a for loop and also tried to xcorr with matrix name.
xcorr would take timeseries of A(,1) and create all cross correlations with rest of columns (in pairs), or am I wrong? I would expect the result would be D=cols+(cols-1)+..(cols-N), one cross-correlation for each unique pair. But thats not what I get from the below. Is my understanding wrong or my usage of function?
[r,lags]=xcorr(A)
or
for i=1:30
for j=1:30
D=xcorr(A(:,i),A(:,j))
end
end
0 Comments
Answers (1)
Rik
on 21 Jan 2021
I'm not sure the rest of your code is doing what you want, but at the very least you need to index D so you don't overwrite it every iteration.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!