24#include <ql/instruments/bonds/fixedratebond.hpp>
25#include <ql/cashflows/cashflowvectors.hpp>
26#include <ql/cashflows/simplecashflow.hpp>
27#include <ql/time/schedule.hpp>
34 const std::vector<Rate>& coupons,
38 const Date& issueDate,
40 const Period& exCouponPeriod,
43 bool exCouponEndOfMonth,
45 :
Bond(settlementDays,
46 paymentCalendar==
Calendar() ? schedule.calendar() : paymentCalendar,
48 frequency_(schedule.hasTenor() ? schedule.tenor().frequency() :
NoFrequency),
49 dayCounter_(accrualDayCounter),
50 firstPeriodDayCounter_(firstPeriodDayCounter) {
67 QL_ENSURE(!
cashflows().empty(),
"bond with no cashflows!");
68 QL_ENSURE(
redemptions_.size() == 1,
"multiple redemptions created");
void addRedemptionsToCashflows(const std::vector< Real > &redemptions=std::vector< Real >())
const Leg & cashflows() const
const ext::shared_ptr< CashFlow > & redemption() const
FixedRateBond(Natural settlementDays, Real faceAmount, const Schedule &schedule, const std::vector< Rate > &coupons, const DayCounter &accrualDayCounter, BusinessDayConvention paymentConvention=Following, Real redemption=100.0, const Date &issueDate=Date(), const Calendar &paymentCalendar=Calendar(), const Period &exCouponPeriod=Period(), const Calendar &exCouponCalendar=Calendar(), BusinessDayConvention exCouponConvention=Unadjusted, bool exCouponEndOfMonth=false, const DayCounter &firstPeriodDayCounter=DayCounter())
simple annual compounding coupon rates
const DayCounter & firstPeriodDayCounter() const
helper class building a sequence of fixed rate coupons
FixedRateLeg & withNotionals(Real)
FixedRateLeg & withPaymentCalendar(const Calendar &)
FixedRateLeg & withPaymentAdjustment(BusinessDayConvention)
FixedRateLeg & withCouponRates(Rate, const DayCounter &paymentDayCounter, Compounding comp=Simple, Frequency freq=Annual)
FixedRateLeg & withFirstPeriodDayCounter(const DayCounter &)
FixedRateLeg & withExCouponPeriod(const Period &, const Calendar &, BusinessDayConvention, bool endOfMonth=false)
const Date & endDate() const
BusinessDayConvention
Business Day conventions.
@ NoFrequency
null frequency
unsigned QL_INTEGER Natural
positive integer