Skip to content
All library documents

Combining Market-Cap Weights with Hierarchical Risk Parity

Article Quant Q&A · Author: myfire

Summary

The document considers how to incorporate market capitalization into a portfolio built with hierarchical risk parity (HRP). Its response distinguishes three approaches: risk contribution methods use volatility and correlation to allocate portfolio risk; Black–Litterman belongs to a mean-variance framework that starts from market-implied returns and can blend them with investor views; and market-cap weighting allocates capital according to relative company size.

Because these methods have different objectives, the response cautions that applying Black–Litterman directly to HRP is not a straightforward way to add market-cap weights. It suggests a layered construction instead: form sub-portfolios weighted by market capitalization, then combine them using risk contribution, potentially at different levels of the hierarchy. This is a conceptual proposal rather than a tested recipe. The document gives no empirical comparison, parameter guidance, or evidence that the suggested blend improves portfolio performance.

Key ideas

  • HRP allocates weights using asset volatility, correlation, and a risk contribution objective.
  • Black–Litterman is associated with mean-variance optimization and blends market-implied returns with investor views.
  • Market-cap weighting is a separate portfolio construction approach based on relative company size.
  • A layered portfolio could use market-cap weights within sub-portfolios and risk contribution to blend them.

Tags

Full text
# Incorporating market cap after Hierarchical Risk Parity (HRP) Portfolio Optimization. Using Black Litterman?


# Incorporating market cap after Hierarchical Risk Parity (HRP) Portfolio Optimization. Using Black Litterman?












Hello financial experts :)

I recently got interested in portfolio optimization. I'm still learning. As I'm familiar with python I started experimenting a little in JupyterNotebooks with riskfolio. I used this tutorial: Hierarchical Risk Parity (HRP) Portfolio Optimization to get the weights. Now I would like to include the market cap as factor. Sadly the docs and the maintainer weren't very helpful / beginner friendly. Maybe some of you are able to help me answer some questions that came up.

I have the market caps like this:

```
market_cap_weights = np.array([mcap / np.sum(mcaps) for mcap in mcaps])
```

- Is Black Litterman the right approach to include the market cap? There is an example notebook. It uses pretty complex views though and it seems too advanced / has to much settings for my usage? It would be great if someone could point me on how to use them for simple market cap weights.

- If BL is not the right approach what is?

Grateful for any help. Thank you.

## Answer by Michael Williamson (score 1)

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

I think approaches that you suggest are incompatible.

Risk contribution (or risk parity/HRP) is portfolio construction method that takes the volatility and correlation of securities, along with a desired contribution to risk, and generates the weights of the portfolio.

Black-Litterman is related to mean-variance optimization. In a simple form, it can take the market portfolio and turn that into a forecasted return or alpha. If you were to feed that back into mean-variance optimization, the result would be the market portfolio. From there, the "market alpha" is typically blended with views to produce a deviation from the market portfolio.

Market cap weighting is another portfolio construction method that simple weights the securities by their relative market caps.

If you want to incorporate market cap into the risk contribution methodology, you could create sub-portfolios using market cap weighting and then blend them using risk contribution for example. e.g. at heirarchy 2 use market cap weighting and at heirarchy 1 use risk contribution.

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.