Logo
Reference manual - version orea_version
SensitivityAnalysis Class Reference

Sensitivity Analysis. More...

#include <orea/engine/sensitivityanalysis.hpp>

Inheritance diagram for SensitivityAnalysis:

Public Member Functions

 SensitivityAnalysis (const QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio, const QuantLib::ext::shared_ptr< ore::data::Market > &market, const string &marketConfiguration, const QuantLib::ext::shared_ptr< ore::data::EngineData > &engineData, const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &simMarketData, const QuantLib::ext::shared_ptr< SensitivityScenarioData > &sensitivityData, const bool recalibrateModels, const bool laxFxConversion=false, const QuantLib::ext::shared_ptr< ore::data::CurveConfigurations > &curveConfigs=nullptr, const QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > &todaysMarketParams=nullptr, const bool nonShiftedBaseCurrencyConversion=false, const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig=QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()), const bool continueOnError=false, bool dryRun=false)
 Constructor using single-threaded engine.
 SensitivityAnalysis (const Size nThreads, const Date &asof, const QuantLib::ext::shared_ptr< ore::data::Loader > &loader, const QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio, const string &marketConfiguration, const QuantLib::ext::shared_ptr< ore::data::EngineData > &engineData, const QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > &simMarketData, const QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > &sensitivityData, const bool recalibrateModels, const bool laxFxConversion, const QuantLib::ext::shared_ptr< ore::data::CurveConfigurations > &curveConfigs, const QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > &todaysMarketParams, const bool nonShiftedBaseCurrencyConversion=false, const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig=QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()), const bool continueOnError=false, bool dryRun=false, const std::string &context="sensi analysis")
 Constructor using multi-threaded engine.
void generateSensitivities ()
 Generate the Sensitivities.
const QuantLib::Date asof () const
 The ASOF date for the sensitivity analysis.
const std::string marketConfiguration () const
 The market configuration string.
const QuantLib::ext::shared_ptr< ScenarioSimMarketsimMarket () const
 A getter for the sim market.
const QuantLib::ext::shared_ptr< SensitivityScenarioGeneratorscenarioGenerator () const
 A getter for SensitivityScenarioGenerator (the main one, without possibly customized shifts).
const QuantLib::ext::shared_ptr< ScenarioSimMarketParameterssimMarketData () const
 A getter for ScenarioSimMarketParameters.
const QuantLib::ext::shared_ptr< SensitivityScenarioDatasensitivityData () const
 A getter for SensitivityScenarioData.
void overrideTenors (const bool b)
 override shift tenors with sim market tenors
QuantLib::ext::shared_ptr< Portfolio > portfolio () const
 the portfolio of trades
std::vector< QuantLib::ext::shared_ptr< SensitivityCube > > sensiCubes () const
 a wrapper for the sensitivity results cubes (one per shift configuration)
QuantLib::ext::shared_ptr< SensitivityCubesensiCube () const
 a wrapper for the first sensitivity result cube (if that is unique, otherwise throws, for bwd compatibility)
void setOffsetScenario (const QuantLib::ext::shared_ptr< Scenario > &offsetScenario)
 A setter for the offset simMarket scenario.
void setOffsetSimMarketParams (const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &offsetSimMarketParams)
 A setter for the offset simMarket parameters.

Protected Attributes

QuantLib::ext::shared_ptr< ScenariooffsetScenario_
QuantLib::ext::shared_ptr< ScenarioSimMarketParametersoffsetSimMarketParams_

Detailed Description

Sensitivity Analysis.

This class wraps functionality to perform a sensitivity analysis for a given portfolio. It comprises

  • building the "simulation" market to which sensitivity scenarios are applied
  • building the portfolio linked to this simulation market
  • generating sensitivity scenarios
  • running the scenario "engine" to apply these and compute the NPV impacts of all required shifts
  • compile first and second order sensitivities for all factors and all trades
  • fill result structures that can be queried