Skip to content

Commit bb55a2a

Browse files
committed
QPR-13700 fix single threaded sensi analysis
1 parent f887cb7 commit bb55a2a

4 files changed

Lines changed: 12 additions & 9 deletions

File tree

OREAnalytics/orea/app/analytics/crifanalytic.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ computeSensitivities(QuantLib::ext::shared_ptr<ore::analytics::SensitivityAnalys
5555
sensiAnalysis = QuantLib::ext::make_shared<SensitivityAnalysis>(
5656
portfolio, analytic->market(), Market::defaultConfiguration, inputs->pricingEngine(),
5757
analytic->configurations().simMarketParams, analytic->configurations().sensiScenarioData,
58-
inputs->sensiRecalibrateModels(), inputs->sensiLaxFxConversion(),
59-
analytic->configurations().curveConfig, analytic->configurations().todaysMarketParams, false,
60-
inputs->refDataManager(), inputs->iborFallbackConfig(), true, inputs->dryRun());
58+
inputs->sensiRecalibrateModels(), inputs->sensiLaxFxConversion(), analytic->configurations().curveConfig,
59+
analytic->configurations().todaysMarketParams, false, inputs->refDataManager(),
60+
inputs->iborFallbackConfig(), true, inputs->dryRun(), inputs->useAtParCouponsTrades());
6161
} else {
6262
sensiAnalysis = QuantLib::ext::make_shared<SensitivityAnalysis>(
6363
inputs->nThreads(), inputs->asof(), analytic->loader(), portfolio, Market::defaultConfiguration,

OREAnalytics/orea/app/analytics/pricinganalytic.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@ void PricingAnalyticImpl::runAnalytic(
148148
analytic()->configurations().simMarketParams, analytic()->configurations().sensiScenarioData,
149149
inputs_->sensiRecalibrateModels(), inputs_->sensiLaxFxConversion(),
150150
analytic()->configurations().curveConfig, analytic()->configurations().todaysMarketParams, ccyConv,
151-
inputs_->refDataManager(), inputs_->iborFallbackConfig(), true, inputs_->dryRun());
151+
inputs_->refDataManager(), inputs_->iborFallbackConfig(), true, inputs_->dryRun(),
152+
inputs_->useAtParCouponsTrades());
152153
LOG("Single-threaded sensi analysis created");
153154
}
154155
else {

OREAnalytics/orea/engine/sensitivityanalysis.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,15 @@ SensitivityAnalysis::SensitivityAnalysis(
5151
const bool laxFxConversion, const QuantLib::ext::shared_ptr<ore::data::CurveConfigurations>& curveConfigs,
5252
const QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters>& todaysMarketParams,
5353
const bool nonShiftedBaseCurrencyConversion, const QuantLib::ext::shared_ptr<ReferenceDataManager>& referenceData,
54-
const QuantLib::ext::shared_ptr<IborFallbackConfig>& iborFallbackConfig, const bool continueOnError, bool dryRun)
54+
const QuantLib::ext::shared_ptr<IborFallbackConfig>& iborFallbackConfig, const bool continueOnError, bool dryRun,
55+
const bool useAtParCouponsTrades)
5556
: market_(market), marketConfiguration_(marketConfiguration), asof_(market ? market->asofDate() : Date()),
5657
simMarketData_(simMarketData), sensitivityData_(sensitivityData), recalibrateModels_(recalibrateModels),
5758
laxFxConversion_(laxFxConversion), curveConfigs_(curveConfigs), todaysMarketParams_(todaysMarketParams),
5859
overrideTenors_(false), nonShiftedBaseCurrencyConversion_(nonShiftedBaseCurrencyConversion),
5960
referenceData_(referenceData), iborFallbackConfig_(iborFallbackConfig), continueOnError_(continueOnError),
60-
engineData_(engineData), portfolio_(portfolio), dryRun_(dryRun), useSingleThreadedEngine_(true) {}
61+
engineData_(engineData), portfolio_(portfolio), dryRun_(dryRun), useSingleThreadedEngine_(true),
62+
useAtParCouponsTrades_(useAtParCouponsTrades) {}
6163

6264
SensitivityAnalysis::SensitivityAnalysis(
6365
const Size nThreads, const Date& asof, const QuantLib::ext::shared_ptr<ore::data::Loader>& loader,

OREAnalytics/orea/engine/sensitivityanalysis.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class SensitivityAnalysis : public ore::data::ProgressReporter {
7878
const QuantLib::ext::shared_ptr<ReferenceDataManager>& referenceData = nullptr,
7979
const QuantLib::ext::shared_ptr<IborFallbackConfig>& iborFallbackConfig =
8080
QuantLib::ext::make_shared<IborFallbackConfig>(IborFallbackConfig::defaultConfig()),
81-
const bool continueOnError = false, bool dryRun = false);
81+
const bool continueOnError = false, const bool dryRun = false, const bool useAtParCouponsTrades = true);
8282

8383
//! Constructor using multi-threaded engine
8484
SensitivityAnalysis(const Size nThreads, const Date& asof,
@@ -186,8 +186,8 @@ class SensitivityAnalysis : public ore::data::ProgressReporter {
186186
Size nThreads_;
187187
QuantLib::ext::shared_ptr<ore::data::Loader> loader_;
188188
std::string context_;
189-
bool useAtParCouponsCurves_;
190-
bool useAtParCouponsTrades_;
189+
bool useAtParCouponsCurves_ = true;
190+
bool useAtParCouponsTrades_ = true;
191191

192192
protected:
193193
QuantLib::ext::shared_ptr<Scenario> offsetScenario_;

0 commit comments

Comments
 (0)