Fit HCAA allocator
use openquant::hcaa::HierarchicalClusteringAssetAllocation;
let mut hcaa = HierarchicalClusteringAssetAllocation::new();
let w = hcaa.allocate(&prices)?; Portfolio Construction and Risk
Hierarchical Clustering Asset Allocation variant with cluster-level constraints.
Allocates capital by hierarchy to reduce concentration and covariance-estimation fragility.
HierarchicalClusteringAssetAllocationHcaaError\[\sigma_C^2=w_C^T\Sigma_C w_C\]
\[w_{left},w_{right}\propto\frac{1}{\sigma_{left}^2},\frac{1}{\sigma_{right}^2}\]
use openquant::hcaa::HierarchicalClusteringAssetAllocation;
let mut hcaa = HierarchicalClusteringAssetAllocation::new();
let w = hcaa.allocate(&prices)?;