diff --git a/ql/cashflows/coupon.cpp b/ql/cashflows/coupon.cpp index 9b8ef56367..f94f1402eb 100644 --- a/ql/cashflows/coupon.cpp +++ b/ql/cashflows/coupon.cpp @@ -71,6 +71,8 @@ namespace QuantLib { Date::serial_type Coupon::accruedDays(const Date& d) const { if (d <= accrualStartDate_ || d > paymentDate_) { return 0; + } else if (tradingExCoupon(d)) { + return -dayCounter().dayCount(d, std::max(d, accrualEndDate_)); } else { return dayCounter().dayCount(accrualStartDate_, std::min(d, accrualEndDate_));