Skip to content

Commit 42cd87d

Browse files
pcaspersjenkins
authored andcommitted
QPR-12416 exclude dates outside accrual calc periods
1 parent 746e190 commit 42cd87d

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

OREData/ored/portfolio/makenonstandardlegs.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,12 +156,15 @@ Leg makeNonStandardIborLeg(const boost::shared_ptr<IborIndex>& index, const std:
156156
for (auto const& d : calcDates)
157157
effCalcDates.insert(d);
158158

159-
for (auto const& d : resetDates)
160-
effCalcDates.insert(d);
159+
for (auto const& d : resetDates) {
160+
if (d >= calcDates.front() && d < calcDates.back())
161+
effCalcDates.insert(d);
162+
}
161163

162164
if (strictNotionalDates) {
163165
for (auto const& d : notionalDates) {
164-
effCalcDates.insert(d);
166+
if (d >= calcDates.front() && d < calcDates.back())
167+
effCalcDates.insert(d);
165168
}
166169
}
167170

@@ -279,7 +282,8 @@ Leg makeNonStandardFixedLeg(const std::vector<Date>& calcDates, const std::vecto
279282

280283
if (strictNotionalDates)
281284
for (auto const& d : notionalDates) {
282-
effCalcDates.insert(d);
285+
if (d >= calcDates.front() && d < calcDates.back())
286+
effCalcDates.insert(d);
283287
}
284288

285289
// build coupons

0 commit comments

Comments
 (0)