21#include <ql/errors.hpp>
36 : simmBucketMapper_(simmBucketMapper) {
40 {
"2", {
"USD",
"EUR",
"GBP"}},
41 {
"3", {
"AUD",
"CAD",
"CHF",
"DKK",
"HKD",
"KRW",
"NOK",
"NZD",
"SEK",
"SGD",
"TWD"}},
45 fxCategories_ = {{
"1", {
"USD",
"EUR",
"JPY",
"GBP",
"AUD",
"CHF",
"CAD"}},
46 {
"2", {
"BRL",
"CNY",
"HKD",
"INR",
"KRW",
"MXN",
"NOK",
"NZD",
"RUB",
"SEK",
"SGD",
"TRY",
"ZAR"}},
SimmConcentration_ISDA_V1_3(const QuantLib::ext::shared_ptr< SimmBucketMapper > &simmBucketMapper)
Default constructor that adds fixed known mappings.
QuantLib::Real threshold(const CrifRecord::RiskType &riskType, const std::string &qualifier) const override
QuantLib::ext::shared_ptr< SimmBucketMapper > simmBucketMapper_
Help getting SIMM buckets from SIMM qualifiers.
std::map< std::string, std::set< std::string > > fxCategories_
std::map< std::string, std::set< std::string > > irCategories_
std::map< CrifRecord::RiskType, std::map< std::string, QuantLib::Real > > bucketedThresholds_
QuantLib::Real thresholdImpl(const QuantLib::ext::shared_ptr< SimmBucketMapper > &simmBucketMapper, const CrifRecord::RiskType &riskType, const std::string &qualifier) const
std::map< CrifRecord::RiskType, QuantLib::Real > flatThresholds_
CrifRecord::RiskType RiskType
SIMM concentration thresholds for SIMM version R1.3 (3.29)