Skip to content

Commit 1d80989

Browse files
Farah Khashmanjenkins
authored andcommitted
QPR-12101: Support payment lag for CMSSpread leg
1 parent 7599a1d commit 1d80989

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

OREData/ored/portfolio/legdata.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2196,6 +2196,8 @@ Leg makeCMSSpreadLeg(const LegData& data, const boost::shared_ptr<QuantLib::Swap
21962196
else
21972197
paymentCalendar = parseCalendar(data.paymentCalendar());
21982198

2199+
PaymentLag paymentLag = parsePaymentLag(data.paymentLag());
2200+
21992201
vector<double> spreads = ore::data::buildScheduledVectorNormalised(cmsSpreadData->spreads(),
22002202
cmsSpreadData->spreadDates(), schedule, 0.0);
22012203
vector<double> gearings = ore::data::buildScheduledVectorNormalised(cmsSpreadData->gearings(),
@@ -2213,6 +2215,7 @@ Leg makeCMSSpreadLeg(const LegData& data, const boost::shared_ptr<QuantLib::Swap
22132215
.withPaymentCalendar(paymentCalendar)
22142216
.withPaymentDayCounter(dc)
22152217
.withPaymentAdjustment(bdc)
2218+
.withPaymentLag(boost::apply_visitor(PaymentLagInteger(), paymentLag))
22162219
.withFixingDays(fixingDays)
22172220
.inArrears(cmsSpreadData->isInArrears());
22182221

0 commit comments

Comments
 (0)