Logo
Reference manual - version orea_version
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SimmConcentrationBase Class Reference
+ Inheritance diagram for SimmConcentrationBase:

Public Member Functions

 SimmConcentrationBase ()
 
QuantLib::Real threshold (const CrifRecord::RiskType &riskType, const std::string &qualifier) const override
 
- Public Member Functions inherited from SimmConcentration
virtual ~SimmConcentration ()
 Destructor.
 

Protected Member Functions

QuantLib::Real thresholdImpl (const QuantLib::ext::shared_ptr< SimmBucketMapper > &simmBucketMapper, const CrifRecord::RiskType &riskType, const std::string &qualifier) const
 
QuantLib::Real fxVolThreshold (const std::string &fxPair) const
 Return concentration threshold for Risk_FXVol given the fxPair.
 
std::string category (const std::string &qualifier, const std::map< std::string, std::set< std::string >> &categories) const
 Find the concentration threshold category of the qualifier.
 

Protected Attributes

QuantLib::Real units_
 The units of quotation of the threshold amount e.g. $1MM.
 
std::map< CrifRecord::RiskType, QuantLib::Real > flatThresholds_
 
std::map< CrifRecord::RiskType, std::map< std::string, QuantLib::Real > > bucketedThresholds_
 
std::map< std::string, std::set< std::string > > irCategories_
 
std::map< std::string, std::set< std::string > > fxCategories_
 
QuantLib::ext::shared_ptr< SimmBucketMappersimmBucketMapper_
 Maps SIMM qualifiers to SIMM buckets.
 

Constructor & Destructor Documentation

◆ SimmConcentrationBase()

Default ctor. May need to generalise if units of threshold quotation change significantly

Member Function Documentation

◆ threshold()

QuantLib::Real threshold ( const CrifRecord::RiskType riskType,
const std::string &  qualifier 
) const
overridevirtual

Early versions of SIMM did not have concentration thresholds assigned. This base class just returns the maximum real number i.e. effectively no concentration threshold

Implements SimmConcentration.

Reimplemented in SimmConcentration_ISDA_V2_6, SimmConcentration_ISDA_V2_5A, SimmConcentration_ISDA_V2_5, SimmConcentration_ISDA_V2_3_8, SimmConcentration_ISDA_V2_3, SimmConcentration_ISDA_V2_2, SimmConcentration_ISDA_V2_1, SimmConcentration_ISDA_V2_0, SimmConcentration_ISDA_V1_3_38, SimmConcentration_ISDA_V1_3, and SimmConcentrationCalibration.

◆ thresholdImpl()

QuantLib::Real thresholdImpl ( const QuantLib::ext::shared_ptr< SimmBucketMapper > &  simmBucketMapper,
const CrifRecord::RiskType riskType,
const std::string &  qualifier 
) const
protected

Shared threshold implementation for derived classes to call

Member Data Documentation

◆ flatThresholds_

std::map<CrifRecord::RiskType, QuantLib::Real> flatThresholds_
protected

Map from SIMM RiskType to another map that holds the SIMM concentration threshold bucket to threshold value mappings

◆ bucketedThresholds_

std::map<CrifRecord::RiskType, std::map<std::string, QuantLib::Real> > bucketedThresholds_
protected

Map from SIMM RiskType to another map that holds the SIMM concentration threshold bucket to threshold value mappings

◆ irCategories_

std::map<std::string, std::set<std::string> > irCategories_
protected

Map defining the currency groupings for IR concentration thresholds i.e. key is the category and value is the set of currencies in that category.

◆ fxCategories_

std::map<std::string, std::set<std::string> > fxCategories_
protected

Map defining the currency groupings for concentration thresholds i.e. key is the category and value is the set of currencies in that category.