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
CmsSpreadLeg Class Reference

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

#include <cmsspreadcoupon.hpp>

+ Collaboration diagram for CmsSpreadLeg:

Public Member Functions

 CmsSpreadLeg (Schedule schedule, ext::shared_ptr< SwapSpreadIndex > swapSpreadIndex)
 
CmsSpreadLegwithNotionals (Real notional)
 
CmsSpreadLegwithNotionals (const std::vector< Real > &notionals)
 
CmsSpreadLegwithPaymentDayCounter (const DayCounter &)
 
CmsSpreadLegwithPaymentAdjustment (BusinessDayConvention)
 
CmsSpreadLegwithFixingDays (Natural fixingDays)
 
CmsSpreadLegwithFixingDays (const std::vector< Natural > &fixingDays)
 
CmsSpreadLegwithGearings (Real gearing)
 
CmsSpreadLegwithGearings (const std::vector< Real > &gearings)
 
CmsSpreadLegwithSpreads (Spread spread)
 
CmsSpreadLegwithSpreads (const std::vector< Spread > &spreads)
 
CmsSpreadLegwithCaps (Rate cap)
 
CmsSpreadLegwithCaps (const std::vector< Rate > &caps)
 
CmsSpreadLegwithFloors (Rate floor)
 
CmsSpreadLegwithFloors (const std::vector< Rate > &floors)
 
CmsSpreadLeginArrears (bool flag=true)
 
CmsSpreadLegwithZeroPayments (bool flag=true)
 
 operator Leg () const
 

Private Attributes

Schedule schedule_
 
ext::shared_ptr< SwapSpreadIndexswapSpreadIndex_
 
std::vector< Realnotionals_
 
DayCounter paymentDayCounter_
 
BusinessDayConvention paymentAdjustment_ = Following
 
std::vector< NaturalfixingDays_
 
std::vector< Realgearings_
 
std::vector< Spreadspreads_
 
std::vector< Ratecaps_
 
std::vector< Ratefloors_
 
bool inArrears_ = false
 
bool zeroPayments_ = false
 

Detailed Description

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

Definition at line 103 of file cmsspreadcoupon.hpp.

Constructor & Destructor Documentation

◆ CmsSpreadLeg()

CmsSpreadLeg ( Schedule  schedule,
ext::shared_ptr< SwapSpreadIndex swapSpreadIndex 
)

Definition at line 47 of file cmsspreadcoupon.cpp.

Member Function Documentation

◆ withNotionals() [1/2]

CmsSpreadLeg & withNotionals ( Real  notional)

Definition at line 52 of file cmsspreadcoupon.cpp.

◆ withNotionals() [2/2]

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

Definition at line 58 of file cmsspreadcoupon.cpp.

◆ withPaymentDayCounter()

CmsSpreadLeg & withPaymentDayCounter ( const DayCounter dayCounter)

Definition at line 64 of file cmsspreadcoupon.cpp.

◆ withPaymentAdjustment()

CmsSpreadLeg & withPaymentAdjustment ( BusinessDayConvention  convention)

Definition at line 70 of file cmsspreadcoupon.cpp.

◆ withFixingDays() [1/2]

CmsSpreadLeg & withFixingDays ( Natural  fixingDays)

Definition at line 75 of file cmsspreadcoupon.cpp.

◆ withFixingDays() [2/2]

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

Definition at line 81 of file cmsspreadcoupon.cpp.

◆ withGearings() [1/2]

CmsSpreadLeg & withGearings ( Real  gearing)

Definition at line 86 of file cmsspreadcoupon.cpp.

◆ withGearings() [2/2]

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

Definition at line 92 of file cmsspreadcoupon.cpp.

◆ withSpreads() [1/2]

CmsSpreadLeg & withSpreads ( Spread  spread)

Definition at line 97 of file cmsspreadcoupon.cpp.

◆ withSpreads() [2/2]

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

Definition at line 103 of file cmsspreadcoupon.cpp.

◆ withCaps() [1/2]

CmsSpreadLeg & withCaps ( Rate  cap)

Definition at line 108 of file cmsspreadcoupon.cpp.

◆ withCaps() [2/2]

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

Definition at line 113 of file cmsspreadcoupon.cpp.

◆ withFloors() [1/2]

CmsSpreadLeg & withFloors ( Rate  floor)

Definition at line 118 of file cmsspreadcoupon.cpp.

◆ withFloors() [2/2]

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

Definition at line 123 of file cmsspreadcoupon.cpp.

◆ inArrears()

CmsSpreadLeg & inArrears ( bool  flag = true)

Definition at line 128 of file cmsspreadcoupon.cpp.

◆ withZeroPayments()

CmsSpreadLeg & withZeroPayments ( bool  flag = true)

Definition at line 133 of file cmsspreadcoupon.cpp.

◆ operator Leg()

operator Leg ( ) const

Definition at line 138 of file cmsspreadcoupon.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ schedule_

Schedule schedule_
private

Definition at line 124 of file cmsspreadcoupon.hpp.

◆ swapSpreadIndex_

ext::shared_ptr<SwapSpreadIndex> swapSpreadIndex_
private

Definition at line 125 of file cmsspreadcoupon.hpp.

◆ notionals_

std::vector<Real> notionals_
private

Definition at line 126 of file cmsspreadcoupon.hpp.

◆ paymentDayCounter_

DayCounter paymentDayCounter_
private

Definition at line 127 of file cmsspreadcoupon.hpp.

◆ paymentAdjustment_

BusinessDayConvention paymentAdjustment_ = Following
private

Definition at line 128 of file cmsspreadcoupon.hpp.

◆ fixingDays_

std::vector<Natural> fixingDays_
private

Definition at line 129 of file cmsspreadcoupon.hpp.

◆ gearings_

std::vector<Real> gearings_
private

Definition at line 130 of file cmsspreadcoupon.hpp.

◆ spreads_

std::vector<Spread> spreads_
private

Definition at line 131 of file cmsspreadcoupon.hpp.

◆ caps_

std::vector<Rate> caps_
private

Definition at line 132 of file cmsspreadcoupon.hpp.

◆ floors_

std::vector<Rate> floors_
private

Definition at line 132 of file cmsspreadcoupon.hpp.

◆ inArrears_

bool inArrears_ = false
private

Definition at line 133 of file cmsspreadcoupon.hpp.

◆ zeroPayments_

bool zeroPayments_ = false
private

Definition at line 133 of file cmsspreadcoupon.hpp.