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"


2 Answers 2


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.

  • 1
    $\begingroup$ 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. $\endgroup$
    – John
    Commented Nov 27, 2012 at 15:00
  • $\begingroup$ @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? $\endgroup$
    – ManInMoon
    Commented Apr 26, 2013 at 7:37
  • $\begingroup$ @ManInMoon the variable which adds the most variance to the sample. $\endgroup$
    – SRKX
    Commented Apr 29, 2013 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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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