Take the 2-minute tour ×

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

2 Answers 2

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
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

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

Your Answer


