40std::set<RiskFactorKey::KeyType>
disabledParRates(
bool irCurveParRates,
bool irCapFloorParRates,
bool creditParRates);
46 const QuantLib::Date&
asof,
const std::vector<RiskFactorKey>& sortedParInstrumentRiskFactorKeys,
47 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>& simMarketParams,
48 const QuantLib::ext::shared_ptr<ore::analytics::SensitivityScenarioData>& sensiScenarioData,
49 const QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarket>& simMarket,
51 bool useSpreadedTermStructure);
84 QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarketParameters>
simMarketParams_;
86 mutable QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarket>
simMarket_;
Convert all par shifts in a single stress test scenario to zero shifts.
double maturityTime(const RiskFactorKey &key) const
compute the time to tenor of the risk factor key
bool useSpreadedTermStructure_
bool scenarioCanBeConverted(const StressTestScenarioData::StressTestData &parStressScenario) const
check if the scenario can be converted
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarketParameters > simMarketParams_
double shiftsSizeForScenario(const RiskFactorKey rfKey, double targetValue, double baseValue) const
convert the scenario value to the corresponding zero shift size for the stress test data
double getStressShift(const RiskFactorKey &key, const StressTestScenarioData::StressTestData &stressScenario) const
get the par stress shift size from stress test data
QuantLib::ext::shared_ptr< ore::analytics::SensitivityScenarioData > sensiScenarioData_
ore::analytics::StressTestScenarioData::StressTestData convertScenario(const StressTestScenarioData::StressTestData &scenario) const
Convert par shifts in a stress scenario to zero shifts.
double impliedParRate(const RiskFactorKey &key) const
Compute the implied fair rate of the par instrument.
const std::vector< RiskFactorKey > sortedParInstrumentRiskFactorKeys_
double maxDiscountFactor_
double upperBound(const RiskFactorKey key) const
double minDiscountFactor_
const ore::analytics::ParSensitivityInstrumentBuilder::Instruments & parInstruments_
void updateTargetStressTestScenarioData(StressTestScenarioData::StressTestData &stressScenario, const RiskFactorKey &key, const double zeroShift) const
add zero shifts in the stress test data
std::pair< size_t, size_t > getCapFloorTenorAndStrikeIds(const RiskFactorKey &rfKey) const
get the strike and tenor from a optionlet riskfactor key
double lowerBound(const RiskFactorKey key) const
QuantLib::ext::shared_ptr< ore::analytics::ScenarioSimMarket > simMarket_
Data types stored in the scenario class.
std::set< RiskFactorKey::KeyType > disabledParRates(bool irCurveParRates, bool irCapFloorParRates, bool creditParRates)
Perfrom sensitivity analysis for a given portfolio.
A Market class that can be updated by Scenarios.
A class to hold Scenario parameters for scenarioSimMarket.
A class to hold the parametrisation for building sensitivity scenarios.
A class to hold the parametrisation for building sensitivity scenarios.