Logo
Reference manual - version orea_version
SaccrCalculator Class Reference

Compute derivative capital charge according to SA-CCR rules. More...

#include <orea/engine/saccrcalculator.hpp>

Public Types

enum class  ReportType { Summary }
typedef std::pair< NettingSetDetails, SaccrTradeData::AssetClass > AssetClassKey
typedef std::tuple< NettingSetDetails, SaccrTradeData::AssetClass, std::string > HedgingSetKey
typedef std::tuple< NettingSetDetails, SaccrTradeData::AssetClass, std::string, std::string > HedgingSubsetKey

Public Member Functions

 SaccrCalculator (const QuantLib::ext::shared_ptr< Crif > &capitalCrif, const QuantLib::ext::shared_ptr< SaccrTradeData > &saccrTradeData, const std::string &baseCurrency, const QuantLib::ext::shared_ptr< NettingSetManager > &nettingSetManager, const QuantLib::ext::shared_ptr< ore::data::CounterpartyManager > &counterpartyManager, const QuantLib::ext::shared_ptr< Market > &market, const std::map< ReportType, QuantLib::ext::shared_ptr< ore::data::Report > > &outReports={})
const QuantLib::ext::shared_ptr< SaccrTradeData > & saccrTradeData () const
const QuantLib::ext::shared_ptr< NettingSetManager > & nettingSetManager () const
const QuantLib::ext::shared_ptr< CounterpartyManager > & counterpartyManager () const
const QuantLib::ext::shared_ptr< Market > & market () const
const vector< NettingSetDetails > & nettingSetDetails () const
const std::set< SaccrTradeData::AssetClass > & assetClasses (NettingSetDetails nettingSetDetails) const
const vector< string > & hedgingSets (NettingSetDetails nettingSetDetails, SaccrTradeData::AssetClass assetClass) const
Real NPV () const
Real EAD (NettingSetDetails nettingSetDetails) const
Real EAD (string nettingSet) const
Real RW (NettingSetDetails nettingSetDetails) const
Real CC () const
Real CC (NettingSetDetails nettingSetDetails) const
Real RC (NettingSetDetails nettingSetDetails) const
Real PFE (NettingSetDetails nettingSetDetails) const
Real multiplier (NettingSetDetails nettingSetDetails) const
Real addOn (NettingSetDetails nettingSetDetails) const
Real NPV (NettingSetDetails nettingSetDetails) const
Real addOn (NettingSetDetails nettingSetDetails, SaccrTradeData::AssetClass assetClass) const
Real addOn (NettingSetDetails nettingSetDetails, SaccrTradeData::AssetClass assetClass, string hedgingSet) const

Detailed Description

Compute derivative capital charge according to SA-CCR rules.