29 const Date& accrualStartDate,
30 const Date& accrualEndDate,
31 const Date& refPeriodStart,
32 const Date& refPeriodEnd,
33 const Date& exCouponDate)
34 : paymentDate_(paymentDate), nominal_(nominal),
35 accrualStartDate_(accrualStartDate), accrualEndDate_(accrualEndDate),
36 refPeriodStart_(refPeriodStart), refPeriodEnd_(refPeriodEnd),
37 exCouponDate_(exCouponDate), accrualPeriod_(
Null<
Real>()) {
degenerate base class for the Acyclic Visitor pattern
bool tradingExCoupon(const Date &refDate=Date()) const
returns true if the cashflow is trading ex-coupon on the refDate
Date::serial_type accrualDays() const
accrual period in days
void accept(AcyclicVisitor &) override
virtual DayCounter dayCounter() const =0
day counter for accrual calculation
Time accruedPeriod(const Date &) const
accrued period as fraction of year at the given date
Date::serial_type accruedDays(const Date &) const
accrued days at the given date
Time accrualPeriod() const
accrual period as fraction of year
Coupon(const Date &paymentDate, Real nominal, const Date &accrualStartDate, const Date &accrualEndDate, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const Date &exCouponDate=Date())
std::int_fast32_t serial_type
serial number type
Date::serial_type dayCount(const Date &, const Date &) const
Returns the number of days between two dates.
Time yearFraction(const Date &, const Date &, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date()) const
Returns the period between two dates as a fraction of year.
template class providing a null value for a given type.
Visitor for a specific class
virtual void visit(T &)=0
Coupon accruing over a fixed period.
Real Time
continuous quantity with 1-year units
ext::shared_ptr< BlackVolTermStructure > v
degenerate base class for the Acyclic Visitor pattern