Skip to main content

max_drawdown

Function max_drawdown 

Source
pub fn max_drawdown(prices: &[f64]) -> FinanceResult<f64>
Expand description

Maximum peak-to-trough drawdown over a positive price series (most negative fraction).

ยงExamples

use finance_solution::{max_drawdown, FinanceError};

let dd = max_drawdown(&[100.0, 120.0, 90.0]).unwrap();
assert!((dd - 0.25).abs() < 1e-12);
match max_drawdown(&[100.0]) {
    Err(FinanceError::Unsolvable { message }) => assert!(message.contains("two")),
    other => panic!("expected Unsolvable, got {other:?}"),
}