Main Content

aggregate

Aggregate add-ons or exposures at default (EAD) over all portfolios

Since R2024a

Description

example

AddOnAggregate = aggregate(AddOnAssetClassResultsObject) aggregates add-ons over all asset classes using the AddOnAssetClassResults object. The AddOnAssetClassResults object is returned from the outAddOnResults output when you use addOn.

example

AggregateEAD = aggregate(EADResultsObject) aggregates exposures at default (EADs) over all portfolios using the EADResults object. The EADResults object is returned from the outEADResults output when you use ead.

Examples

collapse all

Use the aggregate function to aggregate add-ons over all asset classes.

Define the foreign exchange (FX) spot currency exchange rate table.

Base = ["EUR";"GBP";"GBP"];
Quote = ["USD";"USD";"EUR"];
SpotRate = [1.0543;1.2195;1.1567];
FXSpotTable = table(Base,Quote,SpotRate)
FXSpotTable=3×3 table
    Base     Quote    SpotRate
    _____    _____    ________

    "EUR"    "USD"     1.0543 
    "GBP"    "USD"     1.2195 
    "GBP"    "EUR"     1.1567 

Create the saccr object.

SACCRCRIF = "SACCR_CRIF_Port_7.csv";
mySACCR = saccr(SACCRCRIF,DomesticCurrency="USD", FXSpot=FXSpotTable)
mySACCR = 
  saccr with properties:

                         CRIF: [22×19 table]
                NumPortfolios: 1
                 PortfolioIDs: "Port_007"
              CounterpartyIDs: ""
                   Portfolios: [1×1 saccr.Portfolio]
                   Regulation: "Basel_CRE52"
             DomesticCurrency: "USD"
                        Alpha: 1.4000
                  FXSpotRates: [3×3 table]
          TradeDecompositions: [5×2 table]
           CollateralHaircuts: [200×6 table]
        SupervisoryParameters: [19×7 table]
    MaturityBusinessDaysFloor: 10
          NumBusinessDaysYear: 250

You can then use the addOn function with the saccr object.

outAddOnResults = addOn(mySACCR)
outAddOnResults = 
  AddOnResults with properties:

                        NumPortfolios: 1
                         PortfolioIDs: "Port_007"
                      CounterpartyIDs: ""
                           Regulation: "Basel_CRE52"
                     DomesticCurrency: "USD"
       AddOnAggregateUncollateralized: 1.1177e+06
         AddOnAggregateCollateralized: 3.3218e+05
    AddOnAssetClassesUncollateralized: [1×1 saccr.AddOnAssetClassResults]
      AddOnAssetClassesCollateralized: [1×1 saccr.AddOnAssetClassResults]

The aggregate add-ons are already included in the add-on results.

outAddOnResults.AddOnAggregateUncollateralized
ans = 1.1177e+06

Alternatively, use aggregate to aggregate add-ons over all asset classes.

AggregateAddOnUncollateralized = aggregate(outAddOnResults.AddOnAssetClassesUncollateralized)
AggregateAddOnUncollateralized = 1.1177e+06

Use the aggregate function to aggregate exposures at default (EADs) over all portfolios in a saccr object.

Define the foreign exchange (FX) spot currency exchange rate table.

Base = ["EUR";"GBP";"GBP"];
Quote = ["USD";"USD";"EUR"];
SpotRate = [1.0543;1.2195;1.1567];
FXSpotTable = table(Base,Quote,SpotRate)
FXSpotTable=3×3 table
    Base     Quote    SpotRate
    _____    _____    ________

    "EUR"    "USD"     1.0543 
    "GBP"    "USD"     1.2195 
    "GBP"    "EUR"     1.1567 

Create the saccr object.

SACCRCRIF = "SACCR_CRIF_Port_7.csv";
mySACCR = saccr(SACCRCRIF)
mySACCR = 
  saccr with properties:

                         CRIF: [22×19 table]
                NumPortfolios: 1
                 PortfolioIDs: "Port_007"
              CounterpartyIDs: ""
                   Portfolios: [1×1 saccr.Portfolio]
                   Regulation: "Basel_CRE52"
             DomesticCurrency: "USD"
                        Alpha: 1.4000
                  FXSpotRates: [0×0 table]
          TradeDecompositions: [5×2 table]
           CollateralHaircuts: [200×6 table]
        SupervisoryParameters: [19×7 table]
    MaturityBusinessDaysFloor: 10
          NumBusinessDaysYear: 250

You can then use the ead functions with the saccr object.

outAddOnResults = addOn(mySACCR)
outAddOnResults = 
  AddOnResults with properties:

                        NumPortfolios: 1
                         PortfolioIDs: "Port_007"
                      CounterpartyIDs: ""
                           Regulation: "Basel_CRE52"
                     DomesticCurrency: "USD"
       AddOnAggregateUncollateralized: 1.1177e+06
         AddOnAggregateCollateralized: 3.3218e+05
    AddOnAssetClassesUncollateralized: [1×1 saccr.AddOnAssetClassResults]
      AddOnAssetClassesCollateralized: [1×1 saccr.AddOnAssetClassResults]

outEADResults = ead(mySACCR)
outEADResults = 
  EADResults with properties:

       NumPortfolios: 1
        PortfolioIDs: "Port_007"
     CounterpartyIDs: ""
          Regulation: "Basel_CRE52"
    DomesticCurrency: "USD"
                 EAD: 3.7394e+05
               Alpha: 1.4000
                  RC: 0
                 PFE: 2.6710e+05
          Multiplier: 0.8041
      AddOnAggregate: 3.3218e+05
           RCResults: [1×1 saccr.RCResults]
          PFEResults: [1×1 saccr.PFEResults]
        ResultsTable: [1×17 table]

Use aggregate to aggregate exposures at default (EADs) over all portfolios in a saccr object.

AggregateEAD = aggregate(outEADResults)
AggregateEAD = 3.7394e+05

Input Arguments

collapse all

Add-on asset class results object, specified as an AddOnAssetClassResults object. The AddOnAssetClassResults object is returned from the outAddOnResults output when you use addOn.

Data Types: object

EAD results object, specified as an EADResults object. You create an EADResults object using ead.

Data Types: object

Output Arguments

collapse all

Add-ons aggregated over all asset classes, returned as a NumPortfolios-by-1 vector of add-ons aggregated over all asset classes.

EAD aggregated over all portfolios, returned as a scalar numeric.

More About

collapse all

Aggregate of Add-Ons

The aggregate of add-ons is the total of the additional factors applied to the potential future exposure (PFE) of derivative contracts.

These add-ons capture specific risk characteristics associated with different types of derivative contracts, reflecting potential exposure increases due to factors such as credit risk, interest rate risk, equity risk, foreign exchange risk, and commodity risk. The aggregate of these add-ons is a crucial input in the calculation of the exposure at default (EAD), which represents the maximum potential loss that a bank could face if a counterparty defaults.

Aggregate of Exposures at Default (EAD)

The aggregate of exposures at default (EAD) is the sum for all individual netting sets or portfolios with a single counterparty or multiple counterparties.

Aggregating EADs provides the total potential loss from counterparty credit risk, done at the bank level or for a specific business line or risk category. This aggregate EAD is a key input in calculating Basel III framework's counterparty credit risk capital requirements, dictating the capital that banks must hold to cover potential losses from counterparty credit risk exposure.

References

[1] Bank for International Settlements. "CRE52 - Standardised Approach to Counterparty Credit Risk." June 2020. Available at: https://www.bis.org/basel_framework/chapter/CRE/52.htm.

[2] Bank for International Settlements. "CRE22 - Standardised Approach: Credit Risk Migration." November 2020. Available at: https://www.bis.org/basel_framework/chapter/CRE/22.htm.

[3] Bank for International Settlements. "Basel Committee on Banking Supervision: The Standardised Approach for Measuring Counterparty Credit Risk Exposures." April 2014. Available at: https://www.bis.org/publ/bcbs279.pdf.

Version History

Introduced in R2024a