Logo
Reference manual - version orea_version
VarReport Class Referenceabstract
Inheritance diagram for VarReport:

Public Member Functions

 VarReport (const std::string &baseCurrency, const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const std::string &portfolioFilter, const vector< Real > &p, QuantLib::ext::optional< ore::data::TimePeriod > period, const QuantLib::ext::shared_ptr< HistoricalScenarioGenerator > &hisScenGen=nullptr, std::unique_ptr< SensiRunArgs > sensiArgs=nullptr, std::unique_ptr< FullRevalArgs > fullRevalArgs=nullptr, const bool breakdown=false)
void createReports (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &reports) override
virtual void createAdditionalReports (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &reports)
const std::vector< Real > & p () const
Public Member Functions inherited from MarketRiskReport
 MarketRiskReport (const std::string &calculationCurrency, const QuantLib::ext::shared_ptr< Portfolio > &portfolio, const std::string &portfolioFilter, QuantLib::ext::optional< ore::data::TimePeriod > period, const QuantLib::ext::shared_ptr< HistoricalScenarioGenerator > &hisScenGen=nullptr, std::unique_ptr< SensiRunArgs > sensiArgs=nullptr, std::unique_ptr< FullRevalArgs > fullRevalArgs=nullptr, std::unique_ptr< MultiThreadArgs > multiThreadArgs=nullptr, const bool breakdown=false, const bool requireTradePnl=false, const bool requireRiskFactorPnl=false)
virtual void initialise ()
void initSimMarket ()
 Method to init simMarket_ for multi-threaded ctors.
virtual void calculate (const QuantLib::ext::shared_ptr< Reports > &report)
void enableCubeWrite (const std::string &cubeDir, const std::string &cubeFilename)

Protected Member Functions

virtual void writeHeader (const QuantLib::ext::shared_ptr< Report > &report) const =0
virtual std::vector< Real > calcVarsForQuantiles () const =0
virtual void createVarCalculator ()=0
void writeReports (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &report, const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup, const QuantLib::ext::shared_ptr< TradeGroupBase > &tradeGroup) override
virtual void writeAdditionalReports (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &reports, const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup, const QuantLib::ext::shared_ptr< TradeGroupBase > &tradeGroup)
std::vector< ore::data::TimePeriod > timePeriods () override
Protected Member Functions inherited from MarketRiskReport
virtual void initialiseRiskGroups ()
 Method for shared initialisation.
virtual void registerProgressIndicators ()
virtual bool runTradeDetail (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &reports)
virtual bool runRiskFactorDetail (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &reports)
virtual QuantLib::ext::shared_ptr< ScenarioFiltercreateScenarioFilter (const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup)
virtual void reset (const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup)
virtual bool runTradeRiskGroup (const QuantLib::ext::shared_ptr< TradeGroupBase > &tradeGroup, const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup) const
virtual bool disablesAll (const QuantLib::ext::shared_ptr< ScenarioFilter > &filter) const
virtual void updateFilter (const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup, const QuantLib::ext::shared_ptr< ScenarioFilter > &filter)
 update any filters required
virtual std::string portfolioId (const QuantLib::ext::shared_ptr< TradeGroupBase > &tradeGroup) const
virtual std::string tradeGroupKey (const QuantLib::ext::shared_ptr< TradeGroupBase > &tradeGroup) const
virtual ore::data::TimePeriod covariancePeriod () const
virtual void addPnlCalculators (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &reports)
virtual void handleSensiResults (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &report, const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup, const QuantLib::ext::shared_ptr< TradeGroupBase > &tradeGroup)
virtual void handleFullRevalResults (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &reports, const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup, const QuantLib::ext::shared_ptr< TradeGroupBase > &tradeGroup)
virtual bool includeDeltaMargin (const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup) const
virtual bool includeGammaMargin (const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup) const
virtual bool runFullReval (const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup) const
virtual bool generateCube (const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup) const
virtual std::string cubeFilePath (const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup) const
virtual void closeReports (const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > &reports)

Protected Attributes

QuantLib::ext::shared_ptr< VarCalculatorvarCalculator_
Protected Attributes inherited from MarketRiskReport
bool sensiBased_ = false
bool fullReval_ = false
std::string calculationCurrency_
QuantLib::ext::shared_ptr< Portfolio > portfolio_
std::string portfolioFilter_
QuantLib::ext::optional< ore::data::TimePeriod > period_
QuantLib::ext::shared_ptr< HistoricalScenarioGeneratorhisScenGen_
std::unique_ptr< SensiRunArgssensiArgs_
std::unique_ptr< FullRevalArgsfullRevalArgs_
std::unique_ptr< MultiThreadArgsmultiThreadArgs_
bool breakdown_ = false
bool requireTradePnl_ = false
bool requireRiskFactorPnl_ = false
QuantLib::ext::shared_ptr< MarketRiskGroupBaseContainerriskGroups_
QuantLib::ext::shared_ptr< TradeGroupBaseContainertradeGroups_
std::map< std::string, std::set< std::pair< std::string, QuantLib::Size > > > tradeIdGroups_
std::set< std::pair< std::string, QuantLib::Size > > tradeIdIdxPairs_
std::vector< std::string > tradeIds_
std::map< RiskFactorKey, QuantLib::Real > deltas_
std::map< std::pair< RiskFactorKey, RiskFactorKey >, QuantLib::Real > gammas_
QuantLib::Matrix covarianceMatrix_
bool writePnl_ = false
std::vector< QuantLib::ext::shared_ptr< PNLCalculator > > pnlCalculators_
QuantLib::ext::shared_ptr< QuantExt::CovarianceSalvage > salvage_
bool includeDeltaMargin_ = true
bool includeGammaMargin_ = true
QuantLib::ext::shared_ptr< ore::data::EngineFactory > factory_
QuantLib::ext::shared_ptr< ore::analytics::HistoricalPnlGeneratorhistPnlGen_
QuantLib::ext::shared_ptr< HistoricalSensiPnlCalculatorsensiPnlCalculator_

Member Function Documentation

◆ createReports()

void createReports ( const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > & reports)
overridevirtual

Implements MarketRiskReport.

◆ writeReports()

void writeReports ( const QuantLib::ext::shared_ptr< MarketRiskReport::Reports > & report,
const QuantLib::ext::shared_ptr< MarketRiskGroupBase > & riskGroup,
const QuantLib::ext::shared_ptr< TradeGroupBase > & tradeGroup )
overrideprotectedvirtual

Reimplemented from MarketRiskReport.

◆ timePeriods()

std::vector< ore::data::TimePeriod > timePeriods ( )
overrideprotectedvirtual

Reimplemented from MarketRiskReport.