Exposure allocator base class. More...
#include <orea/aggregation/exposureallocator.hpp>
Inheritance diagram for ExposureAllocator:
Collaboration diagram for ExposureAllocator:Public Types | |
| enum class | AllocationMethod { None , Marginal , RelativeFairValueGross , RelativeFairValueNet , RelativeXVA } |
Public Member Functions | |
| ExposureAllocator (const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const QuantLib::ext::shared_ptr< NPVCube > &tradeExposureCube, const QuantLib::ext::shared_ptr< NPVCube > &nettedExposureCube, const Size allocatedTradeEpeIndex=2, const Size allocatedTradeEneIndex=3, const Size tradeEpeIndex=0, const Size tradeEneIndex=1, const Size nettingSetEpeIndex=1, const Size nettingSetEneIndex=2) | |
| virtual | ~ExposureAllocator () |
| const QuantLib::ext::shared_ptr< NPVCube > & | exposureCube () |
| virtual void | build () |
| Compute exposures along all paths and fill result structures. More... | |
Protected Member Functions | |
| virtual Real | calculateAllocatedEpe (const string &tid, const string &nid, const Date &date, const Size sample)=0 |
| virtual Real | calculateAllocatedEne (const string &tid, const string &nid, const Date &date, const Size sample)=0 |
Protected Attributes | |
| QuantLib::ext::shared_ptr< Portfolio > | portfolio_ |
| QuantLib::ext::shared_ptr< NPVCube > | tradeExposureCube_ |
| QuantLib::ext::shared_ptr< NPVCube > | nettedExposureCube_ |
| Size | tradeEpeIndex_ |
| Size | tradeEneIndex_ |
| Size | allocatedTradeEpeIndex_ |
| Size | allocatedTradeEneIndex_ |
| Size | nettingSetEpeIndex_ |
| Size | nettingSetEneIndex_ |
| map< string, Real > | nettingSetValueToday_ |
| map< string, Real > | nettingSetPositiveValueToday_ |
| map< string, Real > | nettingSetNegativeValueToday_ |
Exposure allocator 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 42 of file exposureallocator.hpp.
|
strong |
| Enumerator | |
|---|---|
| None | |
| Marginal | |
| RelativeFairValueGross | |
| RelativeFairValueNet | |
| RelativeXVA | |
Definition at line 45 of file exposureallocator.hpp.
| ExposureAllocator | ( | const QuantLib::ext::shared_ptr< Portfolio > & | portfolio, |
| const QuantLib::ext::shared_ptr< NPVCube > & | tradeExposureCube, | ||
| const QuantLib::ext::shared_ptr< NPVCube > & | nettedExposureCube, | ||
| const Size | allocatedTradeEpeIndex = 2, |
||
| const Size | allocatedTradeEneIndex = 3, |
||
| const Size | tradeEpeIndex = 0, |
||
| const Size | tradeEneIndex = 1, |
||
| const Size | nettingSetEpeIndex = 1, |
||
| const Size | nettingSetEneIndex = 2 |
||
| ) |
Definition at line 30 of file exposureallocator.cpp.
|
virtual |
Definition at line 61 of file exposureallocator.hpp.
| const QuantLib::ext::shared_ptr< NPVCube > & exposureCube | ( | ) |
Definition at line 62 of file exposureallocator.hpp.
|
virtual |
Compute exposures along all paths and fill result structures.
Definition at line 43 of file exposureallocator.cpp.
Here is the call graph for this function:
|
protectedpure virtual |
Implemented in RelativeFairValueNetExposureAllocator, RelativeFairValueGrossExposureAllocator, RelativeXvaExposureAllocator, and NoneExposureAllocator.
Here is the caller graph for this function:
|
protectedpure virtual |
Implemented in RelativeFairValueNetExposureAllocator, RelativeFairValueGrossExposureAllocator, RelativeXvaExposureAllocator, and NoneExposureAllocator.
Here is the caller graph for this function:
|
protected |
Definition at line 70 of file exposureallocator.hpp.
|
protected |
Definition at line 71 of file exposureallocator.hpp.
|
protected |
Definition at line 72 of file exposureallocator.hpp.
|
protected |
Definition at line 73 of file exposureallocator.hpp.
|
protected |
Definition at line 74 of file exposureallocator.hpp.
|
protected |
Definition at line 75 of file exposureallocator.hpp.
|
protected |
Definition at line 76 of file exposureallocator.hpp.
|
protected |
Definition at line 77 of file exposureallocator.hpp.
|
protected |
Definition at line 78 of file exposureallocator.hpp.
|
protected |
Definition at line 79 of file exposureallocator.hpp.
|
protected |
Definition at line 79 of file exposureallocator.hpp.
|
protected |
Definition at line 79 of file exposureallocator.hpp.