Exposure allocator base class. More...
#include <orea/aggregation/exposureallocator.hpp>
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) | |
const QuantLib::ext::shared_ptr< NPVCube > & | exposureCube () |
virtual void | build () |
Compute exposures along all paths and fill result structures. | |
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.