OpenQuant Docs banner
OpenQuant icon openquant-rs / documentation terminal

backtest_statistics

Portfolio Construction and Risk

Performance diagnostics for strategy returns and position trajectories.

Why This Module Exists

Turns raw PnL/returns into risk-adjusted diagnostics used in model selection and production monitoring.

Key Public APIs

  • sharpe_ratio
  • deflated_sharpe_ratio
  • probabilistic_sharpe_ratio
  • drawdown_and_time_under_water
  • average_holding_period

Core Math

Sharpe

\[S=\frac{\mu-r_f}{\sigma}\]

Information Ratio

\[IR=\frac{\mu-r_b}{\sigma_{(r-r_b)}}\]

Code Examples

Compute Sharpe and drawdown

use openquant::backtest_statistics::{sharpe_ratio, drawdown_and_time_under_water};

let returns = vec![0.01, -0.005, 0.007, -0.002, 0.003];
let sr = sharpe_ratio(&returns, 252.0, 0.0);
let (dd, tuw) = drawdown_and_time_under_water(&returns);
println!("{sr} {dd:?} {tuw:?}");

Implementation Notes

  • Use annualization constants consistent with your bar frequency.
  • Deflated Sharpe is useful when strategy mining many variants.