standardised_approach
The standardised approach, set out in CRE20 to CRE22.
To calculate credit RWA for banking book exposures.
Classes:
-
ExposureChecker
–Class to check different types of exposures.
-
RiskWeightTable
–Base class for risk weight tables.
-
RiskWeightTableByCreditRating
–Base class for risk weight tables by credit rating.
-
RiskWeightTableByLTV
–Base class for risk weight tables by LTV.
-
RiskWeightTableForCommercialRealEstateDependentOnCashFlows
–Class to represent the risk weight table for regulatory commercial real estate exposures.
-
RiskWeightTableForCommercialRealEstateNotDependentOnCashFlows
–Class to represent the risk weight table for regulatory commercial real estate exposures.
-
RiskWeightTableForCorporateExposures
–Class to represent the risk weight table for exposures to corporate.
-
RiskWeightTableForExposuresToBanks
–Class to represent the risk weight table for exposures to banks.
-
RiskWeightTableForLandADCExposure
–Class to represent the risk weight table for land ADC exposures.
-
RiskWeightTableForMDBExposures
–Class to represent the risk weight table for multilateral development banks (MDBs).
-
RiskWeightTableForOtherRealEstate
–Class to represent the risk weight table for other real estate exposures.
-
RiskWeightTableForPSEBasedOnExternalRatingOfPSE
–Class to represent the risk weight table for domestic PSEs based on external ratings of PSE.
-
RiskWeightTableForPSEBasedOnExternalRatingOfSovereign
–Class to represent the risk weight table for domestic PSEs based on external ratings of sovereign.
-
RiskWeightTableForRatedCoveredBondExposures
–Class to represent the risk weight table for rated covered bond exposures.
-
RiskWeightTableForResidentialRealEstateDependentOnCashFlows
–Class to represent the risk weight table for regulatory residential real estate exposures.
-
RiskWeightTableForResidentialRealEstateNotDependentOnCashFlows
–Class to represent the risk weight table for regulatory residential real estate exposures.
-
RiskWeightTableForShortTermExposuresToBanks
–Class to represent the risk weight table for short-term exposures to banks.
-
RiskWeightTableForSovereignExposures
–Class to represent the risk weight table for sovereigns and central banks.
-
StandardisedApproach
–The standardised approach for calculating credit RWA.
ExposureChecker
Class to check different types of exposures.
Methods:
-
is_MDB_exposure
–Check if the instrument qualifies MDB exposure.
-
is_PSE_exposure
–Check if the instrument qualifies PSE exposure.
-
is_bank_exposure
–Check if the instrument qualifies bank exposure.
-
is_cash_exposure
–Check if the instrument is cash.
-
is_corporate_exposure
–Check if the instrument qualifies corporate exposure.
-
is_covered_bond_exposure
–Check if the instrument qualifies covered bond exposure.
-
is_credit_derivative_exposure
–Check if the instrument qualifies credit derivative exposure.
-
is_defaulted_exposure
–Check if the instrument qualifies defaulted exposure.
-
is_other_exposure
–Check if the instrument does not qualify all other exposures.
-
is_real_estate_exposure
–Check if the instrument is a real estate exposure.
-
is_retail_exposure
–Check if the exposure qualifies regulatory retail.
-
is_securities_firm_exposure
–Check if the instrument qualifies securities firm exposure.
-
is_short_term_exposure
–Check if the instrument qualifies short-term exposure.
-
is_sovereign_exposure
–Check if the instrument qualifies sovereign or central bank exposure.
is_MDB_exposure
staticmethod
is_MDB_exposure(instrument: Instrument, bank: Bank) -> bool
Check if the instrument qualifies MDB exposure.
is_PSE_exposure
staticmethod
is_PSE_exposure(instrument: Instrument, bank: Bank) -> bool
Check if the instrument qualifies PSE exposure.
is_bank_exposure
staticmethod
is_bank_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument qualifies bank exposure.
is_cash_exposure
staticmethod
is_cash_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument is cash.
is_corporate_exposure
staticmethod
is_corporate_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument qualifies corporate exposure.
is_covered_bond_exposure
staticmethod
is_covered_bond_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument qualifies covered bond exposure.
is_credit_derivative_exposure
staticmethod
is_credit_derivative_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument qualifies credit derivative exposure.
is_defaulted_exposure
staticmethod
is_defaulted_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument qualifies defaulted exposure.
is_other_exposure
staticmethod
is_other_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument does not qualify all other exposures.
is_real_estate_exposure
staticmethod
is_real_estate_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument is a real estate exposure.
is_retail_exposure
staticmethod
is_retail_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the exposure qualifies regulatory retail.
is_securities_firm_exposure
staticmethod
is_securities_firm_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument qualifies securities firm exposure.
is_short_term_exposure
staticmethod
is_short_term_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument qualifies short-term exposure.
is_sovereign_exposure
staticmethod
is_sovereign_exposure(
instrument: Instrument, bank: Bank
) -> bool
Check if the instrument qualifies sovereign or central bank exposure.
RiskWeightTable
Bases: ABC
Base class for risk weight tables.
Methods:
-
get_risk_weight
–Get the risk.
get_risk_weight
abstractmethod
classmethod
get_risk_weight(instrument: Instrument) -> float
Get the risk.
RiskWeightTableByCreditRating
Bases: RiskWeightTable
Base class for risk weight tables by credit rating.
Methods:
-
get_risk_weight
–Get the risk weight.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = True
) -> float
Get the risk weight.
RiskWeightTableByLTV
Bases: RiskWeightTable
Base class for risk weight tables by LTV.
Methods:
-
get_risk_weight
–Get the risk.
get_risk_weight
abstractmethod
classmethod
get_risk_weight(instrument: Instrument) -> float
Get the risk.
RiskWeightTableForCommercialRealEstateDependentOnCashFlows
Bases: RiskWeightTableByLTV
Class to represent the risk weight table for regulatory commercial real estate exposures.
Specifically those are materially dependent on cash flows generated by the property.
This is Table 14 of CRE20.87.
Methods:
-
get_risk_weight
–Get the risk weight based on the instrument's LTV ratio.
get_risk_weight
classmethod
get_risk_weight(instrument: Instrument) -> float
Get the risk weight based on the instrument's LTV ratio.
RiskWeightTableForCommercialRealEstateNotDependentOnCashFlows
Bases: RiskWeightTableByLTV
Class to represent the risk weight table for regulatory commercial real estate exposures.
Specifically those not dependent on cash flows generated by the property.
This is Table 13 of CRE20.85.
Methods:
-
get_risk_weight
–Get the risk weight based on the instrument's LTV ratio.
get_risk_weight
classmethod
get_risk_weight(instrument: Instrument) -> float
Get the risk weight based on the instrument's LTV ratio.
RiskWeightTableForCorporateExposures
Bases: RiskWeightTableByCreditRating
Class to represent the risk weight table for exposures to corporate.
This is Table 10 of CRE20.43.
Methods:
-
get_risk_weight
–Get the risk weight.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = True
) -> float
Get the risk weight.
RiskWeightTableForExposuresToBanks
Bases: RiskWeightTableByCreditRating
Class to represent the risk weight table for exposures to banks.
This is first panel of Table 6 of CRE20.18.
Methods:
-
get_risk_weight
–Get the risk weight.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = True
) -> float
Get the risk weight.
RiskWeightTableForLandADCExposure
Bases: RiskWeightTable
Class to represent the risk weight table for land ADC exposures.
This is defined in CRE20.90 to CRE20.91.
Methods:
-
get_risk_weight
–Get the risk weight.
get_risk_weight
classmethod
get_risk_weight(instrument: Instrument) -> float
Get the risk weight.
Land ADC exposures will be risk-weighted at 150%.
If criteria in CRE20.91 are met, risk weight is 100%. For example, all developments have been pre-sold.
To be conservative, let's use 150% here.
RiskWeightTableForMDBExposures
Bases: RiskWeightTableByCreditRating
Class to represent the risk weight table for multilateral development banks (MDBs).
This is Table 5 of CRE20.15. MDBs with a zero risk weight are listed in footnote 8 of CRE20.14.
Methods:
-
get_risk_weight
–Get the risk weight for a given issuer.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = True
) -> float
Get the risk weight for a given issuer.
RiskWeightTableForOtherRealEstate
Bases: RiskWeightTable
Class to represent the risk weight table for other real estate exposures.
This is defined in CRE20.89.
Methods:
-
get_risk_weight
–Get the risk weight based on the instrument's issuer and if it's dependent on cash flows.
get_risk_weight
classmethod
get_risk_weight(instrument: Instrument) -> float
Get the risk weight based on the instrument's issuer and if it's dependent on cash flows.
RiskWeightTableForPSEBasedOnExternalRatingOfPSE
Bases: RiskWeightTableByCreditRating
Class to represent the risk weight table for domestic PSEs based on external ratings of PSE.
This is Table 4 of CRE20.11.
Methods:
-
get_risk_weight
–Get the risk weight.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = True
) -> float
Get the risk weight.
RiskWeightTableForPSEBasedOnExternalRatingOfSovereign
Bases: RiskWeightTableByCreditRating
Class to represent the risk weight table for domestic PSEs based on external ratings of sovereign.
This is Table 3 of CRE20.11.
Methods:
-
get_risk_weight
–Get the risk weight.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = True
) -> float
Get the risk weight.
RiskWeightTableForRatedCoveredBondExposures
Bases: RiskWeightTableByCreditRating
Class to represent the risk weight table for rated covered bond exposures.
This is Table 8 of CRE20.38.
Methods:
-
get_risk_weight
–Get the risk weight based on the instrument's credit rating.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = False
) -> float
Get the risk weight based on the instrument's credit rating.
RiskWeightTableForResidentialRealEstateDependentOnCashFlows
Bases: RiskWeightTableByLTV
Class to represent the risk weight table for regulatory residential real estate exposures.
Specifically those materially dependent on cash flows generated by the property. (e.g., Investment property)
This is Table 12 of CRE20.84.
Methods:
-
get_risk_weight
–Get the risk weight based on the instrument's LTV ratio.
get_risk_weight
classmethod
get_risk_weight(instrument: Instrument) -> float
Get the risk weight based on the instrument's LTV ratio.
RiskWeightTableForResidentialRealEstateNotDependentOnCashFlows
Bases: RiskWeightTableByLTV
Class to represent the risk weight table for regulatory residential real estate exposures.
Specifically those not dependent on cash flows generated by the property.
This is Table 11 of CRE20.82.
Methods:
-
get_risk_weight
–Get the risk weight based on the instrument's LTV ratio.
get_risk_weight
classmethod
get_risk_weight(instrument: Instrument) -> float
Get the risk weight based on the instrument's LTV ratio.
RiskWeightTableForShortTermExposuresToBanks
Bases: RiskWeightTableByCreditRating
Class to represent the risk weight table for short-term exposures to banks.
This is second panel of Table 6 of CRE20.18.
Methods:
-
get_risk_weight
–Get the risk weight.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = True
) -> float
Get the risk weight.
RiskWeightTableForSovereignExposures
Bases: RiskWeightTableByCreditRating
Class to represent the risk weight table for sovereigns and central banks.
This is Table 1 of CRE20.7.
Methods:
-
get_risk_weight
–Get the risk weight.
get_risk_weight
classmethod
get_risk_weight(
instrument: Instrument, use_issuer_rating: bool = True
) -> float
Get the risk weight.
StandardisedApproach
Bases: RWAApproach
The standardised approach for calculating credit RWA.
Methods:
-
compute_rwa
–Compute the Risk-Weighted Assets (RWA) for a given bank and scenario.
compute_rwa
compute_rwa(
bank: Bank,
date: date,
scenario_manager: ScenarioManager,
verbose: bool = False,
) -> float
Compute the Risk-Weighted Assets (RWA) for a given bank and scenario.