24 const Calendar& rebatePaymentCalendar,
25 const BusinessDayConvention rebatePaymentConvention)
26 :
RebatedExercise(exercise, exercise.dates(), std::vector<Real>(exercise.dates().size(), rebate),
27 rebateSettlementDays * Days, rebatePaymentCalendar, rebatePaymentConvention) {}
30 const Calendar& rebatePaymentCalendar,
31 const BusinessDayConvention rebatePaymentConvention)
32 :
RebatedExercise(exercise, exercise.dates(), std::vector<Real>(exercise.dates().size(), rebate),
33 rebateSettlementPeriod, rebatePaymentCalendar, rebatePaymentConvention) {}
36 const Natural rebateSettlementDays,
const Calendar& rebatePaymentCalendar,
37 const BusinessDayConvention rebatePaymentConvention)
38 :
RebatedExercise(exercise, exercise.dates(), rebates, rebateSettlementDays * Days, rebatePaymentCalendar,
39 rebatePaymentConvention) {}
42 const Period& rebateSettlementPeriod,
const Calendar& rebatePaymentCalendar,
43 const BusinessDayConvention rebatePaymentConvention)
44 :
RebatedExercise(exercise, exercise.dates(), rebates, rebateSettlementPeriod, rebatePaymentCalendar,
45 rebatePaymentConvention) {}
48 const std::vector<Real>& rebates,
const Period& rebateSettlementPeriod,
49 const Calendar& rebatePaymentCalendar,
50 const BusinessDayConvention rebatePaymentConvention)
51 : Exercise(exercise), exerciseDates_(exerciseDates), rebates_(rebates),
52 rebateSettlementPeriod_(rebateSettlementPeriod), rebatePaymentCalendar_(rebatePaymentCalendar),
53 rebatePaymentConvention_(rebatePaymentConvention) {
55 "then number of notification dates ("
56 << dates().size() <<
") must be equal to the number of exercise dates (" <<
exerciseDates_.size()
58 QL_REQUIRE(
rebates_.size() == dates().size(),
59 "the number of rebates (" <<
rebates_.size() <<
") must be equal to the number of exercise dates ("
Rebated exercise with exercise dates != notification dates and arbitrary period.
RebatedExercise(const Exercise &exercise, const Real rebate=0.0, const Natural rebateSettlementDays=0, const Calendar &rebatePaymentCalendar=NullCalendar(), const BusinessDayConvention rebatePaymentConvention=Following)
as ql ctor
std::vector< Date > exerciseDates_
std::vector< Real > rebates_
more flexible version of ql class