Allocate with HRP
use openquant::hrp::HierarchicalRiskParity;
let mut hrp = HierarchicalRiskParity::new();
let weights = hrp.allocate(&prices)?; Portfolio Construction and Risk
Hierarchical Risk Parity allocation with recursive bisection.
Produces stable allocations without matrix inversion required by classic Markowitz.
HierarchicalRiskParityHrpDendrogram\[w_i\propto\frac{1}{\sigma_i^2}\]
\[\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)?;