Intra portfolio correlation

This is a quick post about intra-portfolio correlation.

Intra-portfolio correlation (“IPC”) is defined as a weighted average for all unique pairwise correlations within a portfolio. It has typically been used to measure a portfolio’s diversification. That’s not what I’m interested in however. I’m looking at IPC as a potential technical trading indicator.

The idea being that an increase or decrease in the co-movement of a group of stocks (or the market as a whole for that matter) may say something about their future returns. Fleshing that out a bit more, it would be interesting to see if the momentum or short term reversal effects are influenced by the extent of the IPC (or change in IPC) of the portfolio to which a stock belongs.

To test that we need data.

Below are IPC implementations in both R and Python, presented as Google Colab notebooks:

  1. R
  2. Python

Both of these notebooks go into the technical details. As you would expect Python is pandas heavy. I have used the slider package on the R side. One particular thing to note is that both of these assume an equal weighted portfolio.

I’ll finish with some references on the topic:

  • a critique of IPC as it is used to measure diversification, essentially correlation measures co-movement but ignores variance
  • the practitioner referred to in the above paper
  • a reminder that correlation is co-variance normalised by variance
  • AQR pointing out the relationship between correlation and volatility
 
comments powered by Disqus