XVA Calculator base class. More...
#include <orea/aggregation/exposurecalculator.hpp>
Collaboration diagram for ExposureCalculator: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.
Here is the call graph for this function:
|
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.
Here is the call graph for this function:| 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.
Here is the call graph for this function:
Here is the caller graph for this function:| vector< Real > ene | ( | const string & | tid | ) |
Definition at line 113 of file exposurecalculator.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:| 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.
Here is the call graph for this function:
Here is the caller graph for this function:| 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.