27#include <ql/qldefines.hpp>
28#include <ql/types.hpp>
44 const std::string& qualifier)
const = 0;
94 QuantLib::Real
thresholdImpl(
const QuantLib::ext::shared_ptr<SimmBucketMapper>& simmBucketMapper,
101 std::string
category(
const std::string& qualifier,
102 const std::map<std::string, std::set<std::string>>& categories)
const;
QuantLib::Real units_
The units of quotation of the threshold amount e.g. $1MM.
QuantLib::Real fxVolThreshold(const std::string &fxPair) const
Return concentration threshold for Risk_FXVol given the fxPair.
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 threshold(const CrifRecord::RiskType &riskType, const std::string &qualifier) const override
QuantLib::Real thresholdImpl(const QuantLib::ext::shared_ptr< SimmBucketMapper > &simmBucketMapper, const CrifRecord::RiskType &riskType, const std::string &qualifier) const
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.
std::map< CrifRecord::RiskType, QuantLib::Real > flatThresholds_
QuantLib::ext::shared_ptr< SimmBucketMapper > simmBucketMapper_
Maps SIMM qualifiers to SIMM buckets.
virtual QuantLib::Real threshold(const CrifRecord::RiskType &riskType, const std::string &qualifier) const =0
virtual ~SimmConcentration()
Destructor.
SIMM class for defining SIMM risk weights, thresholds, buckets, and labels. Currently only supports t...
SIMM configuration interface.