Skip to main content

sharpe_ratio

Function sharpe_ratio 

Source
pub fn sharpe_ratio(returns: &[f64], risk_free_rate: f64) -> FinanceResult<f64>
Expand description

Sharpe ratio: (mean - risk_free) / volatility over the return series.

§Examples

use finance_solution::{sharpe_ratio, FinanceError};

assert!(sharpe_ratio(&[0.02, 0.01, 0.03], 0.0).is_ok());
// Constant returns → zero volatility → undefined Sharpe.
match sharpe_ratio(&[0.01, 0.01, 0.01], 0.0) {
    Err(FinanceError::Unsolvable { message }) => assert!(message.contains("volatility")),
    other => panic!("expected Unsolvable, got {other:?}"),
}