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.20denotes 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