skfolio.measures.cvar#

skfolio.measures.cvar(returns, beta=0.95, sample_weight=None)[source]#

Compute the historical CVaR (conditional value at risk).

The CVaR (or Tail VaR) represents the mean shortfall at a specified confidence level (beta).

Parameters:
returnsndarray of shape (n_observations,) or (n_observations, n_assets)

Array of return values.

betafloat, default=0.95

The CVaR confidence level (expected VaR on the worst (1-beta)% observations). Must be greater than or equal to 0 and less than 1. At 0, CVaR is the negative mean of the usable returns.

sample_weightndarray of shape (n_observations,), optional

Sample weights for each observation. If None, equal weights are assumed.

Returns:
valuefloat or ndarray of shape (n_assets,)

CVaR. If returns is a 1D-array, the result is a float. If returns is a 2D-array, the result is a ndarray of shape (n_assets,).

Notes

NaN handling: NaN returns are excluded from each column’s calculation. Remaining sample weights are rescaled to sum to one. The result is NaN if no observations or no positive weight remain.