Docs / nablatensor-risk / com.nablatensor.risk

interface

RiskClassProfile

The per-risk-class parameter surface a generic FRTB SA-SBM engine drives. One implementation per risk class (GIRR, CSR non-sec / sec / CTP, equity, commodity, FX); the implementation holds the MAR21 risk-weight, correlation and curvature-shock tables and is the single place a value changes.

All correlations returned here are MEDIUM-scenario values; the engine applies the CorrelationScenario HIGH / LOW transforms.

This interface carries no numbers. Its implementations do, and each of those must cite the Basel paragraph and warn that the reader should verify against the current rulebook.

Methods

RiskClass riskClass()

The risk class this profile parameterises.

double deltaRiskWeight(RiskFactor k)

Delta risk weight for a delta risk factor (as a decimal fraction).

double vegaRiskWeight(RiskFactor k)

Vega risk weight for a vega risk factor (as a decimal fraction).

double curvatureShock(RiskFactor k, double riskFactorLevel)

The additive shock magnitude applied to riskFactorLevel for the curvature up and down repricings. Relative-shock classes return rw * riskFactorLevel; absolute-shock classes return rw.

double deltaRho(RiskFactor k, RiskFactor l)

Within-bucket delta correlation between two factors (MEDIUM scenario); 1 if identical.

double vegaRho(RiskFactor k, RiskFactor l)

Within-bucket vega correlation between two factors (MEDIUM scenario); 1 if identical.

double gamma(String bucketB, String bucketC)

Across-bucket correlation between two buckets (MEDIUM scenario); 1 if the same bucket.