26#include <ql/cashflow.hpp>
27#include <ql/handle.hpp>
28#include <ql/patterns/visitor.hpp>
29#include <ql/termstructures/yieldtermstructure.hpp>
30#include <ql/time/daycounter.hpp>
42 const Real bondNotional,
const QuantLib::ext::shared_ptr<BondIndex>& bondIndex,
43 const Real
initialPrice = Null<Real>(),
const QuantLib::ext::shared_ptr<FxIndex>&
fxIndex =
nullptr);
56 BondTRSLeg(
const std::vector<Date>& valuationDates,
const std::vector<Date>& paymentDates,
const Real bondNotional,
57 const QuantLib::ext::shared_ptr<BondIndex>& bondIndex,
const QuantLib::ext::shared_ptr<FxIndex>& fxIndex =
nullptr);
bond index class representing historical and forward bond prices
void setFixingStartDate(QuantLib::Date fixingDate)
const Real notional() const override
helper class building a sequence of bond trs cashflows
BondTRSLeg & withInitialPrice(Real)
QuantLib::ext::shared_ptr< FxIndex > fxIndex_
std::vector< Date > valuationDates_
std::vector< Date > paymentDates_
QuantLib::ext::shared_ptr< BondIndex > bondIndex_
const QuantLib::ext::shared_ptr< FxIndex > & fxIndex() const
const Real initialPrice() const
const Date & fixingEndDate() const
Date date() const override
virtual const Real notional() const
const Date & fixingStartDate() const
cashflow paying the total return of an asset