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

Function ols_line

crates/openquant/src/fingerprint.rs:310–322  ·  view source on GitHub ↗
(x: &[f64], y: &[f64])

Source from the content-addressed store, hash-verified

308}
309
310fn ols_line(x: &[f64], y: &[f64]) -> (f64, f64) {
311 let mx = x.iter().sum::<f64>() / x.len() as f64;
312 let my = y.iter().sum::<f64>() / y.len() as f64;
313 let mut cov = 0.0;
314 let mut varx = 0.0;
315 for (xi, yi) in x.iter().zip(y.iter()) {
316 cov += (*xi - mx) * (*yi - my);
317 varx += (*xi - mx).powi(2);
318 }
319 let b = if varx > 0.0 { cov / varx } else { 0.0 };
320 let a = my - b * mx;
321 (a, b)
322}

Callers 2

get_linear_effectFunction · 0.85
get_non_linear_effectFunction · 0.85

Calls 1

lenMethod · 0.80

Tested by

no test coverage detected