Logo
Reference manual - version orea_version
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
CrifRecord Struct Reference

#include <orea/simm/crifrecord.hpp>

Public Member Functions

 CrifRecord (std::string tradeId, std::string tradeType, NettingSetDetails nettingSetDetails, SimmConfiguration::ProductClass productClass, SimmConfiguration::RiskType riskType, std::string qualifier, std::string bucket, std::string label1, std::string label2, std::string amountCurrency, QuantLib::Real amount, QuantLib::Real amountUsd, std::string imModel="", std::string collectRegulations="", std::string postRegulations="", std::string endDate="", std::map< std::string, std::string > additionalFields={})
 
 CrifRecord (std::string tradeId, std::string tradeType, std::string portfolioId, SimmConfiguration::ProductClass productClass, SimmConfiguration::RiskType riskType, std::string qualifier, std::string bucket, std::string label1, std::string label2, std::string amountCurrency, QuantLib::Real amount, QuantLib::Real amountUsd, std::string imModel="", std::string collectRegulations="", std::string postRegulations="", std::string endDate="", std::map< std::string, std::string > additionalFields={})
 
bool hasAmountCcy () const
 
bool hasAmount () const
 
bool hasAmountUsd () const
 
bool hasResultCcy () const
 
bool hasAmountResultCcy () const
 
bool requiresAmountUsd () const
 
bool isSimmParameter () const
 
bool operator< (const CrifRecord &cr) const
 Define how CRIF records are compared.
 
bool operator== (const CrifRecord &cr) const
 

Static Public Member Functions

static bool amountCcyLTCompare (const CrifRecord &cr1, const CrifRecord &cr2)
 
static bool amountCcyEQCompare (const CrifRecord &cr1, const CrifRecord &cr2)
 

Public Attributes

std::string tradeId
 
std::string portfolioId
 
SimmConfiguration::ProductClass productClass = SimmConfiguration::ProductClass::Empty
 
SimmConfiguration::RiskType riskType = SimmConfiguration::RiskType::Notional
 
std::string qualifier
 
std::string bucket
 
std::string label1
 
std::string label2
 
std::string amountCurrency
 
QuantLib::Real amount = QuantLib::Null<QuantLib::Real>()
 
QuantLib::Real amountUsd = QuantLib::Null<QuantLib::Real>()
 
std::string resultCurrency
 
QuantLib::Real amountResultCcy = QuantLib::Null<QuantLib::Real>()
 
std::string tradeType
 
std::string agreementType
 
std::string callType
 
std::string initialMarginType
 
std::string legalEntityId
 
NettingSetDetails nettingSetDetails
 
std::string imModel
 
std::string collectRegulations
 
std::string postRegulations
 
std::string endDate
 
std::map< std::string, std::string > additionalFields
 

Static Public Attributes

static std::map< QuantLib::Size, std::set< std::string > > additionalHeaders
 

Detailed Description

A container for holding single CRIF records or aggregated CRIF records. A CRIF record is a row of the CRIF file outlined in the document: ISDA SIMM Methodology, Risk Data Standards. Version 1.36: 1 February 2017. or an updated version thereof.