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.

I have question regarding final loading of data back to original variables.

So for example:

I have 10 variable from a,b,c....j using returns for last 300 days i got return matrix of 300 X 10. Further I have normalized returns and calculated covariance matrix of 10 X 10. Now I have calculated eigen values and eigen vectors, So I have vector of 10 X 1 and 10 X 10 corresponding eigen values. Screeplot says that 5 component explain 80% of variation so now there are 5 eigenvectors and corresponding eigenvalues.

Now further how to load them back to original variable and how can i conclude which of the variable from a,b,c.....j explain the maximum variation at time "t"

share|improve this question
    
I had the same problem earlier. cs.otago.ac.nz/cosc453/student_tutorials/… was something others directed to my attention and it helped quite a bit. –  user1234440 Nov 23 '12 at 16:07
add comment

2 Answers

up vote 3 down vote accepted

To make things really clear, you have an original matrix $X$ of size $300 \times 10$ with all your returns.

Now what you do is that you choose the first $k=5$ eigenvectors (i.e. enough to get 80% of the variation given your data) and you form a vector $U$ of size $10 \times 5$. Each of the columns of $U$ represents a portfolio of the original dataset, and all of them are orthogonal.

PCA is a dimensionality-reduction method: you could use it to store your data in a matrix $Z$ of size $300 \times 5$ by doing:

$$Z = X U$$

You can then recover an approximation of $X$ which we can call $\hat{X}$ as follows:

$$ \hat{X} = Z U^\intercal $$

Note that as your 5 eigenvectors only represent 80% of the variation of X, you will not have $X=\hat{X}$.

In practice for finance application, I don't see why you would want to perform these reduction operations.

In terms of factor analysis, you could sum the absolute value for each row of $U$; the vector with the highest score would be a good candidate I think.

share|improve this answer
1  
When not relying on Bayesian techniques, I can see the advantage of PCA for dimension reduction. Consider high-dimension estimation of the covariance matrix where the number of observations is smaller than the number of securities. This typically leads to problems. Alternately, VAR or Garch estimation on a small number of factors is usually faster with fewer parameters than estimating them on every security in the universe. –  John Nov 27 '12 at 15:00
    
@SRKX "In terms of factor analysis, you could sum the absolute value for each row of U; the vector with the highest score would be a good candidate I think." Candidate to do what? How would you use it to reach a trading decision? –  ManInMoon Apr 26 '13 at 7:37
    
@ManInMoon the variable which adds the most variance to the sample. –  SRKX Apr 29 '13 at 12:55
add comment

If you are asking which of the 10 variables is contributing most to the principle component, then look at your first eigenvector; each value reflects a single variable, so the largest value (by magnitude) in that eigenvector should give the variable with the largest contribution. Note that a large negative number means anticorrelation.

The matrix you have is in fact mapping from the 10d space of your variables onto the eigenspace of the matrix; the first eigenvector represents one of the basis vectors of this new eigenspace, in the space of your 10d vectors.

The analogy is that if you had 2 variables, x and y, then you could construct a similar 2d matrix, and calculate its eigenvectors. The eigenvectors would show you the axes of the new space, and the first eigenvector is its principle component (axis).

Caveat: I know a lot more about eigenvectors than I do about PCA, so there may be a subtlety I'm missing.

share|improve this answer
add comment

Your Answer

 
discard

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.