Can anyone give me a few pointers of how to approach using PCA for trading? In particular, it seems to me, PCA is useful for selecting a subset of a portfolio of stocks(or other) rather than trading every stock. BUT I wonder if it can also add value when trading a single stock? Can PCA be somehow applied to other inputs that might effect the stock price - perhaps technical indicators?

  • 5
    $\begingroup$ Sounds like a hammer looking for a nail. $\endgroup$ Commented Apr 29, 2013 at 12:00
  • $\begingroup$ Let you have a multifactorial model which takes as inputs about 10 ~ 20 exogenous weakly stationary variables. Then you can use PCA to get just 3 ~ 4 orthogonal variables in order to simplify your model without losing too much information (it maybe first 3 ~ 4 principal components explain more than 90% of the 10 ~ 20 original variables' total variance). For instance, technical traders often use lot of t.a. indicators, such as MACD, RSI, stochastic and so on: it's likely the first principal component of these indicators explain more than 95% of all indicators' variance. $\endgroup$
    – Lisa Ann
    Commented May 2, 2013 at 9:54

2 Answers 2


To answer your questions we have to take a look to what it does.

PCA is mathematically defined as an orthogonal linear transformation that transforms the data to a new coordinate system, such that news vectors are orthogonals and explain the main part of the variance of the first set.

It took an N x M matrice as input, N represents the differents repetition of the experiment and M the results of a particular probe. It will give you directions (or principal components) which explain the variance of your dataset.

So it all depends on what you input to your PCA. I use PCA to look at market correlation, so I input M prices over N times. You can input differents measure (greeks, futures ...) of a single stocks to take a look at its dynamics. My use will give the correlation of a stock price with the market, known as beta, the other use will give correlation between different technical indicators of a stock. And well I guess you can get some interesting results with differents indicators over differents stocks...

Don't forget about pre-processing. As you can see here: Data Synchronization there is some tricky problems with market datas.

It also depends on what you do with your results. You can use some criterion to remove components with little variance to reduce the dimension of your dataset. This is the usual "goal" of PCA. It give you a reduced number of stock to build a portfolio, to estimate profit/risk curves... But you can also do more complex post treatment. Here: http://th-www.if.uj.edu.pl/acta/vol36/pdf/v36p2767.pdf you can see an use of PCA combined with random matrix theory to remove the noise of the market.

PCA is a tool, a very powerfull tool, but just a tool. Your results will depends on how you use it. The risk is to use it too much. You know what they said, if you have a hammer every problem looks like a nail.


As I explained in this post, PCA is a dimension reduction method.

There is no way to use it to determine intrinsic values of a stock, and hence it is not used directly for trading...


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.