abaquant.credit.risk

Import path: abaquant.credit.risk

Domain: Credit-risk analytics and fundamentals-derived credit proxies.

Purpose

Credit portfolio VaR, CVaR, and scaling metrics.

When to use it

Use this package for transition matrices, spread-based valuation, CDS/CDO building blocks, copula simulation, tail risk, and accounting-based credit diagnostics.

Public objects

  • function: var_cvar_from_distribution — Compute value at risk and conditional value at risk from an exact distribution.

  • function: scale_var_cvar — Scale documented risk results across confidence levels or horizons.

  • function: var_cvar_from_simulations — Compute value at risk and conditional value at risk from simulated values.

  • function: var_cvar_parametric — Compute normal-approximation value at risk and conditional value at risk.

Detailed reference

Credit portfolio VaR, CVaR, and scaling metrics.

Purpose

The module extracts tail measures from exact or simulated portfolio-value distributions and computes parametric normal approximations.

Conventions

The implementation documents whether values denote portfolio value or loss. Confidence levels are probabilities in [0, 1].

References

[ 1 ] Rockafellar, R. T., and S. Uryasev (2000), “Optimization of Conditional Value-at-Risk”. [ 2 ] Li, D. X. (2000), “On Default Correlation: A Copula Function Approach”.

abaquant.credit.risk.scale_var_cvar(results, conf_levels=(0.90, 0.95, 0.99, 0.999))

Scale documented risk results across confidence levels or horizons.

Parameters:
  • results (dict) – Existing risk-measure mapping to rescale or transform.

  • conf_levels (tuple[float, ...], default=(0.9, 0.95, 0.99, 0.999)) – Sequence of confidence probabilities for tail-risk outputs.

Returns:

Named outputs of the scale var cvar calculation.

Return type:

dict

abaquant.credit.risk.var_cvar_from_distribution(sorted_dist, conf_levels=(0.90, 0.95, 0.99, 0.999), normalize=True)

Compute value at risk and conditional value at risk from an exact distribution.

Parameters:
  • sorted_dist (list) – Sorted exact portfolio-value distribution with corresponding probabilities.

  • conf_levels (tuple[float, ...], default=(0.9, 0.95, 0.99, 0.999)) – Sequence of confidence probabilities for tail-risk outputs.

  • normalize (bool, default=True) – Whether the probability masses are normalized to sum to one before tail metrics are computed.

Returns:

Named outputs of the var cvar from distribution calculation.

Return type:

dict

abaquant.credit.risk.var_cvar_from_simulations(sim_vals, conf_levels=(0.90, 0.95, 0.99, 0.999))

Compute value at risk and conditional value at risk from simulated values.

Parameters:
  • sim_vals (np.ndarray) – Simulated portfolio-value samples.

  • conf_levels (tuple[float, ...], default=(0.9, 0.95, 0.99, 0.999)) – Sequence of confidence probabilities for tail-risk outputs.

Returns:

Named outputs of the var cvar from simulations calculation.

Return type:

dict

abaquant.credit.risk.var_cvar_parametric(ev, sigma, conf_levels=(0.90, 0.95, 0.99, 0.999))

Compute normal-approximation value at risk and conditional value at risk.

Parameters:
  • ev (float) – Expected portfolio value used by the parametric credit-risk approximation.

  • sigma (float) – Annualized lognormal volatility in decimal units; for example, 0.20 denotes 20%.

  • conf_levels (tuple[float, ...], default=(0.9, 0.95, 0.99, 0.999)) – Sequence of confidence probabilities for tail-risk outputs.

Returns:

Named outputs of the var cvar parametric calculation.

Return type:

dict