Logo
Reference manual - version orea_version
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()

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