#include <orea/app/xvarunner.hpp>
Public Member Functions | |
virtual | ~XvaRunner () |
XvaRunner (const QuantLib::ext::shared_ptr< InputParameters > &inputs, QuantLib::Date asof, const std::string &baseCurrency, const QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio, const QuantLib::ext::shared_ptr< ore::data::NettingSetManager > &netting, const QuantLib::ext::shared_ptr< ore::data::CollateralBalances > &collateralBalances, const QuantLib::ext::shared_ptr< ore::data::EngineData > &engineData, const QuantLib::ext::shared_ptr< ore::data::CurveConfigurations > &curveConfigs, const QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > &todaysMarketParams, const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &simMarketData, const QuantLib::ext::shared_ptr< ScenarioGeneratorData > &scenarioGeneratorData, const QuantLib::ext::shared_ptr< ore::data::CrossAssetModelData > &crossAssetModelData, const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const IborFallbackConfig &iborFallbackConfig=IborFallbackConfig::defaultConfig(), QuantLib::Real dimQuantile=0.99, QuantLib::Size dimHorizonCalendarDays=14, map< string, bool > analytics={}, string calculationType="Symmetric", string dvaName="", string fvaBorrowingCurve="", string fvaLendingCurve="", bool fullInitialCollateralisation=true, bool storeFlows=false) | |
void | runXva (const QuantLib::ext::shared_ptr< ore::data::Market > &market, bool continueOnErr=true, const std::map< std::string, QuantLib::Real > ¤tIM=std::map< std::string, QuantLib::Real >()) |
const QuantLib::ext::shared_ptr< PostProcess > & | postProcess () |
void | buildCamModel (const QuantLib::ext::shared_ptr< ore::data::Market > &market, bool continueOnErr=true) |
void | bufferSimulationPaths () |
virtual void | buildSimMarket (const QuantLib::ext::shared_ptr< ore::data::Market > &market, const boost::optional< std::set< std::string > > ¤cyFilter=boost::none, const bool continueOnErr=true) |
void | buildCube (const boost::optional< std::set< std::string > > &tradeIds, bool continueOnErr=true) |
QuantLib::ext::shared_ptr< NPVCube > | npvCube () const |
QuantLib::ext::shared_ptr< NPVCube > | nettingCube () const |
QuantLib::Handle< AggregationScenarioData > | aggregationScenarioData () |
void | generatePostProcessor (const QuantLib::ext::shared_ptr< Market > &market, const QuantLib::ext::shared_ptr< NPVCube > &npvCube, const QuantLib::ext::shared_ptr< NPVCube > &nettingCube, const QuantLib::ext::shared_ptr< AggregationScenarioData > &scenarioData, const bool continueOnErr=true, const std::map< std::string, QuantLib::Real > ¤tIM=std::map< std::string, QuantLib::Real >()) |
std::set< std::string > | getNettingSetIds (const QuantLib::ext::shared_ptr< Portfolio > &portfolio=nullptr) const |
Protected Member Functions | |
virtual QuantLib::ext::shared_ptr< NPVCube > | getNettingSetCube (std::vector< QuantLib::ext::shared_ptr< ValuationCalculator > > &calculators, const QuantLib::ext::shared_ptr< Portfolio > &portfolio) |
virtual QuantLib::ext::shared_ptr< NPVCube > | getNpvCube (const Date &asof, const std::set< std::string > &ids, const std::vector< Date > &dates, const Size samples, const Size depth) const |
virtual QuantLib::ext::shared_ptr< DynamicInitialMarginCalculator > | getDimCalculator (const QuantLib::ext::shared_ptr< NPVCube > &cube, const QuantLib::ext::shared_ptr< CubeInterpretation > &cubeInterpreter, const QuantLib::ext::shared_ptr< AggregationScenarioData > &scenarioData, const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &model=nullptr, const QuantLib::ext::shared_ptr< NPVCube > &nettingCube=nullptr, const std::map< std::string, QuantLib::Real > ¤tIM=std::map< std::string, QuantLib::Real >()) |
virtual QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > | projectSsmData (const std::set< std::string > ¤cyFilter) const |
virtual QuantLib::ext::shared_ptr< ore::analytics::ScenarioGenerator > | getProjectedScenarioGenerator (const boost::optional< std::set< std::string > > ¤cyFilter, const QuantLib::ext::shared_ptr< Market > &market, const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &projectedSsmData, const QuantLib::ext::shared_ptr< ScenarioFactory > &scenarioFactory, const bool continueOnErr) const |
Definition at line 39 of file xvarunner.hpp.
|
virtual |
Definition at line 41 of file xvarunner.hpp.
XvaRunner | ( | const QuantLib::ext::shared_ptr< InputParameters > & | inputs, |
QuantLib::Date | asof, | ||
const std::string & | baseCurrency, | ||
const QuantLib::ext::shared_ptr< ore::data::Portfolio > & | portfolio, | ||
const QuantLib::ext::shared_ptr< ore::data::NettingSetManager > & | netting, | ||
const QuantLib::ext::shared_ptr< ore::data::CollateralBalances > & | collateralBalances, | ||
const QuantLib::ext::shared_ptr< ore::data::EngineData > & | engineData, | ||
const QuantLib::ext::shared_ptr< ore::data::CurveConfigurations > & | curveConfigs, | ||
const QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > & | todaysMarketParams, | ||
const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > & | simMarketData, | ||
const QuantLib::ext::shared_ptr< ScenarioGeneratorData > & | scenarioGeneratorData, | ||
const QuantLib::ext::shared_ptr< ore::data::CrossAssetModelData > & | crossAssetModelData, | ||
const QuantLib::ext::shared_ptr< ReferenceDataManager > & | referenceData = nullptr , |
||
const IborFallbackConfig & | iborFallbackConfig = IborFallbackConfig::defaultConfig() , |
||
QuantLib::Real | dimQuantile = 0.99 , |
||
QuantLib::Size | dimHorizonCalendarDays = 14 , |
||
map< string, bool > | analytics = {} , |
||
string | calculationType = "Symmetric" , |
||
string | dvaName = "" , |
||
string | fvaBorrowingCurve = "" , |
||
string | fvaLendingCurve = "" , |
||
bool | fullInitialCollateralisation = true , |
||
bool | storeFlows = false |
||
) |
Definition at line 34 of file xvarunner.cpp.
void runXva | ( | const QuantLib::ext::shared_ptr< ore::data::Market > & | market, |
bool | continueOnErr = true , |
||
const std::map< std::string, QuantLib::Real > & | currentIM = std::map<std::string, QuantLib::Real>() |
||
) |
Definition at line 249 of file xvarunner.cpp.
const QuantLib::ext::shared_ptr< PostProcess > & postProcess | ( | ) |
Definition at line 66 of file xvarunner.hpp.
void buildCamModel | ( | const QuantLib::ext::shared_ptr< ore::data::Market > & | market, |
bool | continueOnErr = true |
||
) |
Definition at line 82 of file xvarunner.cpp.
void bufferSimulationPaths | ( | ) |
Definition at line 94 of file xvarunner.cpp.
|
virtual |
Definition at line 122 of file xvarunner.cpp.
void buildCube | ( | const boost::optional< std::set< std::string > > & | tradeIds, |
bool | continueOnErr = true |
||
) |
Definition at line 156 of file xvarunner.cpp.
QuantLib::ext::shared_ptr< NPVCube > npvCube | ( | ) | const |
QuantLib::ext::shared_ptr< NPVCube > nettingCube | ( | ) | const |
QuantLib::Handle< AggregationScenarioData > aggregationScenarioData | ( | ) |
void generatePostProcessor | ( | const QuantLib::ext::shared_ptr< Market > & | market, |
const QuantLib::ext::shared_ptr< NPVCube > & | npvCube, | ||
const QuantLib::ext::shared_ptr< NPVCube > & | nettingCube, | ||
const QuantLib::ext::shared_ptr< AggregationScenarioData > & | scenarioData, | ||
const bool | continueOnErr = true , |
||
const std::map< std::string, QuantLib::Real > & | currentIM = std::map<std::string, QuantLib::Real>() |
||
) |
Definition at line 228 of file xvarunner.cpp.
std::set< std::string > getNettingSetIds | ( | const QuantLib::ext::shared_ptr< Portfolio > & | portfolio = nullptr | ) | const |
Definition at line 279 of file xvarunner.cpp.
|
protectedvirtual |
Definition at line 104 of file xvarunner.hpp.
|
protectedvirtual |
Definition at line 287 of file xvarunner.cpp.
|
protectedvirtual |
Definition at line 260 of file xvarunner.cpp.
|
protectedvirtual |
Definition at line 67 of file xvarunner.cpp.
|
protectedvirtual |
Definition at line 72 of file xvarunner.cpp.
|
protected |
Definition at line 129 of file xvarunner.hpp.
|
protected |
Definition at line 130 of file xvarunner.hpp.
|
protected |
Definition at line 131 of file xvarunner.hpp.
|
protected |
Definition at line 132 of file xvarunner.hpp.
|
protected |
Definition at line 133 of file xvarunner.hpp.
|
protected |
Definition at line 134 of file xvarunner.hpp.
|
protected |
Definition at line 135 of file xvarunner.hpp.
|
protected |
Definition at line 136 of file xvarunner.hpp.
|
protected |
Definition at line 137 of file xvarunner.hpp.
|
protected |
Definition at line 138 of file xvarunner.hpp.
|
protected |
Definition at line 139 of file xvarunner.hpp.
|
protected |
Definition at line 140 of file xvarunner.hpp.
|
protected |
Definition at line 141 of file xvarunner.hpp.
|
protected |
Definition at line 142 of file xvarunner.hpp.
|
protected |
Definition at line 143 of file xvarunner.hpp.
|
protected |
Definition at line 144 of file xvarunner.hpp.
|
protected |
Definition at line 145 of file xvarunner.hpp.
|
protected |
Definition at line 146 of file xvarunner.hpp.
|
protected |
Definition at line 147 of file xvarunner.hpp.
|
protected |
Definition at line 148 of file xvarunner.hpp.
|
protected |
Definition at line 149 of file xvarunner.hpp.
|
protected |
Definition at line 150 of file xvarunner.hpp.
|
protected |
Definition at line 151 of file xvarunner.hpp.
|
protected |
Definition at line 154 of file xvarunner.hpp.
|
protected |
Definition at line 155 of file xvarunner.hpp.
|
protected |
Definition at line 156 of file xvarunner.hpp.
|
protected |
Definition at line 157 of file xvarunner.hpp.
|
protected |
Definition at line 158 of file xvarunner.hpp.
|
protected |
Definition at line 158 of file xvarunner.hpp.
|
protected |
Definition at line 159 of file xvarunner.hpp.
|
protected |
Definition at line 160 of file xvarunner.hpp.
|
protected |
Definition at line 161 of file xvarunner.hpp.
|
protected |
Definition at line 163 of file xvarunner.hpp.