XVA Calculator base class. More...
#include <orea/aggregation/exposurecalculator.hpp>
Public Types | |
enum | ExposureIndex { EPE = 0 , ENE , allocatedEPE , allocatedENE } |
Public Member Functions | |
ExposureCalculator (const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const QuantLib::ext::shared_ptr< NPVCube > &cube, const QuantLib::ext::shared_ptr< CubeInterpretation > cubeInterpretation, const QuantLib::ext::shared_ptr< Market > &market, const bool exerciseNextBreak, const string &baseCurrency, const string &configuration, const Real quantile, const CollateralExposureHelper::CalculationType calcType, const bool multiPath, const bool flipViewXVA) | |
virtual | ~ExposureCalculator () |
virtual void | build () |
Compute exposures along all paths and fill result structures. More... | |
QuantLib::ext::shared_ptr< Portfolio > | portfolio () |
QuantLib::ext::shared_ptr< NPVCube > | npvCube () |
QuantLib::ext::shared_ptr< CubeInterpretation > | cubeInterpretation () |
QuantLib::ext::shared_ptr< Market > | market () |
bool | exerciseNextBreak () |
string | baseCurrency () |
string | configuration () |
Real | quantile () |
CollateralExposureHelper::CalculationType | calcType () |
bool | isRegularCubeStorage () |
bool | multiPath () |
vector< Date > | dates () |
Date | today () |
DayCounter | dc () |
vector< string > | nettingSetIds () |
map< string, Real > | nettingSetValueToday () |
map< string, Date > | nettingSetMaturity () |
vector< Real > | times () |
const QuantLib::ext::shared_ptr< NPVCube > & | exposureCube () |
const map< string, vector< vector< Real > > > & | nettingSetDefaultValue () |
const map< string, vector< vector< Real > > > & | nettingSetCloseOutValue () |
const map< string, vector< vector< Real > > > & | nettingSetMporPositiveFlow () |
const map< string, vector< vector< Real > > > & | nettingSetMporNegativeFlow () |
vector< Real > | epe (const string &tid) |
vector< Real > | ene (const string &tid) |
vector< Real > | allocatedEpe (const string &tid) |
vector< Real > | allocatedEne (const string &tid) |
vector< Real > & | ee_b (const string &tid) |
vector< Real > & | eee_b (const string &tid) |
vector< Real > & | pfe (const string &tid) |
Real & | epe_b (const string &tid) |
Real & | eepe_b (const string &tid) |
Public Attributes | |
const Size | EXPOSURE_CUBE_DEPTH = 4 |
Protected Member Functions | |
vector< Real > | getMeanExposure (const string &tid, ExposureIndex index) |
Protected Attributes | |
const QuantLib::ext::shared_ptr< Portfolio > | portfolio_ |
const QuantLib::ext::shared_ptr< NPVCube > | cube_ |
const QuantLib::ext::shared_ptr< CubeInterpretation > | cubeInterpretation_ |
const QuantLib::ext::shared_ptr< Market > | market_ |
const bool | exerciseNextBreak_ |
const string | baseCurrency_ |
const string | configuration_ |
const Real | quantile_ |
const CollateralExposureHelper::CalculationType | calcType_ |
const bool | multiPath_ |
bool | isRegularCubeStorage_ |
vector< Date > | dates_ |
const Date | today_ |
const DayCounter | dc_ |
vector< string > | nettingSetIds_ |
map< string, Real > | nettingSetValueToday_ |
map< string, Date > | nettingSetMaturity_ |
vector< Real > | times_ |
QuantLib::ext::shared_ptr< NPVCube > | exposureCube_ |
map< string, vector< vector< Real > > > | nettingSetDefaultValue_ |
map< string, vector< vector< Real > > > | nettingSetCloseOutValue_ |
map< string, vector< vector< Real > > > | nettingSetMporPositiveFlow_ |
map< string, vector< vector< Real > > > | nettingSetMporNegativeFlow_ |
map< string, std::vector< Real > > | ee_b_ |
map< string, std::vector< Real > > | eee_b_ |
map< string, std::vector< Real > > | pfe_ |
map< string, Real > | epe_b_ |
map< string, Real > | eepe_b_ |
bool | flipViewXVA_ |
XVA Calculator base class.
Derived classes implement a constructor with the relevant additional input data and a build function that performs the XVA calculations for all netting sets and along all paths.
Definition at line 46 of file exposurecalculator.hpp.
enum ExposureIndex |
Enumerator | |
---|---|
EPE | |
ENE | |
allocatedEPE | |
allocatedENE |
Definition at line 78 of file exposurecalculator.hpp.
ExposureCalculator | ( | const QuantLib::ext::shared_ptr< Portfolio > & | portfolio, |
const QuantLib::ext::shared_ptr< NPVCube > & | cube, | ||
const QuantLib::ext::shared_ptr< CubeInterpretation > | cubeInterpretation, | ||
const QuantLib::ext::shared_ptr< Market > & | market, | ||
const bool | exerciseNextBreak, | ||
const string & | baseCurrency, | ||
const string & | configuration, | ||
const Real | quantile, | ||
const CollateralExposureHelper::CalculationType | calcType, | ||
const bool | multiPath, | ||
const bool | flipViewXVA | ||
) |
portfolio | Driving portfolio consistent with the cube below |
cube | NPV cube resulting from the Monte Carlo simulation loop |
cubeInterpretation | Interpreter for cube storage (where to find which data items) |
market | Market data object to access e.g. discounting and funding curves |
exerciseNextBreak | Flag to indicate exposure termination at the next break date |
baseCurrency | Expression currency for all results |
configuration | Market configuration to use |
quantile | Quantile for Potential Future Exposure output |
calcType | Collateral calculation type to be used, see class CollateralExposureHelper |
multiPath | Flag to indicate exposure evaluation with dynamic credit |
flipViewXVA | Flag to indicate flipped xva calculation |
Definition at line 33 of file exposurecalculator.cpp.
|
virtual |
Definition at line 73 of file exposurecalculator.hpp.
|
virtual |
Compute exposures along all paths and fill result structures.
Definition at line 71 of file exposurecalculator.cpp.
QuantLib::ext::shared_ptr< Portfolio > portfolio | ( | ) |
QuantLib::ext::shared_ptr< NPVCube > npvCube | ( | ) |
Definition at line 87 of file exposurecalculator.hpp.
QuantLib::ext::shared_ptr< CubeInterpretation > cubeInterpretation | ( | ) |
Definition at line 88 of file exposurecalculator.hpp.
QuantLib::ext::shared_ptr< Market > market | ( | ) |
bool exerciseNextBreak | ( | ) |
Definition at line 90 of file exposurecalculator.hpp.
string baseCurrency | ( | ) |
Definition at line 91 of file exposurecalculator.hpp.
string configuration | ( | ) |
Definition at line 92 of file exposurecalculator.hpp.
Real quantile | ( | ) |
Definition at line 93 of file exposurecalculator.hpp.
CollateralExposureHelper::CalculationType calcType | ( | ) |
Definition at line 94 of file exposurecalculator.hpp.
bool isRegularCubeStorage | ( | ) |
Definition at line 95 of file exposurecalculator.hpp.
bool multiPath | ( | ) |
vector< Date > dates | ( | ) |
Date today | ( | ) |
DayCounter dc | ( | ) |
Definition at line 100 of file exposurecalculator.hpp.
vector< string > nettingSetIds | ( | ) |
Definition at line 101 of file exposurecalculator.hpp.
map< string, Real > nettingSetValueToday | ( | ) |
Definition at line 102 of file exposurecalculator.hpp.
map< string, Date > nettingSetMaturity | ( | ) |
Definition at line 103 of file exposurecalculator.hpp.
vector< Real > times | ( | ) |
Definition at line 104 of file exposurecalculator.hpp.
const QuantLib::ext::shared_ptr< NPVCube > & exposureCube | ( | ) |
Definition at line 106 of file exposurecalculator.hpp.
const map< string, vector< vector< Real > > > & nettingSetDefaultValue | ( | ) |
Definition at line 107 of file exposurecalculator.hpp.
const map< string, vector< vector< Real > > > & nettingSetCloseOutValue | ( | ) |
Definition at line 108 of file exposurecalculator.hpp.
const map< string, vector< vector< Real > > > & nettingSetMporPositiveFlow | ( | ) |
Definition at line 109 of file exposurecalculator.hpp.
const map< string, vector< vector< Real > > > & nettingSetMporNegativeFlow | ( | ) |
Definition at line 110 of file exposurecalculator.hpp.
vector< Real > epe | ( | const string & | tid | ) |
Definition at line 112 of file exposurecalculator.hpp.
vector< Real > ene | ( | const string & | tid | ) |
Definition at line 113 of file exposurecalculator.hpp.
vector< Real > allocatedEpe | ( | const string & | tid | ) |
vector< Real > allocatedEne | ( | const string & | tid | ) |
vector< Real > & ee_b | ( | const string & | tid | ) |
vector< Real > & eee_b | ( | const string & | tid | ) |
vector< Real > & pfe | ( | const string & | tid | ) |
Real & epe_b | ( | const string & | tid | ) |
Real & eepe_b | ( | const string & | tid | ) |
|
protected |
Definition at line 218 of file exposurecalculator.cpp.
const Size EXPOSURE_CUBE_DEPTH = 4 |
Definition at line 84 of file exposurecalculator.hpp.
|
protected |
Definition at line 123 of file exposurecalculator.hpp.
|
protected |
Definition at line 124 of file exposurecalculator.hpp.
|
protected |
Definition at line 125 of file exposurecalculator.hpp.
|
protected |
Definition at line 126 of file exposurecalculator.hpp.
|
protected |
Definition at line 127 of file exposurecalculator.hpp.
|
protected |
Definition at line 128 of file exposurecalculator.hpp.
|
protected |
Definition at line 129 of file exposurecalculator.hpp.
|
protected |
Definition at line 130 of file exposurecalculator.hpp.
|
protected |
Definition at line 131 of file exposurecalculator.hpp.
|
protected |
Definition at line 132 of file exposurecalculator.hpp.
|
protected |
Definition at line 133 of file exposurecalculator.hpp.
|
protected |
Definition at line 135 of file exposurecalculator.hpp.
|
protected |
Definition at line 136 of file exposurecalculator.hpp.
|
protected |
Definition at line 137 of file exposurecalculator.hpp.
|
protected |
Definition at line 138 of file exposurecalculator.hpp.
|
protected |
Definition at line 139 of file exposurecalculator.hpp.
|
protected |
Definition at line 140 of file exposurecalculator.hpp.
|
protected |
Definition at line 141 of file exposurecalculator.hpp.
|
protected |
Definition at line 143 of file exposurecalculator.hpp.
|
protected |
Definition at line 144 of file exposurecalculator.hpp.
|
protected |
Definition at line 144 of file exposurecalculator.hpp.
|
protected |
Definition at line 145 of file exposurecalculator.hpp.
|
protected |
Definition at line 145 of file exposurecalculator.hpp.
|
protected |
Definition at line 147 of file exposurecalculator.hpp.
|
protected |
Definition at line 148 of file exposurecalculator.hpp.
|
protected |
Definition at line 149 of file exposurecalculator.hpp.
|
protected |
Definition at line 150 of file exposurecalculator.hpp.
|
protected |
Definition at line 151 of file exposurecalculator.hpp.
|
protected |
Definition at line 153 of file exposurecalculator.hpp.