MCPcopy Create free account
hub / github.com/Open-Quant/openquant / quasi_diagonalization

Function quasi_diagonalization

crates/openquant/src/hcaa.rs:337–351  ·  view source on GitHub ↗
(
    num_assets: usize,
    clusters: &[[usize; 2]],
    curr_index: usize,
)

Source from the content-addressed store, hash-verified

335
336fn cluster_variance(cov: &DMatrix<f64>, indices: &[usize]) -> Result<f64, HcaaError> {
337 let w = inverse_variance_weights(cov, indices)?;
338 let mut v = 0.0;
339 for (ii, &i) in indices.iter().enumerate() {
340 for (jj, &j) in indices.iter().enumerate() {
341 v += w[ii] * cov[(i, j)] * w[jj];
342 }
343 }
344 Ok(v.max(0.0))
345}
346
347fn cluster_sharpe(
348 expected: &[f64],
349 cov: &DMatrix<f64>,
350 indices: &[usize],
351) -> Result<f64, HcaaError> {
352 let w = inverse_variance_weights(cov, indices)?;
353 let mut mu = 0.0;
354 for (ii, &i) in indices.iter().enumerate() {

Callers 1

allocateMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected