Skip to content

Commit 8a25e8f

Browse files
pcaspersjenkins
authored andcommitted
QPR-11895 SprededTermStructures in Sim Market for NPV LAgged
1 parent 777351d commit 8a25e8f

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

OREAnalytics/orea/app/analytics/scenarioanalytic.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,10 @@ namespace ore {
2525
namespace analytics {
2626

2727
// ScenarioAnalytic
28-
ScenarioAnalytic::ScenarioAnalytic(const QuantLib::ext::shared_ptr<InputParameters>& inputs)
29-
: Analytic(std::make_unique<ScenarioAnalyticImpl>(inputs), {"SCENARIO"}, inputs, true, false, false, false) {}
28+
ScenarioAnalytic::ScenarioAnalytic(const QuantLib::ext::shared_ptr<InputParameters>& inputs,
29+
const bool useSpreadedTermStructures)
30+
: Analytic(std::make_unique<ScenarioAnalyticImpl>(inputs, useSpreadedTermStructures), {"SCENARIO"}, inputs, true,
31+
false, false, false) {}
3032

3133
void ScenarioAnalyticImpl::setUpConfigurations() {
3234
analytic()->configurations().todaysMarketParams = inputs_->todaysMarketParams();
@@ -51,7 +53,7 @@ void ScenarioAnalyticImpl::runAnalytic(const QuantLib::ext::shared_ptr<InMemoryL
5153
auto ssm = QuantLib::ext::make_shared<ScenarioSimMarket>(
5254
analytic()->market(), scenarioAnalytic->configurations().simMarketParams, Market::defaultConfiguration,
5355
*scenarioAnalytic->configurations().curveConfig, *scenarioAnalytic->configurations().todaysMarketParams, true,
54-
false, false, false, *inputs_->iborFallbackConfig());
56+
useSpreadedTermStructures_, false, false, *inputs_->iborFallbackConfig());
5557

5658
setScenarioSimMarket(ssm);
5759
auto scenario = ssm->baseScenario();

OREAnalytics/orea/app/analytics/scenarioanalytic.hpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ class ScenarioAnalyticImpl : public Analytic::Impl {
3030
public:
3131
static constexpr const char* LABEL = "SCENARIO";
3232

33-
ScenarioAnalyticImpl(const QuantLib::ext::shared_ptr<InputParameters>& inputs) : Analytic::Impl(inputs) { setLabel(LABEL); }
33+
ScenarioAnalyticImpl(const QuantLib::ext::shared_ptr<InputParameters>& inputs, const bool useSpreadedTermStructures = false) :
34+
Analytic::Impl(inputs), useSpreadedTermStructures_(useSpreadedTermStructures) {
35+
setLabel(LABEL);
36+
}
3437
void runAnalytic(const QuantLib::ext::shared_ptr<ore::data::InMemoryLoader>& loader,
3538
const std::set<std::string>& runTypes = {}) override;
3639
void setUpConfigurations() override;
@@ -48,11 +51,13 @@ class ScenarioAnalyticImpl : public Analytic::Impl {
4851
private:
4952
QuantLib::ext::shared_ptr<ore::analytics::Scenario> scenario_;
5053
QuantLib::ext::shared_ptr<ore::analytics::ScenarioSimMarket> scenarioSimMarket_;
54+
bool useSpreadedTermStructures_ = false;
5155
};
5256

5357
class ScenarioAnalytic : public Analytic {
5458
public:
55-
ScenarioAnalytic(const QuantLib::ext::shared_ptr<InputParameters>& inputs);
59+
ScenarioAnalytic(const QuantLib::ext::shared_ptr<InputParameters>& inputs,
60+
const bool useSpreadedTermStructures = false);
5661

5762
const QuantLib::ext::shared_ptr<ore::analytics::Scenario>& scenario() const {
5863
auto sai = static_cast<ScenarioAnalyticImpl*>(impl_.get());

0 commit comments

Comments
 (0)