(mut values: Vec<f64>, q: f64)
| 396 | } |
| 397 | |
| 398 | fn quantile(mut values: Vec<f64>, q: f64) -> f64 { |
| 399 | if values.is_empty() { |
| 400 | return 0.0; |
| 401 | } |
| 402 | values.sort_by(f64::total_cmp); |
| 403 | let qn = q.clamp(0.0, 1.0); |
| 404 | let idx = ((values.len() - 1) as f64 * qn).round() as usize; |
| 405 | values[idx] |
| 406 | } |
| 407 | |
| 408 | fn cluster_expected_shortfall( |
| 409 | returns: &DMatrix<f64>, |
no test coverage detected