Skip to content

Commit 37ad9d5

Browse files
author
sebastien.bouvard
committed
QPR-13138 Refactor
1 parent 54d4db4 commit 37ad9d5

6 files changed

Lines changed: 11 additions & 14 deletions

File tree

OREAnalytics/orea/engine/marketriskbacktest.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,11 @@ MarketRiskBacktest::MarketRiskBacktest(
5656
std::unique_ptr<MultiThreadArgs> mtArgs,
5757
const ext::shared_ptr<HistoricalScenarioGenerator>& hisScenGen,
5858
const bool breakdown,
59-
const bool requireTradePnl)
59+
const bool requireTradePnl,
60+
const QuantLib::ext::shared_ptr<TodaysMarketParameters>& marketConfig)
6061
: MarketRiskReport(calculationCurrency, portfolio, portfolioFilter, btArgs->backtestPeriod_, hisScenGen, std::move(sensiArgs), std::move(revalArgs),
6162
std::move(mtArgs), breakdown, requireTradePnl),
62-
btArgs_(std::move(btArgs)) {
63+
btArgs_(std::move(btArgs)), todaysmarket_(marketConfig) {
6364
}
6465

6566
void MarketRiskBacktest::initialise() {
@@ -88,14 +89,12 @@ bool MarketRiskBacktest::runTradeDetail(const ext::shared_ptr<MarketRiskReport::
8889
return requireTradePnl_ || trdDetail;
8990
}
9091

91-
void MarketRiskBacktest::addPnlCalculators(const ext::shared_ptr<MarketRiskReport::Reports>& reports,
92-
const QuantLib::ext::shared_ptr<TodaysMarketParameters>& marketConfig) {
92+
void MarketRiskBacktest::addPnlCalculators(const ext::shared_ptr<MarketRiskReport::Reports>& reports) {
9393
pnlCalculators_.push_back(
9494
QuantLib::ext::make_shared<PNLCalculator>(btArgs_->benchmarkPeriod_));
9595
auto btRpts = ext::dynamic_pointer_cast<BacktestReports>(reports);
9696
pnlCalculators_.push_back(
9797
QuantLib::ext::make_shared<BacktestPNLCalculator>(btArgs_->backtestPeriod_, writePnl_, this, btRpts));
98-
todaysmarket_ = marketConfig;
9998
}
10099

101100

OREAnalytics/orea/engine/marketriskbacktest.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ class MarketRiskBacktest : public ore::analytics::MarketRiskReport {
138138
std::unique_ptr<MultiThreadArgs> mtArgs = nullptr,
139139
const QuantLib::ext::shared_ptr<ore::analytics::HistoricalScenarioGenerator>& hisScenGen = nullptr,
140140
const bool breakdown = false,
141-
const bool requireTradePnl = false);
141+
const bool requireTradePnl = false,
142+
const QuantLib::ext::shared_ptr<TodaysMarketParameters>& marketConfig = nullptr);
142143

143144
virtual ~MarketRiskBacktest() {}
144145

@@ -185,8 +186,7 @@ class MarketRiskBacktest : public ore::analytics::MarketRiskReport {
185186
void createReports(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports) override;
186187
virtual bool runTradeDetail(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports) override;
187188
ore::data::TimePeriod covariancePeriod() const override { return btArgs_->benchmarkPeriod_; }
188-
void addPnlCalculators(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports,
189-
const QuantLib::ext::shared_ptr<TodaysMarketParameters>& marketConfig) override;
189+
void addPnlCalculators(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports) override;
190190

191191
void handleSensiResults(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports,
192192
const QuantLib::ext::shared_ptr<ore::analytics::MarketRiskGroupBase>& riskGroup,

OREAnalytics/orea/engine/marketriskreport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ void MarketRiskReport::calculate(const ext::shared_ptr<MarketRiskReport::Reports
269269

270270
bool runDetailTrd = runTradeDetail(reports);
271271
bool runDetailRF = runRiskFactorDetail(reports);
272-
addPnlCalculators(reports, multiThreadArgs_ ? multiThreadArgs_->todaysMarketParams_ : QuantLib::ext::shared_ptr<TodaysMarketParameters>());
272+
addPnlCalculators(reports);
273273

274274
// Loop over all the risk groups
275275
riskGroups_->reset();

OREAnalytics/orea/engine/marketriskreport.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,7 @@ class MarketRiskReport : public ore::data::ProgressReporter {
332332
virtual std::string portfolioId(const QuantLib::ext::shared_ptr<TradeGroupBase>& tradeGroup) const;
333333
virtual std::string tradeGroupKey(const QuantLib::ext::shared_ptr<TradeGroupBase>& tradeGroup) const;
334334
virtual ore::data::TimePeriod covariancePeriod() const { return period_.value(); }
335-
virtual void addPnlCalculators(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports,
336-
const QuantLib::ext::shared_ptr<TodaysMarketParameters>& marketConfig) {}
335+
virtual void addPnlCalculators(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports) {}
337336

338337
// handle results specific to this report
339338
virtual void handleSensiResults(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& report,

OREAnalytics/orea/engine/pnlexplainreport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ void PnlExplainReport::handleSensiResults(const QuantLib::ext::shared_ptr<Market
135135
const QuantLib::ext::shared_ptr<TradeGroupBase>& tradeGroup) {
136136
}
137137

138-
void PnlExplainReport::addPnlCalculators(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports, const QuantLib::ext::shared_ptr<TodaysMarketParameters>& marketConfig) {
138+
void PnlExplainReport::addPnlCalculators(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports) {
139139
pnlCalculators_.push_back(QuantLib::ext::make_shared<PNLCalculator>(period_.value()));
140140
}
141141

OREAnalytics/orea/engine/pnlexplainreport.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ class PnlExplainReport : public MarketRiskReport {
6969
void handleSensiResults(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& report,
7070
const QuantLib::ext::shared_ptr<MarketRiskGroupBase>& riskGroup,
7171
const QuantLib::ext::shared_ptr<TradeGroupBase>& tradeGroup) override;
72-
void addPnlCalculators(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports,
73-
const QuantLib::ext::shared_ptr<TodaysMarketParameters>& marketConfig = nullptr) override;
72+
void addPnlCalculators(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports) override;
7473
void writeReports(const QuantLib::ext::shared_ptr<MarketRiskReport::Reports>& reports,
7574
const QuantLib::ext::shared_ptr<MarketRiskGroupBase>& riskGroup,
7675
const QuantLib::ext::shared_ptr<TradeGroupBase>& tradeGroup) override;

0 commit comments

Comments
 (0)