private int bmaCutoffDays = 0; // to be verified // double gearing = 1.0, double spread = 0.0, // Date refPeriodStart = Date(), Date refPeriodEnd = Date(), DayCounter dayCounter = DayCounter()); public AverageBMACoupon(double nominal, Date paymentDate, Date startDate, Date endDate, BMAIndex index, double gearing, double spread, Date refPeriodStart, Date refPeriodEnd, DayCounter dayCounter) : base(nominal, paymentDate, startDate, endDate, index.fixingDays(), index, gearing, spread, refPeriodStart, refPeriodEnd, dayCounter, false) { fixingSchedule_ = index.fixingSchedule( index.fixingCalendar() .advance(startDate, new Period(-index.fixingDays() + bmaCutoffDays, TimeUnit.Days), BusinessDayConvention.Preceding), endDate); setPricer(new AverageBMACouponPricer()); }
public AverageBMACoupon(Date paymentDate, double nominal, Date startDate, Date endDate, BMAIndex index, double gearing = 1.0, double spread = 0.0, Date refPeriodStart = null, Date refPeriodEnd = null, DayCounter dayCounter = null) : base(paymentDate, nominal, startDate, endDate, index.fixingDays(), index, gearing, spread, refPeriodStart, refPeriodEnd, dayCounter) { fixingSchedule_ = index.fixingSchedule( index.fixingCalendar() .advance(startDate, new Period(-index.fixingDays(), TimeUnit.Days), BusinessDayConvention.Preceding), endDate); setPricer(new AverageBMACouponPricer()); }