I built risk models using cluster analysis in a previous life. Years ago I learned about principal component analysis and I've often wondered whether that would have been more appropriate. What are the pros and cons of using PCA as opposed to clustering to derive risk factors?

If it makes a difference, I'm using the risk models for portfolio optimization, not performance attribution.


2 Answers 2


I've played around with both schemes, but not for portfolio optimization.

I used PCA on some interest rate models. That turned into a Partial Least Squares scheme, then into some non-linear thing. I wasn't impressed with the results.

My Cluster Analysis scheme morphed into a classification scheme, and it turned out that the K-Nearest-Neighbor method worked just as well, and possibly better. Again, this wasn't for portfolio optimization, so it may not apply to your situation.

From what I've seen, if you're depending on the computational method to find excess returns (or lower risk), you'll probably be disappointed. On the other hand, it is common for various methods to highlight some problems that weren't originally obvious. For instance, bootstrapping your portfolio(s) to determine just how good they are compared to luck. I've dumped a lot of ideas because of that issue.


They are not mutually exclusive. PCA and clustering are similar but used for different purposes. You could use PCA to whittle down 10 risk factors to say 4 uncorrelated factors, and you could combine securities with different FACTORS into different clusters with offsetting returns and variance characteristics. However, when you say you want to derive risk factors, that implies that you are dealing more with variables, and PCA (or factor analysis) is more appropriate. If you are really interested in risk segments across nominal variables, say asset classes, you would be interest more in clustering.


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.