Logo
Reference manual - version orea_version
CubeInterpretation Class Reference

Allow for interpretation of how data is stored within cube and AggregationScenarioData. More...

#include <orea/cube/cubeinterpretation.hpp>

Public Member Functions

 CubeInterpretation (const bool storeFlows, const bool withCloseOutLag, const bool withExerciseValue=false, const QuantLib::ext::shared_ptr< DateGrid > &dateGrid=nullptr, const Size storeCreditStateNPVs=0, const bool flipViewXVA=false)
bool storeFlows () const
 inspectors
bool withCloseOutLag () const
bool withExerciseValue () const
const QuantLib::ext::shared_ptr< DateGrid > & dateGrid () const
Size storeCreditStateNPVs () const
bool flipViewXVA () const
Size requiredNpvCubeDepth () const
 npv cube depth that is at least required to work with this interpretation
Size defaultDateNpvIndex () const
 indices in depth direction, might be Null<Size>() if not applicable
Size closeOutDateNpvIndex () const
Size exerciseValueIndex () const
Size mporFlowsIndex () const
Size creditStateNPVsIndex () const
Real getGenericValue (const QuantLib::ext::shared_ptr< NPVCube > &cube, Size tradeIdx, Size dateIdx, Size sampleIdx, Size depth) const
 Retrieve an arbitrary value from the Cube (user needs to know the precise location within depth axis).
Real getDefaultNpv (const QuantLib::ext::shared_ptr< NPVCube > &cube, Size tradeIdx, Size dateIdx, Size sampleIdx) const
 Retrieve the default date NPV from the Cube.
Real getCloseOutNpv (const QuantLib::ext::shared_ptr< NPVCube > &cube, Size tradeIdx, Size dateIdx, Size sampleIdx, const QuantLib::ext::shared_ptr< AggregationScenarioData > &data) const
 Retrieve the close-out date NPV from the Cube.
Real getExerciseValue (const QuantLib::ext::shared_ptr< NPVCube > &cube, Size tradeIdx, Size dateIdx, Size sampleIdx) const
 Retrieve the exerciseValue from the Cube.
Real getMporPositiveFlows (const QuantLib::ext::shared_ptr< NPVCube > &cube, Size tradeIdx, Size dateIdx, Size sampleIdx) const
 Retrieve the aggregate value of Margin Period of Risk positive cashflows from the Cube.
Real getMporNegativeFlows (const QuantLib::ext::shared_ptr< NPVCube > &cube, Size tradeIdx, Size dateIdx, Size sampleIdx) const
 Retrieve the aggregate value of Margin Period of Risk negative cashflows from the Cube.
Real getMporFlows (const QuantLib::ext::shared_ptr< NPVCube > &cube, Size tradeIdx, Size dateIdx, Size sampleIdx) const
 Retrieve the aggregate value of Margin Period of Risk cashflows from the Cube.
Real getDefaultAggregationScenarioData (const QuantLib::ext::shared_ptr< AggregationScenarioData > &data, const AggregationScenarioDataType &dataType, Size dateIdx, Size sampleIdx, const std::string &qualifier="") const
 Retrieve a (default date) simulated risk factor value from AggregationScenarioData.
Real getCloseOutAggregationScenarioData (const QuantLib::ext::shared_ptr< AggregationScenarioData > &data, const AggregationScenarioDataType &dataType, Size dateIdx, Size sampleIdx, const std::string &qualifier="") const
 Retrieve a (default date) simulated risk factor value from AggregationScenarioData.
Size getMporCalendarDays (const QuantLib::ext::shared_ptr< NPVCube > &cube, Size dateIdx) const
 Number of Calendar Days between a given default date and corresponding close-out date.

Detailed Description

Allow for interpretation of how data is stored within cube and AggregationScenarioData.