Compute VaR and ES
use openquant::risk_metrics::RiskMetrics;
let r = vec![-0.02, 0.01, -0.005, 0.003, 0.004];
let var95 = RiskMetrics::calculate_value_at_risk(&r, 0.05)?;
let es95 = RiskMetrics::calculate_expected_shortfall(&r, 0.05)?; Portfolio Construction and Risk
Portfolio and return-distribution risk measures for downside control.
Risk budgets and guardrails require coherent downside metrics beyond variance.
RiskMetrics::calculate_value_at_riskRiskMetrics::calculate_expected_shortfallRiskMetrics::calculate_conditional_drawdown_riskRiskMetrics::calculate_variance\[VaR_\alpha = -Q_\alpha(R)\]
\[ES_\alpha = -E[R \mid R \le Q_\alpha(R)]\]
use openquant::risk_metrics::RiskMetrics;
let r = vec![-0.02, 0.01, -0.005, 0.003, 0.004];
let var95 = RiskMetrics::calculate_value_at_risk(&r, 0.05)?;
let es95 = RiskMetrics::calculate_expected_shortfall(&r, 0.05)?;