OpenQuant Docs banner
OpenQuant icon openquant-rs / documentation terminal

hcaa

Portfolio Construction and Risk

Hierarchical Clustering Asset Allocation variant with cluster-level constraints.

Why This Module Exists

Allocates capital by hierarchy to reduce concentration and covariance-estimation fragility.

Key Public APIs

  • HierarchicalClusteringAssetAllocation
  • HcaaError

Core Math

Cluster Variance

\[\sigma_C^2=w_C^T\Sigma_C w_C\]

Recursive Split

\[w_{left},w_{right}\propto\frac{1}{\sigma_{left}^2},\frac{1}{\sigma_{right}^2}\]

Code Examples

Fit HCAA allocator

use openquant::hcaa::HierarchicalClusteringAssetAllocation;

let mut hcaa = HierarchicalClusteringAssetAllocation::new();
let w = hcaa.allocate(&prices)?;

Implementation Notes

  • Cluster linkage choices influence allocations.
  • Use with robust codependence distances when possible.