Logo
Reference manual - version orea_version
ore::analytics Namespace Reference

Classes

class  CollateralAccount
 Collateral Account. More...
class  CollateralExposureHelper
 Collateral Exposure Helper. More...
class  CreditMigrationCalculator
 Credit Migration Calculator. More...
class  CreditMigrationHelper
class  CreditSimulationParameters
 Credit simulation description. More...
class  CVASpreadSensitivityCalculator
 CVA Spread Sensitivity Calculator. More...
class  DynamicInitialMarginCalculator
 Dynamic Initial Margin Calculator base class. More...
class  DirectDynamicInitialMarginCalculator
 Dynamic Initial Margin Calculator using IM stored in netting set cube. More...
class  FlatDynamicInitialMarginCalculator
 Dynamic Initial Margin Calculator using flat extrapolation of t0 IM. More...
class  DimHelper
 Helper for cam model implied VaR calculation. More...
class  RegressionDynamicInitialMarginCalculator
 Dynamic Initial Margin Calculator using polynomial regression. More...
class  DynamicCreditXvaCalculator
 XVA Calculator base with dynamic credit. More...
class  DynamicDeltaVaRCalculator
 Dynamic Delta/Gamma VaR for Initial Margin. More...
class  DynamicSimmCalculator
 Dynamic SIMM. More...
class  ExposureAllocator
 Exposure allocator base class. More...
class  RelativeFairValueNetExposureAllocator
class  RelativeFairValueGrossExposureAllocator
class  RelativeXvaExposureAllocator
class  NoneExposureAllocator
class  ExposureCalculator
 XVA Calculator base class. More...
class  NettedExposureCalculator
 XVA Calculator base class. More...
class  PostProcess
 Exposure Aggregation and XVA Calculation. More...
class  SimmHelper
 Helper for cam model implied SImple SIMM calculation. More...
class  StaticCreditXvaCalculator
 XVA Calculator base with static credit. More...
class  ValueAdjustmentCalculator
 XVA Calculator base class. More...
class  Analytic
class  MarketDataAnalyticImpl
class  MarketDataAnalytic
class  AbstractAnalyticBuilder
 AnalyticBuilder base class. More...
class  AnalyticBuilder
 Template AnalyticBuilder class. More...
class  AnalyticFactory
 AnalyticFactory. More...
class  BaCvaAnalyticImpl
class  BaCvaAnalytic
class  CalibrationAnalyticImpl
class  CalibrationAnalytic
class  CorrelationAnalyticImpl
class  CorrelationAnalytic
class  CrifAnalyticImpl
class  CrifAnalytic
class  IMScheduleAnalyticImpl
class  IMScheduleAnalytic
class  ParConversionAnalyticImpl
class  ParConversionAnalytic
class  ParScenarioAnalyticImpl
class  ParScenarioAnalytic
class  ParStressConversionAnalyticImpl
class  ParStressConversionAnalytic
class  PnlAnalyticImpl
class  PnlAnalytic
class  PnlExplainAnalyticImpl
class  PnlExplainAnalytic
class  PortfolioDetailsAnalyticImpl
class  PortfolioDetailsAnalytic
class  PricingAnalyticImpl
class  PricingAnalytic
class  SaCcrAnalyticImpl
class  SaCcrAnalytic
class  SaCvaAnalyticImpl
class  SaCvaAnalytic
class  ScenarioAnalyticImpl
class  ScenarioAnalytic
class  ScenarioGenerationAnalyticImpl
class  ScenarioGenerationAnalytic
class  SensitivityStressAnalyticImpl
class  SensitivityStressAnalytic
class  SimmAnalyticImpl
class  SimmAnalytic
class  SmrcAnalyticImpl
class  SmrcAnalytic
class  StressTestAnalyticImpl
class  StressTestAnalytic
class  VarAnalyticImpl
class  VarAnalytic
class  ParametricVarAnalyticImpl
class  ParametricVarAnalytic
class  HistoricalSimulationVarAnalyticImpl
class  HistoricalSimulationVarAnalytic
class  XvaAnalyticImpl
class  XvaAnalytic
class  XvaExplainResults
class  XvaExplainAnalyticImpl
class  XvaExplainAnalytic
class  XvaResults
struct  ZeroSensiResults
struct  ParSensiResults
class  XvaSensitivityAnalyticImpl
class  XvaSensitivityAnalytic
class  XvaStressAnalyticImpl
class  XvaStressAnalytic
class  ZeroToParShiftAnalyticImpl
class  ZeroToParShiftAnalytic
class  AnalyticsManager
class  CleanUpThreadLocalSingletons
class  CleanUpThreadGlobalSingletons
class  CleanUpLogSingleton
class  DummyMarketDataLoader
class  InputParameters
 Base class for input data, also exposed via SWIG. More...
class  OutputParameters
 Traditional ORE input via ore.xml and various files, output into files. More...
class  MarketCalibrationReportBase
class  MarketCalibrationReport
class  MarketDataBinaryLoader
class  MarketDataCsvLoaderImpl
class  MarketDataCsvLoader
class  MarketDataInMemoryLoaderImpl
class  MarketDataInMemoryLoader
class  StructuredFixingWarningMessage
 Utility class for Structured Fixing warnings. More...
class  MarketDataLoaderImpl
class  MarketDataLoader
class  OREApp
 Orchestrates the processes covered by ORE, data loading, analytics and reporting. More...
class  OREAppInputParameters
class  Parameters
 Provides the input data and references to input files used in OREApp. More...
class  PortfolioAnalyser
class  ReportWriter
 Write ORE outputs to reports. More...
class  StructuredAnalyticsErrorMessage
class  StructuredAnalyticsWarningMessage
class  ZeroSensitivityLoader
class  CubeCsvReader
 Read an NPV cube from a human readable text file. More...
class  CubeInterpretation
 Allow for interpretation of how data is stored within cube and AggregationScenarioData. More...
class  CubeWriter
 Write an NPV cube to a human readable text file. More...
class  InMemoryCubeOpt
class  TradeBlock
class  DepthCalculator
class  ConstantDepthCalculator
class  JaggedCube
 JaggedCube stores the cube in memory using a vector of trade specific blocks. More...
class  JointNPVCube
class  JointNPVSensiCube
class  NPVCube
 NPV Cube class stores both future and current NPV values. More...
class  NPVSensiCube
 NPVSensiCube class stores NPVs resulting from risk factor shifts on an as of date. More...
class  SensiCube
 SensiCube stores only npvs not equal to the base npvs. More...
class  SensitivityCube
 SensitivityCube is a wrapper for an npvCube that gives easier access to the underlying cube elements. More...
class  SparseNpvCube
class  AMCValuationEngine
 AMC Valuation Engine. More...
class  BaCvaCalculator
 Class for calculating Basic Approach CVA capital charge. More...
class  BufferedSensitivityStream
class  CorrelationReport
class  CounterpartyCalculator
 CounterpartyCalculator interface. More...
class  SurvivalProbabilityCalculator
 SurvivalProbabilityCalculator. More...
class  CvaSensitivityCubeStream
struct  CvaSensitivityRecord
class  DecomposedSensitivityStream
 Class that wraps a sensitivity stream and decompose default, equity and commodity risk records given weights. More...
class  DependencyMarket
class  FilteredSensitivityStream
 Class that wraps a sensitivity stream and filters out negligible records. More...
class  HistoricalPnlGenerator
class  PNLCalculator
class  CovarianceCalculator
class  HistoricalSensiPnlCalculator
class  HistoricalSimulationVarCalculator
class  HistoricalSimulationVarReport
 HistoricalSimulation VaR Calculator. More...
class  MarketRiskBacktest
class  BacktestPNLCalculator
class  MarketRiskGroupBase
class  MarketRiskGroupBaseContainer
class  TradeGroupBase
class  TradeGroupBaseContainer
class  MarketRiskGroup
class  MarketRiskGroupContainer
class  TradeGroup
class  TradeGroupContainer
class  MarketRiskReport
class  MPORCalculator
 MPORCalculator. More...
class  MultiStateNPVCalculator
 MultiStateNPVCalculator. More...
class  MultiThreadedValuationEngine
struct  NpvRecord
class  ObservationMode
 The Global Observation setting. More...
class  ParametricVarCalculator
class  ParametricVarReport
 Parametric VaR Calculator. More...
class  ParSensitivityAnalysis
 Par Sensitivity Analysis. More...
class  ParSensitivityConverter
 ParSensitivityConverter class. More...
class  ParSensitivityCubeStream
class  ParSensitivityInstrumentBuilder
class  ParStressTestConverter
class  ParStressScenarioConverter
 Convert all par shifts in a single stress test scenario to zero shifts. More...
struct  PathData
class  PnlExplainReport
class  MarketRiskConfiguration
class  RiskFilter
 Risk Filter. More...
struct  SaCcrAmounts
class  SaccrCalculator
 Compute derivative capital charge according to SA-CCR rules. More...
class  SaccrCrifGenerator
 Class that generates a CRIF report. More...
struct  saCcrDefaults
class  SaccrTradeData
class  CommodityForwardSaccrImpl
class  CommodityDigitalOptionSaccrImpl
class  CommoditySpreadOptionSaccrImpl
class  CommoditySwaptionSaccrImpl
class  CommodityPositionSaccrImpl
class  EquityForwardSaccrImpl
class  EquityPositionSaccrImpl
class  EquityOptionPositionSaccrImpl
class  EquityDigitalOptionSaccrImpl
class  EquityTouchOptionSaccrImpl
class  EquityDoubleTouchOptionSaccrImpl
class  EquityBarrierOptionSaccrImpl
class  EquityDoubleBarrierOptionSaccrImpl
class  FxSaccrImpl
class  CashPositionSaccrImpl
class  FRASaccrImpl
class  CapFloorSaccrImpl
class  BondTRSSaccrImpl
class  BondRepoSaccrImpl
class  ScriptedTradeSaccrImpl
class  VanillaOptionSaccrImpl
class  TotalReturnSwapSaccrImpl
class  SwapSaccrImpl
class  SwaptionSaccrImpl
class  VarianceSwapSaccrImpl
class  AsianOptionSaccrImpl
class  SaCvaSensitivityLoader
struct  SaCvaSensitivityRecord
struct  CvaNettingSetTag
struct  CvaRiskTypeTag
struct  CvaRiskFactorTag
class  SensitivityAggregator
class  SensitivityAnalysis
 Sensitivity Analysis. More...
class  SensitivityCalculator
 SensitivityCalculator. More...
class  SensitivityCubeStream
class  SensitivityInputStream
 Class for streaming SensitivityRecords from csv file. More...
class  SensitivityFileStream
class  SensitivityBufferStream
class  SensitivityInMemoryStream
 Class for streaming SensitivityRecords from csv file. More...
struct  SensitivityRecord
class  SensitivityReportStream
 Class for streaming SensitivityRecords from csv file. More...
class  SensitivityStorageManager
class  CamSensitivityStorageManager
class  SensitivityStream
 Base Class for streaming SensitivityRecords. More...
class  SimmSensitivityStorageManager
class  SimpleDynamicSimm
class  SMRC
 Compute standardize market risk capital charge. More...
struct  SaCvaSummaryKey
class  StandardApproachCvaCalculator
 A class for calculating Standard Approach CVA capital charge. More...
class  ValuationCalculator
 ValuationCalculator interface. More...
class  NPVCalculator
 NPVCalculator. More...
class  CashflowCalculator
 CashflowCalculator. More...
class  NPVCalculatorFXT0
 NPVCalculatorFXT0. More...
class  CashflowReportCalculator
 CashflowReportCalculator. More...
class  ExerciseCalculator
 ExerciseCalculator. More...
class  ValuationEngine
 Valuation Engine. More...
class  VarCalculator
 VaR Calculator. More...
class  VarReport
class  XvaEngineCG
class  ZeroToParCube
 ZeroToParCube class. More...
class  ZeroToParShiftConverter
class  AggregationScenarioData
 Container for storing simulated market data. More...
class  InMemoryAggregationScenarioData
 A concrete in memory implementation of AggregationScenarioData. More...
class  ClonedScenarioGenerator
class  CloneScenarioFactory
 Factory class for cloning scenario objects. More...
class  CrossAssetModelScenarioGenerator
 Scenario Generator using cross asset model paths. More...
class  CSVScenarioGenerator
 Class for generating scenarios from a csv file assumed to be in a format compatible with ScenarioWriter. More...
class  CvaRiskFactorKey
 Data types stored in the scenario class. More...
class  CvaScenario
class  CvaShiftedScenario
class  CvaScenarioLoader
class  DeltaScenario
 Delta Scenario class. More...
class  DeltaScenarioFactory
 Factory class for cloning scenario objects. More...
class  HistoricalScenarioGenerator
 Historical Scenario Generator. More...
class  HistoricalScenarioGeneratorRandom
 Historical scenario generator generating random scenarios, for testing purposes. More...
class  HistoricalScenarioGeneratorTransform
 Historical scenario generator transform. More...
class  HistoricalScenarioGeneratorWithFilteredDates
class  ReturnConfiguration
 Return type for historical scenario generation (absolute, relative, log). More...
class  LgmScenarioGenerator
 Scenario Generator using LGM model paths. More...
class  ScenarioFactory
 Scenario factory base class. More...
class  ScenarioCSVReader
 Class for reading scenarios from a csv file. More...
class  ScenarioFileReader
class  ScenarioBufferReader
class  RiskFactorTypeScenarioFilter
 Filter that will only allow specified RiskFactorKey::KeyTypes. More...
class  RiskFactorScenarioFilter
 Filter that will only allow specified keys. More...
class  CompositeScenarioFilter
 Filter for combining the above. More...
class  ScenarioGenerator
 Scenario generator base class. More...
class  ScenarioPathGenerator
 Scenario generator that generates an entire path. More...
class  StaticScenarioGenerator
class  ScenarioLoaderPathGenerator
class  ScenarioGeneratorBuilder
 Build a ScenarioGenerator. More...
class  ScenarioGeneratorData
 Scenario Generator description. More...
class  ScenarioGeneratorTransform
class  ScenarioLoader
class  SimpleScenarioLoader
 Class for loading historical scenarios. More...
class  HistoricalScenarioLoader
 Class for loading historical scenarios. More...
class  ScenarioReader
 Base Class for reading scenarios. More...
class  ScenarioShiftCalculator
class  ScenarioFilter
 A scenario filter can exclude certain key from updating the scenario. More...
class  ScenarioSimMarket
 Simulation Market updated with discrete scenarios. More...
class  ScenarioSimMarketParameters
 ScenarioSimMarket description. More...
class  ScenarioWriter
 Class for writing scenarios to file. More...
class  SensitivityScenarioData
 Description of sensitivity shift scenarios. More...
class  SensitivityScenarioGenerator
 Sensitivity Scenario Generator. More...
class  ShiftScenarioGenerator
 Shift Scenario Generator. More...
class  ShiftScenarioLoaderGenerator
class  SimpleScenario
class  SimpleScenarioFactory
 Factory class for building simple scenario objects. More...
class  StressTestScenarioData
 Description of sensitivity shift scenarios. More...
class  StressScenarioGenerator
 Stress Scenario Generator. More...
class  ZeroToParScenarioGenerator
 Zero To Par Scenario Generator. More...
class  SlimCrifRecord
struct  QualifierTag
struct  BucketTag
struct  QualifierBucketTag
struct  RiskTypeTag
struct  crifRecordIsSimmParameter
class  Crif
class  CrifConfiguration
class  CrifGenerator
 Class that generates a CRIF report. More...
class  CrifLoader
class  StringStreamCrifLoader
class  CsvFileCrifLoader
class  CsvBufferCrifLoader
class  CrifMarket
struct  CrifRecord
class  VolatilityDataCrif
struct  CrifRecordData
class  CrifRecordGenerator
 Base Class to convert a sensitivity record to CRIF record, having to implementation for SIMM and FRTB records. More...
class  SimmRecordGenerator
class  IMScheduleCalculator
struct  IMScheduleResult
class  IMScheduleResults
class  SimmBasicNameMapper
class  SimmBucketMapper
class  BucketMapping
class  SimmBucketMapperBase
class  SimmCalculator
 A class to calculate SIMM given a set of aggregated CRIF results for one or more portfolios. More...
class  SimmCalibration
class  SimmCalibrationData
class  SimmConcentration
class  SimmConcentrationBase
class  SimmConcentrationCalibration
 Class giving the ISDA SIMM concentration thresholds as defined by a SIMM calibration. More...
class  SimmConcentration_ISDA_V1_3
class  SimmConcentration_ISDA_V1_3_38
 Class giving the SIMM concentration thresholds for v1.3.38. More...
class  SimmConcentration_ISDA_V2_0
class  SimmConcentration_ISDA_V2_1
class  SimmConcentration_ISDA_V2_2
class  SimmConcentration_ISDA_V2_3
class  SimmConcentration_ISDA_V2_3_8
class  SimmConcentration_ISDA_V2_5
class  SimmConcentration_ISDA_V2_5A
class  SimmConcentration_ISDA_V2_6
class  SimmConcentration_ISDA_V2_6_5
class  SimmConcentration_ISDA_V2_7_2412
class  SimmConcentration_ISDA_V2_8_2506
class  SimmConfiguration
 Abstract base class defining the interface for a SIMM configuration. More...
class  SimmConfigurationBase
class  SimmConfigurationCalibration
class  SimmConfiguration_ISDA_V1_0
class  SimmConfiguration_ISDA_V1_3
class  SimmConfiguration_ISDA_V1_3_38
 Class giving the SIMM configuration for v1.3.38. More...
class  SimmConfiguration_ISDA_V2_0
class  SimmConfiguration_ISDA_V2_1
class  SimmConfiguration_ISDA_V2_2
class  SimmConfiguration_ISDA_V2_3
class  SimmConfiguration_ISDA_V2_3_8
class  SimmConfiguration_ISDA_V2_5
class  SimmConfiguration_ISDA_V2_5A
class  SimmConfiguration_ISDA_V2_6
class  SimmConfiguration_ISDA_V2_6_5
class  SimmConfiguration_ISDA_V2_7_2412
class  SimmConfiguration_ISDA_V2_8_2506
class  SimmNameMapper
class  SimmResults
class  SimmTradeData
class  FixingManager
 Pseudo Fixings Manager. More...
class  SimMarket
 Simulation Market. More...
class  map
 STL class. More...
class  string
 STL class. More...
class  vector
 STL class. More...
class  set
 STL class. More...
class  XMLSerializable
class  pair
 STL class. More...
class  Market

Typedefs

typedef std::map< QuantLib::Date, std::set< std::string > > QuoteMap
typedef std::map< std::string, RequiredFixings::FixingDates > FixingMap
template<typename T>
using InMemoryCubeBase = InMemoryCubeOpt<T>
template<typename T>
using InMemoryCubeN = InMemoryCubeOpt<T>
template<typename T>
using InMemoryCube1 = InMemoryCubeOpt<T>
using SinglePrecisionInMemoryCube = InMemoryCubeOpt<float>
using SinglePrecisionInMemoryCubeN = InMemoryCubeOpt<float>
using DoublePrecisionInMemoryCube = InMemoryCubeOpt<double>
using DoublePrecisionInMemoryCubeN = InMemoryCubeOpt<double>
using SinglePrecisionJaggedCube = JaggedCube<float>
 Jagged cube with single precision floating point numbers.
using DoublePrecisionJaggedCube = JaggedCube<double>
 Jagged cube with double precision floating point numbers.
using DoublePrecisionSensiCube = SensiCube
using SinglePrecisionSparseNpvCube = SparseNpvCube<float>
using RealPrecisionSparseNpvCube = SparseNpvCube<Real>
using TradePnLStore = std::vector<std::vector<QuantLib::Real>>
typedef std::pair< RiskFactorKey, RiskFactorKey > CrossPair
typedef boost::multi_index_container< SaCvaSensitivityRecord, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::identity< SaCvaSensitivityRecord > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< CvaNettingSetTag >, boost::multi_index::composite_key< SaCvaSensitivityRecord, boost::multi_index::member< SaCvaSensitivityRecord, std::string, &SaCvaSensitivityRecord::nettingSetId > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< CvaRiskTypeTag >, boost::multi_index::composite_key< SaCvaSensitivityRecord, boost::multi_index::member< SaCvaSensitivityRecord, std::string, &SaCvaSensitivityRecord::nettingSetId >, boost::multi_index::member< SaCvaSensitivityRecord, CvaRiskFactorKey::KeyType, &SaCvaSensitivityRecord::riskType >, boost::multi_index::member< SaCvaSensitivityRecord, CvaRiskFactorKey::MarginType, &SaCvaSensitivityRecord::marginType > > >, boost::multi_index::ordered_unique< boost::multi_index::tag< CvaRiskFactorTag >, boost::multi_index::composite_key< SaCvaSensitivityRecord, boost::multi_index::member< SaCvaSensitivityRecord, std::string, &SaCvaSensitivityRecord::nettingSetId >, boost::multi_index::member< SaCvaSensitivityRecord, CvaRiskFactorKey::KeyType, &SaCvaSensitivityRecord::riskType >, boost::multi_index::member< SaCvaSensitivityRecord, std::string, &SaCvaSensitivityRecord::bucket >, boost::multi_index::member< SaCvaSensitivityRecord, CvaRiskFactorKey::MarginType, &SaCvaSensitivityRecord::marginType >, boost::multi_index::member< SaCvaSensitivityRecord, std::string, &SaCvaSensitivityRecord::riskFactor >, boost::multi_index::member< SaCvaSensitivityRecord, CvaType, &SaCvaSensitivityRecord::cvaType > > > > > SaCvaNetSensitivities
typedef std::map< QuantLib::Currency, QuantLib::Matrix, QuantExt::CurrencyComparator > result_type_matrix
typedef std::map< QuantLib::Currency, std::vector< QuantLib::Real >, QuantExt::CurrencyComparator > result_type_vector
typedef std::map< QuantLib::Currency, QuantLib::Real, QuantExt::CurrencyComparator > result_type_scalar
using RiskFactorKey = QuantExt::RiskFactorKey
using Scenario = QuantExt::Scenario
using ShiftScheme = QuantExt::ShiftScheme
using ShiftType = QuantExt::ShiftType
typedef boost::multi_index_container< SlimCrifRecord, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::identity< SlimCrifRecord > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< QualifierTag >, boost::multi_index::composite_key< SlimCrifRecord, boost::multi_index::const_mem_fun< SlimCrifRecord, const int &, &SlimCrifRecord::nettingSetDetails >, boost::multi_index::const_mem_fun< SlimCrifRecord, const CrifRecord::ProductClass &, &SlimCrifRecord::productClass >, boost::multi_index::const_mem_fun< SlimCrifRecord, const CrifRecord::RiskType &, &SlimCrifRecord::riskType >, boost::multi_index::const_mem_fun< SlimCrifRecord, const int &, &SlimCrifRecord::qualifier > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< BucketTag >, boost::multi_index::composite_key< SlimCrifRecord, boost::multi_index::const_mem_fun< SlimCrifRecord, const int &, &SlimCrifRecord::nettingSetDetails >, boost::multi_index::const_mem_fun< SlimCrifRecord, const CrifRecord::ProductClass &, &SlimCrifRecord::productClass >, boost::multi_index::const_mem_fun< SlimCrifRecord, const CrifRecord::RiskType &, &SlimCrifRecord::riskType >, boost::multi_index::const_mem_fun< SlimCrifRecord, const int &, &SlimCrifRecord::bucket > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< QualifierBucketTag >, boost::multi_index::composite_key< SlimCrifRecord, boost::multi_index::const_mem_fun< SlimCrifRecord, const int &, &SlimCrifRecord::nettingSetDetails >, boost::multi_index::const_mem_fun< SlimCrifRecord, const CrifRecord::ProductClass &, &SlimCrifRecord::productClass >, boost::multi_index::const_mem_fun< SlimCrifRecord, const CrifRecord::RiskType &, &SlimCrifRecord::riskType >, boost::multi_index::const_mem_fun< SlimCrifRecord, const int &, &SlimCrifRecord::qualifier >, boost::multi_index::const_mem_fun< SlimCrifRecord, const int &, &SlimCrifRecord::bucket > > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag< RiskTypeTag >, boost::multi_index::composite_key< SlimCrifRecord, boost::multi_index::const_mem_fun< SlimCrifRecord, const int &, &SlimCrifRecord::nettingSetDetails >, boost::multi_index::const_mem_fun< SlimCrifRecord, const CrifRecord::ProductClass &, &SlimCrifRecord::productClass >, boost::multi_index::const_mem_fun< SlimCrifRecord, const CrifRecord::RiskType &, &SlimCrifRecord::riskType > > > > > SlimCrifRecordContainer
typedef boost::multi_index_container< CrifRecord, boost::multi_index::indexed_by< boost::multi_index::ordered_unique< boost::multi_index::identity< CrifRecord > > > > CrifRecordContainer
using RiskFactorKey

Enumerations

enum class  CvaType { CvaAggregate , CvaHedge }
enum class  AggregationScenarioDataType : unsigned int {
  IndexFixing = 0 , FXSpot = 1 , Numeraire = 2 , CreditState = 3 ,
  SurvivalWeight = 4 , RecoveryRate = 5 , Generic = 6
}
enum  IMScheduleLabel {
  Credit2 , Credit5 , Credit100 , Commodity ,
  Equity , FX , Rates2 , Rates5 ,
  Rates100 , Other
}
enum class  SimmVersion {
  V1_0 , V1_1 , V1_2 , V1_3 ,
  V1_3_38 , V2_0 , V2_1 , V2_2 ,
  V2_3 , V2_3_8 , V2_5 , V2_5A ,
  V2_6 , V2_6_5 , V2_7_2412 , V2_8_2506
}
 Ordered SIMM versions.

Functions

CollateralExposureHelper::CalculationType parseCollateralCalculationType (const string &s)
 Convert text representation to CollateralExposureHelper::CalculationType.
CreditMigrationHelper::CreditMode parseCreditMode (const std::string &s)
CreditMigrationHelper::LoanExposureMode parseLoanExposureMode (const std::string &s)
CreditMigrationHelper::Evaluation parseEvaluation (const std::string &s)
bool lessThan (const Array &a, const Array &b)
ExposureAllocator::AllocationMethod parseAllocationMethod (const string &s)
 Convert text representation to ExposureAllocator::AllocationMethod.
std::ostream & operator<< (std::ostream &out, ExposureAllocator::AllocationMethod m)
 Convert ExposureAllocator::AllocationMethod to text representation.
QuantLib::ext::shared_ptr< ore::data::Loader > implyBondSpreads (const Date &asof, const QuantLib::ext::shared_ptr< InputParameters > &params, const QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > &todaysMarketParams, const QuantLib::ext::shared_ptr< ore::data::Loader > &loader, const QuantLib::ext::shared_ptr< ore::data::CurveConfigurations > &curveConfigs, const std::string &excludeRegex)
std::pair< QuantLib::ext::shared_ptr< ore::analytics::SensitivityStream >, std::map< std::string, QuantLib::ext::shared_ptr< ore::data::InMemoryReport > > > computeSensitivities (QuantLib::ext::shared_ptr< ore::analytics::SensitivityAnalysis > &sensiAnalysis, const QuantLib::ext::shared_ptr< InputParameters > &plusInputs, ore::analytics::Analytic *analytic, const QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio, const bool writeReports)
ScenarioGenerationAnalyticImpl::Type parseScenarioGenerationType (const std::string &s)
std::ostream & operator<< (std::ostream &out, ScenarioGenerationAnalyticImpl::Type t)
bool operator< (const XvaExplainResults::XvaReportKey &lhs, const XvaExplainResults::XvaReportKey &rhs)
std::ostream & operator<< (std::ostream &os, const XvaResults::Adjustment adjustment)
 Write FrtbCorrelationScenario to stream.
QuantLib::ext::shared_ptr< AnalyticsManagerparseAnalytics (const std::string &s, const QuantLib::ext::shared_ptr< InputParameters > &inputs, const QuantLib::ext::shared_ptr< MarketDataLoader > &marketDataLoader)
QuantLib::ext::shared_ptr< ore::data::InMemoryReport > getReport (const ore::analytics::Analytic::analytic_reports &reports, const std::string &analytic, const std::string &report)
 get a report from analytic report collection or if not present an empty report
void initBuilders (const bool registerOREAnalytics=true)
std::vector< std::string > getFileNames (const std::string &fileString, const std::filesystem::path &path)
void scaleUpPortfolio (QuantLib::ext::shared_ptr< ore::data::Portfolio > &p)
NPVCubeWithMetaData loadCube (const std::string &filename)
void saveCube (const std::string &filename, const NPVCubeWithMetaData &cube)
QuantLib::ext::shared_ptr< AggregationScenarioDataloadAggregationScenarioData (const std::string &filename)
void saveAggregationScenarioData (const std::string &filename, const AggregationScenarioData &cube)
std::ostream & operator<< (std::ostream &out, const SensitivityCube::crossPair &cp)
void decomposeCreditIndex (const QuantLib::ext::shared_ptr< ore::data::Trade > &trade, const QuantLib::ext::shared_ptr< ore::data::Market > &market, std::map< std::string, QuantLib::Real > &sensitivityDecompositionWeights, bool &decompose)
std::ostream & operator<< (std::ostream &out, const CvaSensitivityRecord &sr)
 Enable writing of a SensitivityRecord.
std::ostream & operator<< (std::ostream &out, const QuantLib::ext::shared_ptr< MarketRiskGroupBase > &riskGroup)
std::ostream & operator<< (std::ostream &out, const QuantLib::ext::shared_ptr< TradeGroupBase > &tradeGroup)
std::ostream & operator<< (std::ostream &out, const NpvRecord &nr)
 Enable writing of a NpvRecord.
ParametricVarCalculator::ParametricVarParams::Method parseParametricVarMethod (const std::string &method)
std::ostream & operator<< (std::ostream &out, const ParametricVarCalculator::ParametricVarParams::Method &method)
void writeParConversionMatrix (const ore::analytics::ParSensitivityAnalysis::ParContainer &parSensitivities, ore::data::Report &reportOut)
 Write par instrument sensitivity report.
Real impliedQuote (const QuantLib::ext::shared_ptr< QuantLib::Instrument > &i)
 Computes the implied quote.
bool riskFactorKeysAreSimilar (const ore::analytics::RiskFactorKey &x, const ore::analytics::RiskFactorKey &y)
 true if key type and name are equal, do not care about the index though
double impliedVolatility (const RiskFactorKey &key, const ParSensitivityInstrumentBuilder::Instruments &instruments)
std::set< RiskFactorKey::KeyType > disabledParRates (bool irCurveParRates, bool irCapFloorParRates, bool creditParRates)
std::ostream & operator<< (std::ostream &out, const MarketRiskConfiguration::RiskClass &rc)
std::ostream & operator<< (std::ostream &out, const MarketRiskConfiguration::RiskType &rt)
MarketRiskConfiguration::RiskClass parseVarRiskClass (const std::string &rc)
MarketRiskConfiguration::RiskType parseVarRiskType (const std::string &rt)
std::ostream & operator<< (std::ostream &os, SaccrTradeData::AssetClass ac)
std::ostream & operator<< (std::ostream &os, SaccrTradeData::CommodityHedgingSet hs)
CvaRiskFactorKey mapRiskFactorKeyToCvaRiskFactorKey (string s)
std::ostream & operator<< (std::ostream &out, const SaCvaSensitivityRecord &sr)
 Enable writing of a CvaSensitivityRecord.
std::ostream & operator<< (std::ostream &out, const CvaType &mt)
CvaType parseCvaType (const std::string &mt)
Real getShiftSize (const RiskFactorKey &key, const SensitivityScenarioData &sensiParams, const QuantLib::ext::shared_ptr< ScenarioSimMarket > &simMarket, const std::string &marketConfiguration="")
std::ostream & operator<< (std::ostream &out, const SensitivityRecord &sr)
 Enable writing of a SensitivityRecord.
void copyRandomVariable (const QuantExt::RandomVariable &from, QuantLib::ext::shared_ptr< QuantExt::RandomVariable > to)
void runStressTest (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< StressTestScenarioData > &stressData, const QuantLib::ext::shared_ptr< ore::data::Report > &report, const QuantLib::ext::shared_ptr< ore::data::Report > &cfReport=nullptr, const double threshold=0.0, const Size precision=2, const bool includePastCashflows=false, const ore::data::CurveConfigurations &curveConfigs=ore::data::CurveConfigurations(), const ore::data::TodaysMarketParameters &todaysMarketParams=ore::data::TodaysMarketParameters(), const QuantLib::ext::shared_ptr< ScenarioFactory > &scenarioFactory=nullptr, const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig=QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()), bool continueOnError=false, const QuantLib::ext::shared_ptr< ore::data::InMemoryReport > &scenarioReport=nullptr)
 Stress Test Analysis.
void runStressTest (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< ScenarioReader > &scenarioReader, const QuantLib::ext::shared_ptr< ore::data::Report > &report, const QuantLib::ext::shared_ptr< ore::data::Report > &cfReport=nullptr, const double threshold=0.0, const Size precision=2, const bool includePastCashflows=false, const ore::data::CurveConfigurations &curveConfigs=ore::data::CurveConfigurations(), const ore::data::TodaysMarketParameters &todaysMarketParams=ore::data::TodaysMarketParameters(), const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig=QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()), bool continueOnError=false, const QuantLib::ext::shared_ptr< ore::data::InMemoryReport > &scenarioReport=nullptr)
void runStressTest (const QuantLib::ext::shared_ptr< ore::data::Portfolio > &portfolio, const Date &asof, const QuantLib::ext::shared_ptr< ScenarioSimMarket > simMarket, const string &marketConfiguration, const QuantLib::ext::shared_ptr< ore::data::EngineData > &engineData, const string &baseCcy, const QuantLib::ext::shared_ptr< ShiftScenarioGenerator > &scenarioGenerator, const QuantLib::ext::shared_ptr< ore::data::Report > &report, const QuantLib::ext::shared_ptr< ore::data::Report > &cfReport=nullptr, const double threshold=0.0, const Size precision=2, const bool includePastCashflows=false, const ore::data::CurveConfigurations &curveConfigs=ore::data::CurveConfigurations(), const ore::data::TodaysMarketParameters &todaysMarketParams=ore::data::TodaysMarketParameters(), const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceData=nullptr, const QuantLib::ext::shared_ptr< IborFallbackConfig > &iborFallbackConfig=QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()), bool continueOnError=false, const QuantLib::ext::shared_ptr< ore::data::InMemoryReport > &scenarioReport=nullptr)
XvaEngineCG::Mode parseXvaEngineCgMode (const std::string &s)
std::ostream & operator<< (std::ostream &os, XvaEngineCG::Mode m)
std::ostream & operator<< (std::ostream &out, const AggregationScenarioDataType &t)
bool operator< (const CvaRiskFactorKey &lhs, const CvaRiskFactorKey &rhs)
bool operator== (const CvaRiskFactorKey &lhs, const CvaRiskFactorKey &rhs)
bool operator> (const CvaRiskFactorKey &lhs, const CvaRiskFactorKey &rhs)
bool operator<= (const CvaRiskFactorKey &lhs, const CvaRiskFactorKey &rhs)
bool operator>= (const CvaRiskFactorKey &lhs, const CvaRiskFactorKey &rhs)
bool operator!= (const CvaRiskFactorKey &lhs, const CvaRiskFactorKey &rhs)
std::ostream & operator<< (std::ostream &out, const CvaRiskFactorKey::KeyType &type)
std::ostream & operator<< (std::ostream &out, const CvaRiskFactorKey::MarginType &type)
std::ostream & operator<< (std::ostream &out, const CvaRiskFactorKey &key)
CvaRiskFactorKey::KeyType parseCvaRiskFactorKeyType (const std::string &str)
CvaRiskFactorKey::MarginType parseCvaRiskFactorMarginType (const std::string &str)
CvaRiskFactorKey parseCvaRiskFactorKey (const std::string &str)
QuantLib::ext::shared_ptr< HistoricalScenarioGeneratorbuildHistoricalScenarioGenerator (const QuantLib::ext::shared_ptr< ScenarioReader > &hsr, const QuantLib::ext::shared_ptr< ore::data::AdjustmentFactors > &adjFactors, const TimePeriod &period, Calendar calendar, Size mporDays, const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &simParams, const QuantLib::ext::shared_ptr< TodaysMarketParameters > &marketParam, const QuantLib::ext::shared_ptr< ReturnConfiguration > &returnConfiguration, const bool overlapping=true)
QuantLib::ext::shared_ptr< HistoricalScenarioGeneratorbuildHistoricalScenarioGenerator (const QuantLib::ext::shared_ptr< ScenarioReader > &hsr, const QuantLib::ext::shared_ptr< ore::data::AdjustmentFactors > &adjFactors, const std::set< QuantLib::Date > &dates, const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &simParams, const QuantLib::ext::shared_ptr< TodaysMarketParameters > &marketParam, const QuantLib::ext::shared_ptr< ReturnConfiguration > &returnConfiguration)
std::ostream & operator<< (std::ostream &out, const ReturnConfiguration::ReturnType t)
RiskFactorKey::KeyType yieldCurveRiskFactor (const ore::data::YieldCurveType y)
 Map a yield curve type to a risk factor key type.
QuantLib::Real getDifferenceScenario (const RiskFactorKey::KeyType keyType, const QuantLib::Real v1, const QuantLib::Real v2)
QuantLib::ext::shared_ptr< ScenariogetDifferenceScenario (const QuantLib::ext::shared_ptr< Scenario > &s1, const QuantLib::ext::shared_ptr< Scenario > &s2, const QuantLib::Date &targetScenarioAsOf=QuantLib::Date(), const QuantLib::Real targetScenarioNumeraire=0.0, const bool allowAdditionalKeysInS2=false)
QuantLib::Real addDifferenceToScenario (const RiskFactorKey::KeyType keyType, const QuantLib::Real v, const QuantLib::Real d)
QuantLib::ext::shared_ptr< ScenarioaddDifferenceToScenario (const QuantLib::ext::shared_ptr< Scenario > &s, const QuantLib::ext::shared_ptr< Scenario > &d, const QuantLib::Date &targetScenarioAsOf=QuantLib::Date(), const QuantLib::Real targetScenarioNumeraire=0.0)
QuantLib::ext::shared_ptr< ScenariorecastScenario (const QuantLib::ext::shared_ptr< Scenario > &scenario, const std::map< std::pair< RiskFactorKey::KeyType, std::string >, std::vector< std::vector< QuantLib::Real > > > &oldCoordinates, const std::map< std::pair< RiskFactorKey::KeyType, std::string >, std::vector< std::vector< QuantLib::Real > > > &newCoordinates)
QuantLib::ext::shared_ptr< ScenariorecastScenario (const QuantLib::ext::shared_ptr< Scenario > &scenario, const std::map< std::pair< RiskFactorKey::KeyType, std::string >, std::vector< std::vector< QuantLib::Real > > > &oldCoordinates, const std::set< std::tuple< RiskFactorKey::KeyType, std::string, std::vector< std::vector< QuantLib::Real > > > > &newCoordinates)
QuantLib::Real sanitizeScenarioValue (const RiskFactorKey::KeyType keyType, const bool isPar, const QuantLib::Real rawValue)
QuantLib::ext::shared_ptr< ScenarioabsoluteToSpreadedScenario (const QuantLib::ext::shared_ptr< Scenario > &scenario, const QuantLib::ext::shared_ptr< Scenario > &base, const QuantLib::ext::shared_ptr< ScenarioSimMarketParameters > &simMarketData)
std::vector< Period > getShiftedTenors (const std::vector< Period > &tenors, const QuantLib::Date &asof, const QuantLib::Date &mpor)
std::set< std::string > getShiftSpecKeys (const SensitivityScenarioData &d)
std::ostream & operator<< (std::ostream &out, const ShiftScenarioGenerator::ScenarioDescription &scenarioDescription)
bool operator< (const ShiftScenarioGenerator::ScenarioDescription &lhs, const ShiftScenarioGenerator::ScenarioDescription &rhs)
bool operator== (const ShiftScenarioGenerator::ScenarioDescription &lhs, const ShiftScenarioGenerator::ScenarioDescription &rhs)
std::ostream & operator<< (std::ostream &out, const SlimCrifRecord &cr)
 Enable writing of a CrifRecord.
std::ostream & operator<< (std::ostream &out, const CrifRecord &cr)
 Enable writing of a CrifRecord.
std::ostream & operator<< (std::ostream &out, const CrifRecord::RiskType &rt)
std::ostream & operator<< (std::ostream &out, const CrifRecord::ProductClass &pc)
std::ostream & operator<< (std::ostream &out, const CrifRecord::IMModel &model)
std::ostream & operator<< (std::ostream &out, const CrifRecord::CapitalModel &capitalModel)
std::ostream & operator<< (std::ostream &out, const CrifRecord::Regulation &regulation)
std::ostream & operator<< (std::ostream &out, const CrifRecord::SaccrRegulation &saccrRegulation)
std::ostream & operator<< (std::ostream &out, const std::set< CrifRecord::Regulation > &regulation)
std::ostream & operator<< (std::ostream &out, const CrifRecord::CurvatureScenario &scenario)
std::ostream & operator<< (std::ostream &out, const CrifRecord::RecordType &recordType)
CrifRecord::RiskType parseRiskType (const std::string &rt)
CrifRecord::ProductClass parseProductClass (const std::string &pc)
CrifRecord::CurvatureScenario parseFrtbCurvatureScenario (const std::string &scenario)
CrifRecord::IMModel parseIMModel (const std::string &pc)
CrifRecord::Regulation parseRegulation (const std::string &regulation)
std::string combineRegulations (const std::string &, const std::string &)
std::set< CrifRecord::RegulationparseRegulationString (const std::string &regsString, const std::set< CrifRecord::Regulation > &valueIfEmpty={})
 Reads a string containing regulations applicable for a given CRIF record.
std::set< CrifRecord::RegulationremoveRegulations (const std::set< CrifRecord::Regulation > &regs, const std::set< CrifRecord::Regulation > &regsToRemove)
 Removes a given vector of regulations from a string of regulations and returns a string with the regulations removed.
std::set< CrifRecord::RegulationfilterRegulations (const std::set< CrifRecord::Regulation > &regs, const std::set< CrifRecord::Regulation > &regsToFilter)
CrifRecord::Regulation getWinningRegulation (const std::set< CrifRecord::Regulation > &winningRegulations)
 From a vector of regulations, determine the winning regulation based on order of priority.
std::string regulationsToString (const std::set< CrifRecord::Regulation > &regs)
std::ostream & operator<< (std::ostream &os, const VolatilityDataCrif::Key &key)
 Write key to os.
std::pair< std::set< std::string >, std::set< std::string > > applySimmExemptions (ore::data::Portfolio &portfolio, const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &engineFactory, const std::set< ore::analytics::CrifRecord::Regulation > &simmExemptionOverrides={})
bool operator< (const SimmBucketMapper::FailedMapping &a, const SimmBucketMapper::FailedMapping &b)
bool operator< (const BucketMapping &a, const BucketMapping &b)
std::ostream & operator<< (std::ostream &out, const SimmConfiguration::SimmSide &side)
std::ostream & operator<< (std::ostream &out, const SimmConfiguration::RiskClass &rc)
std::ostream & operator<< (std::ostream &out, const SimmConfiguration::MarginType &mt)
SimmConfiguration::SimmSide parseSimmSide (const std::string &side)
SimmConfiguration::RiskClass parseSimmRiskClass (const std::string &rc)
SimmConfiguration::MarginType parseSimmMarginType (const std::string &mt)
std::ostream & operator<< (std::ostream &out, const SimmResults::Key &resultsKey)
 Enable writing of Key.
CrifRecord::ProductClass scheduleProductClassFromOreTrade (const QuantLib::ext::shared_ptr< ore::data::Trade > &trade)
std::vector< std::string > loadFactorList (const std::string &inputFileName, const char delim='\n')
std::vector< std::vector< double > > loadScenarios (const std::string &inputFileName, const char delim='\n')
QuantLib::Matrix loadCovarianceMatrix (const std::string &inputFileName, const char delim='\n')
SimmVersion parseSimmVersion (const std::string &version)
QuantLib::ext::shared_ptr< SimmConfigurationbuildSimmConfiguration (const std::string &simmVersion, const QuantLib::ext::shared_ptr< SimmBucketMapper > &simmBucketMapper, const QuantLib::ext::shared_ptr< SimmCalibrationData > &simmCalibrationData=nullptr, const QuantExt::Size &mporDays=10)
std::string escapeCommaSeparatedList (const std::string &str, const char &csvQuoteChar)
bool isSimmNonStandardCurrency (const std::string &ccy)
 true if ccy is not a simm standard ccy
bool isUnidadeCurrency (const std::string &ccy)
 true if ccy is a simm non-standard "unidade" ccy
bool isIsin (const string &s)
std::string simmStandardCurrency (const std::string &ccy)
 return simm standard ccy corresponding to ccy (or ccy itself if this is a standard ccy)
void convertToSimmStandardCurrency (double &npv, std::string &ccy, const QuantLib::ext::shared_ptr< ore::data::Market > market)
 update given npv and ccy to standard ccy using market's fx rate
void convertToSimmStandardCurrency (std::string &ccy)
 update given ccy to standard ccy
bool convertToSimmStandardCurrencyPair (std::string &ccy)
 update given ccy pair to standard ccys, returns true if resulting pair contains different ccys
CrifRecord::ProductClass simmProductClassFromOreTrade (const QuantLib::ext::shared_ptr< ore::data::Trade > &trade)

Detailed Description

Analytics namespace

Typedef Documentation

◆ SlimCrifRecordContainer

typedef boost::multi_index_container<SlimCrifRecord, boost::multi_index::indexed_by< boost::multi_index::ordered_unique<boost::multi_index::identity<SlimCrifRecord> >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<QualifierTag>, boost::multi_index::composite_key< SlimCrifRecord, boost::multi_index::const_mem_fun<SlimCrifRecord, const int&, &SlimCrifRecord::nettingSetDetails>, boost::multi_index::const_mem_fun<SlimCrifRecord, const CrifRecord::ProductClass&, &SlimCrifRecord::productClass>, boost::multi_index::const_mem_fun<SlimCrifRecord, const CrifRecord::RiskType&, &SlimCrifRecord::riskType>, boost::multi_index::const_mem_fun<SlimCrifRecord, const int&, &SlimCrifRecord::qualifier> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<BucketTag>, boost::multi_index::composite_key< SlimCrifRecord, boost::multi_index::const_mem_fun<SlimCrifRecord, const int&, &SlimCrifRecord::nettingSetDetails>, boost::multi_index::const_mem_fun<SlimCrifRecord, const CrifRecord::ProductClass&, &SlimCrifRecord::productClass>, boost::multi_index::const_mem_fun<SlimCrifRecord, const CrifRecord::RiskType&, &SlimCrifRecord::riskType>, boost::multi_index::const_mem_fun<SlimCrifRecord, const int&, &SlimCrifRecord::bucket> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<QualifierBucketTag>, boost::multi_index::composite_key< SlimCrifRecord, boost::multi_index::const_mem_fun<SlimCrifRecord, const int&, &SlimCrifRecord::nettingSetDetails>, boost::multi_index::const_mem_fun<SlimCrifRecord, const CrifRecord::ProductClass&, &SlimCrifRecord::productClass>, boost::multi_index::const_mem_fun<SlimCrifRecord, const CrifRecord::RiskType&, &SlimCrifRecord::riskType>, boost::multi_index::const_mem_fun<SlimCrifRecord, const int&, &SlimCrifRecord::qualifier>, boost::multi_index::const_mem_fun<SlimCrifRecord, const int&, &SlimCrifRecord::bucket> > >, boost::multi_index::ordered_non_unique< boost::multi_index::tag<RiskTypeTag>, boost::multi_index::composite_key< SlimCrifRecord, boost::multi_index::const_mem_fun<SlimCrifRecord, const int&, &SlimCrifRecord::nettingSetDetails>, boost::multi_index::const_mem_fun<SlimCrifRecord, const CrifRecord::ProductClass&, &SlimCrifRecord::productClass>, boost::multi_index::const_mem_fun<SlimCrifRecord, const CrifRecord::RiskType&, &SlimCrifRecord::riskType> > > >> SlimCrifRecordContainer

A structure that we can use to aggregate CrifRecords across trades in a portfolio to provide the net sensitivities that we need to perform a downstream SIMM calculation.

◆ CrifRecordContainer

typedef boost::multi_index_container<CrifRecord, boost::multi_index::indexed_by< boost::multi_index::ordered_unique<boost::multi_index::identity<CrifRecord> > >> CrifRecordContainer

A structure that we can use to aggregate CrifRecords across trades in a portfolio to provide the net sensitivities that we need to perform a downstream SIMM calculation.

Function Documentation

◆ getShiftSize()

Real getShiftSize ( const RiskFactorKey & key,
const SensitivityScenarioData & sensiParams,
const QuantLib::ext::shared_ptr< ScenarioSimMarket > & simMarket,
const std::string & marketConfiguration = "" )

Returns the absolute shift size corresponding to a particular risk factor key given sensitivity parameters sensiParams and a simulation market simMarket

◆ runStressTest()

void runStressTest ( 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< StressTestScenarioData > & stressData,
const QuantLib::ext::shared_ptr< ore::data::Report > & report,
const QuantLib::ext::shared_ptr< ore::data::Report > & cfReport = nullptr,
const double threshold = 0.0,
const Size precision = 2,
const bool includePastCashflows = false,
const ore::data::CurveConfigurations & curveConfigs = ore::data::CurveConfigurations(),
const ore::data::TodaysMarketParameters & todaysMarketParams = ore::data::TodaysMarketParameters(),
const QuantLib::ext::shared_ptr< ScenarioFactory > & scenarioFactory = nullptr,
const QuantLib::ext::shared_ptr< ReferenceDataManager > & referenceData = nullptr,
const QuantLib::ext::shared_ptr< IborFallbackConfig > & iborFallbackConfig = QuantLib::ext::make_shared< IborFallbackConfig >(IborFallbackConfig::defaultConfig()),
bool continueOnError = false,
const QuantLib::ext::shared_ptr< ore::data::InMemoryReport > & scenarioReport = nullptr )

Stress Test Analysis.

This function wraps functionality to perform a stress testing 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 (CF) impacts of all required shifts
  • write results to reports

◆ removeRegulations()

std::set< CrifRecord::Regulation > removeRegulations ( const std::set< CrifRecord::Regulation > & regs,
const std::set< CrifRecord::Regulation > & regsToRemove )

Removes a given vector of regulations from a string of regulations and returns a string with the regulations removed.

Cleans a string defining regulations so that different permutations of the same set will be seen as the same string, e.g. "APRA,SEC,ESA" and "SEC,ESA,APRA" should be equivalent.

◆ filterRegulations()

std::set< CrifRecord::Regulation > filterRegulations ( const std::set< CrifRecord::Regulation > & regs,
const std::set< CrifRecord::Regulation > & regsToFilter )

Filters a string of regulations on a given vector of regulations and returns a string containing only those filtered regulations

◆ applySimmExemptions()

std::pair< std::set< std::string >, std::set< std::string > > applySimmExemptions ( ore::data::Portfolio & portfolio,
const QuantLib::ext::shared_ptr< ore::data::EngineFactory > & engineFactory,
const std::set< ore::analytics::CrifRecord::Regulation > & simmExemptionOverrides = {} )

Modify the portfolio by applying the various SIMM exemptions outlined in the document SIMM Cross-Currency Swap Treatment, February 27, 2017< > Returns a pair of sets (s1,s2), where s1 contains the trade ids that were removed and s2 conatins the trade ids that were modified.

◆ escapeCommaSeparatedList()

std::string escapeCommaSeparatedList ( const std::string & str,
const char & csvQuoteChar )

If the input str is a comma seperated list the method quotation marks " if the csvQuoteChar is '\0' Example: commaSeparatedListToJsonArrayString("item1,item2", '') -> "item1, item2" commaSeparatedListToJsonArrayString("item", '') -> "item"