Logo
Reference manual - version orea_version
XvaAnalyticImpl Class Reference
Inheritance diagram for XvaAnalyticImpl:

Public Member Functions

 XvaAnalyticImpl (const QuantLib::ext::shared_ptr< InputParameters > &inputs, const QuantLib::ext::shared_ptr< Scenario > &offsetScenario=nullptr, const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &offsetSimMarketParams=nullptr)
virtual void runAnalytic (const QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > &loader, const std::set< std::string > &runTypes={}) override
void setUpConfigurations () override
void checkConfigurations (const QuantLib::ext::shared_ptr< Portfolio > &portfolio)
void applyConfigurationFallback (const QuantLib::ext::shared_ptr< Portfolio > &portfolio)
void setOffsetScenario (const QuantLib::ext::shared_ptr< Scenario > &offsetScenario)
void setOffsetSimMarketParams (const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &offsetSimMarketParams)
void buildDependencies () override
Public Member Functions inherited from Analytic::Impl
 Impl (const QuantLib::ext::shared_ptr< InputParameters > &inputs)
void initialise ()
const bool initialised ()
virtual void buildConfigurations ()
void setLabel (const string &label)
const std::string & label () const
void setAnalytic (Analytic *analytic)
Analyticanalytic () const
void setInputs (const QuantLib::ext::shared_ptr< InputParameters > &inputs)
bool generateAdditionalResults () const
void setGenerateAdditionalResults (const bool generateAdditionalResults)
bool hasDependentAnalytic (const std::string &key)
template<class T>
QuantLib::ext::shared_ptr< T > dependentAnalytic (const std::string &key) const
QuantLib::ext::shared_ptr< AnalyticdependentAnalytic (const std::string &key) const
const std::map< std::string, std::pair< QuantLib::ext::shared_ptr< Analytic >, bool > > & dependentAnalytics () const
void addDependentAnalytic (const std::string &key, const QuantLib::ext::shared_ptr< Analytic > &analytic, const bool incDependentReports=false)
std::vector< QuantLib::ext::shared_ptr< Analytic > > allDependentAnalytics () const
virtual std::vector< QuantLib::Date > additionalMarketDates () const

Static Public Attributes

static constexpr const char * LABEL = "XVA"
static constexpr const char * corrLookupKey = "CORRELATION"

Protected Member Functions

QuantLib::ext::shared_ptr< ore::data::EngineFactory > engineFactory () override
 build an engine factory
void buildScenarioSimMarket ()
void buildCrossAssetModel (bool continueOnError, bool allowModelFallbacks)
void buildScenarioGenerator (bool continueOnError, bool allowModelFallbacks)
void initCubeDepth ()
void initCube (QuantLib::ext::shared_ptr< NPVCube > &cube, const std::set< std::string > &ids, Size cubeDepth)
std::set< std::string > getNettingSetIds (const QuantLib::ext::shared_ptr< Portfolio > &portfolio) const
void initClassicRun (const QuantLib::ext::shared_ptr< Portfolio > &portfolio)
void buildClassicCube (const QuantLib::ext::shared_ptr< Portfolio > &portfolio)
QuantLib::ext::shared_ptr< Portfolio > classicRun (const QuantLib::ext::shared_ptr< Portfolio > &portfolio)
QuantLib::ext::shared_ptr< EngineFactory > amcEngineFactory (const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &cam, const std::vector< Date > &simDates, const std::vector< Date > &stickyCloseOutDates)
void buildAmcPortfolio ()
void amcRun (bool doClassicRun, bool continueOnCalibrationError, bool allowModelFallbacks)
void runPostProcessor ()
Matrix creditStateCorrelationMatrix () const
std::string mapRiskFactorToAssetType (RiskFactorKey::KeyType keyF)
void feedCorrelationToCAM (const std::map< std::pair< RiskFactorKey, RiskFactorKey >, Real > &corrData={})

Protected Attributes

QuantLib::ext::shared_ptr< ScenarioSimMarketsimMarket_
QuantLib::ext::shared_ptr< ScenarioSimMarketsimMarketCalibration_
QuantLib::ext::shared_ptr< ScenarioSimMarketoffsetSimMarket_
QuantLib::ext::shared_ptr< EngineFactory > engineFactory_
QuantLib::ext::shared_ptr< CrossAssetModel > model_
QuantLib::ext::shared_ptr< ScenarioGeneratorscenarioGenerator_
QuantLib::ext::shared_ptr< Portfolio > amcPortfolio_
QuantLib::ext::shared_ptr< Portfolio > classicPortfolio_
QuantLib::ext::shared_ptr< NPVCubecube_
QuantLib::ext::shared_ptr< NPVCubenettingSetCube_
QuantLib::ext::shared_ptr< NPVCubecptyCube_
QuantLib::ext::shared_ptr< NPVCubeamcCube_
QuantLib::ext::shared_ptr< AggregationScenarioDatascenarioData_
QuantLib::ext::shared_ptr< CubeInterpretationcubeInterpreter_
QuantLib::ext::shared_ptr< DynamicInitialMarginCalculatordimCalculator_
QuantLib::ext::shared_ptr< PostProcesspostProcess_
QuantLib::ext::shared_ptr< ScenariooffsetScenario_
QuantLib::ext::shared_ptr< ScenarioSimMarketParametersoffsetSimMarketParams_
QuantLib::ext::shared_ptr< SensitivityStorageManagersensitivityStorageManager_
Size cubeDepth_ = 0
QuantLib::ext::shared_ptr< DateGrid > grid_
Size samples_ = 0
bool runSimulation_ = false
bool runXva_ = false
bool runPFE_ = false
Protected Attributes inherited from Analytic::Impl
QuantLib::ext::shared_ptr< InputParametersinputs_
std::string label_
 label for logging purposes primarily
std::map< std::string, std::pair< QuantLib::ext::shared_ptr< Analytic >, bool > > dependentAnalytics_
 map to dependent analytics, holds a bool if we want to report intermeditate reports

Member Function Documentation

◆ runAnalytic()

virtual void runAnalytic ( const QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > & loader,
const std::set< std::string > & runTypes = {} )
overridevirtual

Implements Analytic::Impl.

◆ setUpConfigurations()

void setUpConfigurations ( )
overridevirtual

Reimplemented from Analytic::Impl.

◆ buildDependencies()

void buildDependencies ( )
overridevirtual

Reimplemented from Analytic::Impl.

◆ engineFactory()

QuantLib::ext::shared_ptr< ore::data::EngineFactory > engineFactory ( )
overrideprotectedvirtual

build an engine factory

Reimplemented from Analytic::Impl.