42 void addRecord(
const CrifRecord& record,
bool aggregateDifferentAmountCurrencies =
false,
bool sortFxVolQualifer =
true);
43 void addRecords(
const Crif& crif,
bool aggregateDifferentAmountCurrencies =
false,
bool sortFxVolQualfier =
true);
47 std::set<CrifRecord>::const_iterator
begin()
const {
return records_.cbegin(); }
48 std::set<CrifRecord>::const_iterator
end()
const {
return records_.cend(); }
84 void fillAmountUsd(
const QuantLib::ext::shared_ptr<ore::data::Market> market);
93 const std::string& qualifier)
const;
102 const std::string& bucket)
const;
114 std::set<std::string>
tradeIds()
const;
Crif aggregate() const
Aggregate all existing records.
void setCrifRecords(const Crif &crif)
deletes all existing simmParameter and replaces them with the new one
void updateAmountExistingRecord(std::set< CrifRecord >::iterator &it, const CrifRecord &record)
std::set< std::string > qualifiersBy(const NettingSetDetails nsd, CrifRecord::ProductClass pc, const CrifRecord::RiskType rt) const
std::set< ore::data::NettingSetDetails > nettingSetDetails_
std::vector< CrifRecord > filterByQualifier(const NettingSetDetails &nsd, const CrifRecord::ProductClass pc, const CrifRecord::RiskType rt, const std::string &qualifier) const
std::set< std::string > tradeIds() const
const std::set< ore::data::NettingSetDetails > & nettingSetDetails() const
Crif filterNonZeroAmount(double threshold=0.0, std::string alwaysIncludeFxRiskCcy="") const
returns a crif without zero amount records, FXRisk entries in currency alwaysIncludeFxRiskCcy are alw...
void addFrtbCrifRecord(const CrifRecord &record, bool aggregateDifferentAmountCurrencies=false, bool sortFxVolQualifer=true)
std::vector< CrifRecord > filterByBucket(const NettingSetDetails &nsd, const CrifRecord::ProductClass pc, const CrifRecord::RiskType rt, const std::string &bucket) const
std::vector< CrifRecord > filterByQualifierAndBucket(const NettingSetDetails &nsd, const CrifRecord::ProductClass pc, const CrifRecord::RiskType rt, const std::string &qualifier, const std::string &bucket) const
std::set< CrifRecord >::const_iterator begin() const
std::set< CrifRecord::ProductClass > ProductClassesByNettingSetDetails(const NettingSetDetails nsd) const
std::vector< CrifRecord > filterByTradeId(const std::string &id) const
void addRecords(const Crif &crif, bool aggregateDifferentAmountCurrencies=false, bool sortFxVolQualfier=true)
Crif simmParameters() const
returns a Crif containing only simmParameter entries
const std::set< std::string > & portfolioIds() const
Give back the set of portfolio IDs that have been loaded.
std::set< CrifRecord >::const_iterator end() const
void addRecord(const CrifRecord &record, bool aggregateDifferentAmountCurrencies=false, bool sortFxVolQualifer=true)
size_t countMatching(const NettingSetDetails &nsd, const CrifRecord::ProductClass pc, const CrifRecord::RiskType rt, const std::string &qualifier) const
bool hasNettingSetDetails() const
Check if netting set details are used anywhere, instead of just the netting set ID.
const bool hasCrifRecords() const
check if there are crif records beside simmParameters
std::set< std::string > portfolioIds_
Set of portfolio IDs that have been loaded.
std::set< CrifRecord > records_
void insertCrifRecord(const CrifRecord &record, bool aggregateDifferentAmountCurrencies=false)
void fillAmountUsd(const QuantLib::ext::shared_ptr< ore::data::Market > market)
const bool hasSimmParameters() const
check if the Crif contains simmParameters
std::set< CrifRecord >::const_iterator findBy(const NettingSetDetails nsd, CrifRecord::ProductClass pc, const CrifRecord::RiskType rt, const std::string &qualifier) const
Find first element.
std::map< CrifRecord::SimmAmountCcyKey, const CrifRecord * > diffAmountCurrenciesIndex_
std::set< CrifRecord >::const_iterator find(const CrifRecord &r) const
std::vector< CrifRecord > filterBy(const NettingSetDetails &nsd, const CrifRecord::ProductClass pc, const CrifRecord::RiskType rt) const
void addSimmParameterRecord(const CrifRecord &record)
void setSimmParameters(const Crif &crif)
deletes all existing simmParameter and replaces them with the new one
void addSimmCrifRecord(const CrifRecord &record, bool aggregateDifferentAmountCurrencies=false, bool sortFxVolQualifer=true)
Struct for holding a CRIF record.
bool isSimmParameter() const
bool operator()(const CrifRecord &x)