Skip to content

Commit f2a89d1

Browse files
pcaspersjenkins
authored andcommitted
QPR-12488 fix
1 parent 021eadd commit f2a89d1

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

OREData/ored/model/inflation/infdkbuilder.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,10 +333,18 @@ void InfDkBuilder::buildCapFloorBasket() const {
333333

334334
Real tteFromBase = infVol_->timeFromBase(expiryDate);
335335

336-
Real marketPrem = dontCalibrate_ || tte <= 0 || tteFromBase <= 0 ? 0.00 : cf->NPV();
336+
Real marketPrem;
337+
if (dontCalibrate_)
338+
marketPrem = 0.1;
339+
else if (tte <= 0 || tteFromBase <= 0)
340+
marketPrem = 0.00;
341+
else
342+
marketPrem = cf->NPV();
343+
337344
QuantLib::ext::shared_ptr<QuantExt::CpiCapFloorHelper> helper =
338345
QuantLib::ext::make_shared<QuantExt::CpiCapFloorHelper>(capfloor, baseCPI, expiryDate, fixCalendar, bdc,
339-
fixCalendar, bdc, strikeValue, hIndex, lag, marketPrem);
346+
fixCalendar, bdc, strikeValue, hIndex, lag,
347+
marketPrem);
340348

341349
// we might produce duplicate expiry times even if the fixing dates are all different
342350
if (marketPrem > 0.0 && tte > 0 && tteFromBase > 0 &&

0 commit comments

Comments
 (0)