Skip to content
All library documents

Using PCA to Build Portfolios with Lower Cross-Correlation

Article Quant Q&A · Author: Powerfool

Summary

The question asks how to divide assets into portfolios whose returns are mutually weakly correlated, either assigning each asset to only one portfolio or allowing assets to appear in multiple portfolios. It notes that direct optimization can become expensive as the number of assets grows, and seeks a statistically guided alternative using known return covariance information.

The response proposes principal component analysis of asset returns, treating the resulting components as portfolios. For nonnegative portfolio weights, it suggests nonnegative sparse PCA. This is a concise direction rather than a full construction or validation procedure: it does not explain how to choose the number of portfolios, enforce non-overlapping membership, or verify that the resulting portfolios meet a particular utility objective. PCA-derived portfolios also need not correspond directly to the requested asset partitions.

Key ideas

  • PCA can transform return data into uncorrelated principal component portfolios.
  • Nonnegative sparse PCA is suggested when nonnegative weights are required.
  • The original problem distinguishes portfolios with exclusive asset assignment from portfolios that may overlap.
  • The response does not explain how PCA satisfies the non-overlap or portfolio utility constraints.

Tags

Full text
# Partition assets into minimally correlated portfolios


# Partition assets into minimally correlated portfolios












My question covers a more or less classical portfolio optimization situation with a twist: How to partition assets into minimally correlated portfolios, with and without asset overlap.

I have $N$ assets of which I know their price series and thus also covariance matrix. I would like to create a number of portfolios with them them (each with maximum utility, such as minimum variance), such that the mutual correlation of these portfolios is minimized. (A suitable objective function for the correlation norm could be the sum of the first or third powers of the portfolios' upper triangular covariance matrix.) There's two variants of how to do this: (a) without overlap (i.e., an asset may be appear in at most one portfolio), and (b) with overlap (i.e., an asset may appear in multiple portfolios)

Of course, I could approach this problem by brute force (metaheuristic) optimization, but this will become expensive quickly due to combinatorial complexity as $N$ increases. What I'm hoping is that there's a more statistically guided way, be it analytical or semi-analytical to guide a heuristic optimization approach, to partition the assets into minimally correlated portfolios.

## Answer by Kumar (score 1)

https://quant.stackexchange.com/a/11167

You can start by doing Principal Component Analysis on the returns data and treat principal components as your portfolios .

To ensure that you have non-negativ weights you can use Non-negative Sparse PCA. There is an R implementation in the nsprcomp package. `nsprcomp` is the necessary function and `nneg` is the parameter you need to set.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.