30#ifndef quantlib_ratehelpers_hpp
31#define quantlib_ratehelpers_hpp
54 const Date& iborStartDate,
63 const Date& iborStartDate,
72 const Date& iborStartDate,
73 const Date& iborEndDate,
78 const Date& iborStartDate,
84 const Date& iborStartDate,
85 const ext::shared_ptr<IborIndex>& iborIndex,
89 const Date& iborStartDate,
90 const ext::shared_ptr<IborIndex>& iborIndex,
129 const ext::shared_ptr<IborIndex>& iborIndex);
131 const ext::shared_ptr<IborIndex>& iborIndex);
162 bool useIndexedCoupon =
true);
173 bool useIndexedCoupon =
true);
176 const ext::shared_ptr<IborIndex>& iborIndex,
179 bool useIndexedCoupon =
true);
182 const ext::shared_ptr<IborIndex>& iborIndex,
185 bool useIndexedCoupon =
true);
196 bool useIndexedCoupon =
true);
207 bool useIndexedCoupon =
true);
210 const ext::shared_ptr<IborIndex>& iborIndex,
213 bool useIndexedCoupon =
true);
216 const ext::shared_ptr<IborIndex>& iborIndex,
219 bool useIndexedCoupon =
true);
223 const ext::shared_ptr<IborIndex>& iborIndex,
226 bool useIndexedCoupon =
true);
230 const ext::shared_ptr<IborIndex>& iborIndex,
233 bool useIndexedCoupon =
true);
261 const ext::shared_ptr<SwapIndex>& swapIndex,
268 bool endOfMonth =
false,
269 const ext::optional<bool>& useIndexedCoupons =
ext::nullopt);
278 const ext::shared_ptr<IborIndex>& iborIndex,
286 bool endOfMonth =
false,
287 const ext::optional<bool>& useIndexedCoupons =
ext::nullopt);
289 const ext::shared_ptr<SwapIndex>& swapIndex,
296 bool endOfMonth =
false,
297 const ext::optional<bool>& useIndexedCoupons =
ext::nullopt);
306 const ext::shared_ptr<IborIndex>& iborIndex,
314 bool endOfMonth =
false,
315 const ext::optional<bool>& useIndexedCoupons =
ext::nullopt);
325 ext::shared_ptr<VanillaSwap>
swap()
const;
364 ext::shared_ptr<BMAIndex> bmaIndex,
366 ext::shared_ptr<IborIndex> index);
swap paying Libor against BMA coupons
base helper class used for bootstrapping
degenerate base class for the Acyclic Visitor pattern
Rate helper for bootstrapping over BMA swap rates.
void setTermStructure(YieldTermStructure *) override
RelinkableHandle< YieldTermStructure > termStructureHandle_
ext::shared_ptr< IborIndex > iborIndex_
void accept(AcyclicVisitor &) override
void initializeDates() override
ext::shared_ptr< BMAIndex > bmaIndex_
Real impliedQuote() const override
BusinessDayConvention bmaConvention_
ext::shared_ptr< BMASwap > swap_
Base helper class for bootstrapping.
Rate helper for bootstrapping over deposit rates.
void setTermStructure(YieldTermStructure *) override
RelinkableHandle< YieldTermStructure > termStructureHandle_
ext::shared_ptr< IborIndex > iborIndex_
void accept(AcyclicVisitor &) override
void initializeDates() override
Real impliedQuote() const override
Rate helper for bootstrapping over FRA rates.
ext::optional< Natural > immOffsetEnd_
void setTermStructure(YieldTermStructure *) override
ext::optional< Natural > immOffsetStart_
RelinkableHandle< YieldTermStructure > termStructureHandle_
Pillar::Choice pillarChoice_
ext::shared_ptr< IborIndex > iborIndex_
ext::optional< Period > periodToStart_
void accept(AcyclicVisitor &) override
void initializeDates() override
Real impliedQuote() const override
Rate helper for bootstrapping over IborIndex futures prices.
void accept(AcyclicVisitor &) override
Real impliedQuote() const override
Real convexityAdjustment() const
Rate helper for bootstrapping over Fx Swap rates.
Calendar tradingCalendar() const
void setTermStructure(YieldTermStructure *) override
RelinkableHandle< YieldTermStructure > termStructureHandle_
Natural fixingDays() const
Calendar calendar() const
Calendar tradingCalendar_
void accept(AcyclicVisitor &) override
RelinkableHandle< YieldTermStructure > collRelinkableHandle_
Handle< YieldTermStructure > collHandle_
void initializeDates() override
BusinessDayConvention conv_
bool isFxBaseCurrencyCollateralCurrency() const
bool isFxBaseCurrencyCollateralCurrency_
Real impliedQuote() const override
Calendar adjustmentCalendar() const
BusinessDayConvention businessDayConvention() const
Shared handle to an observable.
template class providing a null value for a given type.
Bootstrap helper with date schedule relative to global evaluation date.
Relinkable handle to an observable.
Rate helper for bootstrapping over swap rates.
RelinkableHandle< YieldTermStructure > discountRelinkableHandle_
void setTermStructure(YieldTermStructure *) override
BusinessDayConvention fixedConvention_
RelinkableHandle< YieldTermStructure > termStructureHandle_
ext::shared_ptr< VanillaSwap > swap_
Pillar::Choice pillarChoice_
DayCounter fixedDayCount_
const Period & forwardStart() const
Handle< YieldTermStructure > discountHandle_
ext::shared_ptr< IborIndex > iborIndex_
ext::optional< bool > useIndexedCoupons_
ext::shared_ptr< VanillaSwap > swap() const
void accept(AcyclicVisitor &) override
Frequency fixedFrequency_
void initializeDates() override
Real impliedQuote() const override
Interest-rate term structure.
Frequency
Frequency of events.
BusinessDayConvention
Business Day conventions.
Real Time
continuous quantity with 1-year units
unsigned QL_INTEGER Natural
positive integer
Real Spread
spreads on interest rates
const boost::none_t & nullopt
BootstrapHelper< YieldTermStructure > RateHelper
RelativeDateBootstrapHelper< YieldTermStructure > RelativeDateRateHelper
Maps optional to either the boost or std implementation.
Type
Futures type enumeration.
Choice
Enumeration for pillar determination alternatives.
@ LastRelevantDate
instruments maturity date
Simple fixed-rate vs Libor swap.