QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
IborLeg Class Reference

helper class building a sequence of capped/floored ibor-rate coupons More...

#include <iborcoupon.hpp>

+ Collaboration diagram for IborLeg:

Public Member Functions

 IborLeg (Schedule schedule, ext::shared_ptr< IborIndex > index)
 
IborLegwithNotionals (Real notional)
 
IborLegwithNotionals (const std::vector< Real > &notionals)
 
IborLegwithPaymentDayCounter (const DayCounter &)
 
IborLegwithPaymentAdjustment (BusinessDayConvention)
 
IborLegwithPaymentLag (Integer lag)
 
IborLegwithPaymentCalendar (const Calendar &)
 
IborLegwithFixingDays (Natural fixingDays)
 
IborLegwithFixingDays (const std::vector< Natural > &fixingDays)
 
IborLegwithGearings (Real gearing)
 
IborLegwithGearings (const std::vector< Real > &gearings)
 
IborLegwithSpreads (Spread spread)
 
IborLegwithSpreads (const std::vector< Spread > &spreads)
 
IborLegwithCaps (Rate cap)
 
IborLegwithCaps (const std::vector< Rate > &caps)
 
IborLegwithFloors (Rate floor)
 
IborLegwithFloors (const std::vector< Rate > &floors)
 
IborLeginArrears (bool flag=true)
 
IborLegwithZeroPayments (bool flag=true)
 
IborLegwithExCouponPeriod (const Period &, const Calendar &, BusinessDayConvention, bool endOfMonth=false)
 
IborLegwithIndexedCoupons (ext::optional< bool > b=true)
 
IborLegwithAtParCoupons (bool b=true)
 
 operator Leg () const
 

Private Attributes

Schedule schedule_
 
ext::shared_ptr< IborIndexindex_
 
std::vector< Realnotionals_
 
DayCounter paymentDayCounter_
 
BusinessDayConvention paymentAdjustment_ = Following
 
Integer paymentLag_ = 0
 
Calendar paymentCalendar_
 
std::vector< NaturalfixingDays_
 
std::vector< Realgearings_
 
std::vector< Spreadspreads_
 
std::vector< Ratecaps_
 
std::vector< Ratefloors_
 
bool inArrears_ = false
 
bool zeroPayments_ = false
 
Period exCouponPeriod_
 
Calendar exCouponCalendar_
 
BusinessDayConvention exCouponAdjustment_ = Unadjusted
 
bool exCouponEndOfMonth_ = false
 
ext::optional< booluseIndexedCoupons_
 

Detailed Description

helper class building a sequence of capped/floored ibor-rate coupons

Definition at line 134 of file iborcoupon.hpp.

Constructor & Destructor Documentation

◆ IborLeg()

IborLeg ( Schedule  schedule,
ext::shared_ptr< IborIndex index 
)

Definition at line 157 of file iborcoupon.cpp.

Member Function Documentation

◆ withNotionals() [1/2]

IborLeg & withNotionals ( Real  notional)

Definition at line 162 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withNotionals() [2/2]

IborLeg & withNotionals ( const std::vector< Real > &  notionals)

Definition at line 167 of file iborcoupon.cpp.

◆ withPaymentDayCounter()

IborLeg & withPaymentDayCounter ( const DayCounter dayCounter)

Definition at line 172 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withPaymentAdjustment()

IborLeg & withPaymentAdjustment ( BusinessDayConvention  convention)

Definition at line 177 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withPaymentLag()

IborLeg & withPaymentLag ( Integer  lag)

Definition at line 182 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withPaymentCalendar()

IborLeg & withPaymentCalendar ( const Calendar cal)

Definition at line 187 of file iborcoupon.cpp.

◆ withFixingDays() [1/2]

IborLeg & withFixingDays ( Natural  fixingDays)

Definition at line 192 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withFixingDays() [2/2]

IborLeg & withFixingDays ( const std::vector< Natural > &  fixingDays)

Definition at line 197 of file iborcoupon.cpp.

◆ withGearings() [1/2]

IborLeg & withGearings ( Real  gearing)

Definition at line 202 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withGearings() [2/2]

IborLeg & withGearings ( const std::vector< Real > &  gearings)

Definition at line 207 of file iborcoupon.cpp.

◆ withSpreads() [1/2]

IborLeg & withSpreads ( Spread  spread)

Definition at line 212 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withSpreads() [2/2]

IborLeg & withSpreads ( const std::vector< Spread > &  spreads)

Definition at line 217 of file iborcoupon.cpp.

◆ withCaps() [1/2]

IborLeg & withCaps ( Rate  cap)

Definition at line 222 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withCaps() [2/2]

IborLeg & withCaps ( const std::vector< Rate > &  caps)

Definition at line 227 of file iborcoupon.cpp.

◆ withFloors() [1/2]

IborLeg & withFloors ( Rate  floor)

Definition at line 232 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withFloors() [2/2]

IborLeg & withFloors ( const std::vector< Rate > &  floors)

Definition at line 237 of file iborcoupon.cpp.

◆ inArrears()

IborLeg & inArrears ( bool  flag = true)

Definition at line 242 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withZeroPayments()

IborLeg & withZeroPayments ( bool  flag = true)

Definition at line 247 of file iborcoupon.cpp.

◆ withExCouponPeriod()

IborLeg & withExCouponPeriod ( const Period period,
const Calendar cal,
BusinessDayConvention  convention,
bool  endOfMonth = false 
)

Definition at line 252 of file iborcoupon.cpp.

+ Here is the caller graph for this function:

◆ withIndexedCoupons()

IborLeg & withIndexedCoupons ( ext::optional< bool b = true)

Definition at line 263 of file iborcoupon.cpp.

◆ withAtParCoupons()

IborLeg & withAtParCoupons ( bool  b = true)

Definition at line 268 of file iborcoupon.cpp.

◆ operator Leg()

operator Leg ( ) const

Definition at line 273 of file iborcoupon.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ schedule_

Schedule schedule_
private

Definition at line 164 of file iborcoupon.hpp.

◆ index_

ext::shared_ptr<IborIndex> index_
private

Definition at line 165 of file iborcoupon.hpp.

◆ notionals_

std::vector<Real> notionals_
private

Definition at line 166 of file iborcoupon.hpp.

◆ paymentDayCounter_

DayCounter paymentDayCounter_
private

Definition at line 167 of file iborcoupon.hpp.

◆ paymentAdjustment_

BusinessDayConvention paymentAdjustment_ = Following
private

Definition at line 168 of file iborcoupon.hpp.

◆ paymentLag_

Integer paymentLag_ = 0
private

Definition at line 169 of file iborcoupon.hpp.

◆ paymentCalendar_

Calendar paymentCalendar_
private

Definition at line 170 of file iborcoupon.hpp.

◆ fixingDays_

std::vector<Natural> fixingDays_
private

Definition at line 171 of file iborcoupon.hpp.

◆ gearings_

std::vector<Real> gearings_
private

Definition at line 172 of file iborcoupon.hpp.

◆ spreads_

std::vector<Spread> spreads_
private

Definition at line 173 of file iborcoupon.hpp.

◆ caps_

std::vector<Rate> caps_
private

Definition at line 174 of file iborcoupon.hpp.

◆ floors_

std::vector<Rate> floors_
private

Definition at line 174 of file iborcoupon.hpp.

◆ inArrears_

bool inArrears_ = false
private

Definition at line 175 of file iborcoupon.hpp.

◆ zeroPayments_

bool zeroPayments_ = false
private

Definition at line 175 of file iborcoupon.hpp.

◆ exCouponPeriod_

Period exCouponPeriod_
private

Definition at line 176 of file iborcoupon.hpp.

◆ exCouponCalendar_

Calendar exCouponCalendar_
private

Definition at line 177 of file iborcoupon.hpp.

◆ exCouponAdjustment_

BusinessDayConvention exCouponAdjustment_ = Unadjusted
private

Definition at line 178 of file iborcoupon.hpp.

◆ exCouponEndOfMonth_

bool exCouponEndOfMonth_ = false
private

Definition at line 179 of file iborcoupon.hpp.

◆ useIndexedCoupons_

ext::optional<bool> useIndexedCoupons_
private

Definition at line 180 of file iborcoupon.hpp.