Skip to content

hrp

Portfolio Construction and Risk

Produces stable allocations without matrix inversion required by classic Markowitz.

wi1σi2w_i\propto\frac{1}{\sigma_i^2}

α=1σleft2σleft2+σright2\alpha=1-\frac{\sigma_{left}^2}{\sigma_{left}^2+\sigma_{right}^2}

use openquant::hrp::HierarchicalRiskParity;
let mut hrp = HierarchicalRiskParity::new();
let weights = hrp.allocate(&prices)?;
  • HierarchicalRiskParity
  • HrpDendrogram
  • HRP is often more robust under unstable covariance estimates.
  • Ensure input asset order tracks produced dendrogram order.