@@ -50,16 +50,17 @@ namespace QuantLib {
50
50
Natural lockoutDays,
51
51
bool applyObservationShift,
52
52
ext::shared_ptr<FloatingRateCouponPricer> pricer,
53
- DateGeneration::Rule rule)
53
+ DateGeneration::Rule rule,
54
+ Calendar overnightCalendar)
54
55
: RelativeDateRateHelper(fixedRate), settlementDays_(settlementDays), tenor_(tenor),
55
56
discountHandle_ (std::move(discount)), telescopicValueDates_(telescopicValueDates),
56
57
paymentLag_(paymentLag), paymentConvention_(paymentConvention),
57
58
paymentFrequency_(paymentFrequency), paymentCalendar_(std::move(paymentCalendar)),
58
59
forwardStart_(forwardStart), overnightSpread_(handleFromVariant(overnightSpread)), pillarChoice_(pillar),
59
60
averagingMethod_(averagingMethod), endOfMonth_(endOfMonth),
60
61
fixedPaymentFrequency_(fixedPaymentFrequency), fixedCalendar_(std::move(fixedCalendar)),
61
- lookbackDays_(lookbackDays), lockoutDays_(lockoutDays ), applyObservationShift_(applyObservationShift ),
62
- pricer_(std::move(pricer)), rule_(rule) {
62
+ overnightCalendar_(std::move(overnightCalendar)), lookbackDays_(lookbackDays ), lockoutDays_(lockoutDays ),
63
+ applyObservationShift_(applyObservationShift), pricer_(std::move(pricer)), rule_(rule) {
63
64
initialize (overnightIndex, customPillarDate);
64
65
}
65
66
@@ -84,16 +85,17 @@ namespace QuantLib {
84
85
Natural lockoutDays,
85
86
bool applyObservationShift,
86
87
ext::shared_ptr<FloatingRateCouponPricer> pricer,
87
- DateGeneration::Rule rule)
88
+ DateGeneration::Rule rule,
89
+ Calendar overnightCalendar)
88
90
: RelativeDateRateHelper(fixedRate, false ), startDate_(startDate), endDate_(endDate),
89
91
discountHandle_(std::move(discount)), telescopicValueDates_(telescopicValueDates),
90
92
paymentLag_(paymentLag), paymentConvention_(paymentConvention),
91
93
paymentFrequency_(paymentFrequency), paymentCalendar_(std::move(paymentCalendar)),
92
94
overnightSpread_(handleFromVariant(overnightSpread)), pillarChoice_(pillar),
93
95
averagingMethod_(averagingMethod), endOfMonth_(endOfMonth),
94
96
fixedPaymentFrequency_(fixedPaymentFrequency), fixedCalendar_(std::move(fixedCalendar)),
95
- lookbackDays_(lookbackDays), lockoutDays_(lockoutDays ), applyObservationShift_(applyObservationShift ),
96
- pricer_(std::move(pricer)), rule_(rule) {
97
+ overnightCalendar_(std::move(overnightCalendar)), lookbackDays_(lookbackDays ), lockoutDays_(lockoutDays ),
98
+ applyObservationShift_(applyObservationShift), pricer_(std::move(pricer)), rule_(rule) {
97
99
initialize (overnightIndex, customPillarDate);
98
100
}
99
101
@@ -144,6 +146,9 @@ namespace QuantLib {
144
146
if (!fixedCalendar_.empty ()) {
145
147
tmp.withFixedLegCalendar (fixedCalendar_);
146
148
}
149
+ if (!overnightCalendar_.empty ()) {
150
+ tmp.withOvernightLegCalendar (overnightCalendar_);
151
+ }
147
152
swap_ = tmp;
148
153
149
154
if (pricer_)
0 commit comments