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

Rate helper for bootstrapping over Overnight Indexed Swap rates. More...

#include <oisratehelper.hpp>

+ Inheritance diagram for OISRateHelper:
+ Collaboration diagram for OISRateHelper:

Public Member Functions

 OISRateHelper (Natural settlementDays, const Period &tenor, const Handle< Quote > &fixedRate, const ext::shared_ptr< OvernightIndex > &overnightIndex, Handle< YieldTermStructure > discountingCurve={}, bool telescopicValueDates=false, Integer paymentLag=0, BusinessDayConvention paymentConvention=Following, Frequency paymentFrequency=Annual, Calendar paymentCalendar=Calendar(), const Period &forwardStart=0 *Days, const std::variant< Spread, Handle< Quote > > &overnightSpread=Spread(0.0), Pillar::Choice pillar=Pillar::LastRelevantDate, Date customPillarDate=Date(), RateAveraging::Type averagingMethod=RateAveraging::Compound, ext::optional< bool > endOfMonth=ext::nullopt, ext::optional< Frequency > fixedPaymentFrequency=ext::nullopt, Calendar fixedCalendar=Calendar(), Natural lookbackDays=Null< Natural >(), Natural lockoutDays=0, bool applyObservationShift=false, ext::shared_ptr< FloatingRateCouponPricer > pricer={}, DateGeneration::Rule rule=DateGeneration::Backward, Calendar overnightCalendar=Calendar())
 
 OISRateHelper (const Date &startDate, const Date &endDate, const Handle< Quote > &fixedRate, const ext::shared_ptr< OvernightIndex > &overnightIndex, Handle< YieldTermStructure > discountingCurve={}, bool telescopicValueDates=false, Integer paymentLag=0, BusinessDayConvention paymentConvention=Following, Frequency paymentFrequency=Annual, Calendar paymentCalendar=Calendar(), const std::variant< Spread, Handle< Quote > > &overnightSpread=Spread(0.0), Pillar::Choice pillar=Pillar::LastRelevantDate, Date customPillarDate=Date(), RateAveraging::Type averagingMethod=RateAveraging::Compound, ext::optional< bool > endOfMonth=ext::nullopt, ext::optional< Frequency > fixedPaymentFrequency=ext::nullopt, Calendar fixedCalendar=Calendar(), Natural lookbackDays=Null< Natural >(), Natural lockoutDays=0, bool applyObservationShift=false, ext::shared_ptr< FloatingRateCouponPricer > pricer={}, DateGeneration::Rule rule=DateGeneration::Backward, Calendar overnightCalendar=Calendar())
 
RateHelper interface
Real impliedQuote () const override
 
void setTermStructure (YieldTermStructure *) override
 
inspectors
ext::shared_ptr< OvernightIndexedSwapswap () const
 
- Public Member Functions inherited from RelativeDateBootstrapHelper< TS >
 RelativeDateBootstrapHelper (const std::variant< Spread, Handle< Quote > > &quote, bool updateDates=true)
 
void update () override
 
- Public Member Functions inherited from BootstrapHelper< TS >
 BootstrapHelper (const std::variant< Spread, Handle< Quote > > &quote)
 
 ~BootstrapHelper () override=default
 
const Handle< Quote > & quote () const
 
Real quoteError () const
 
virtual void setTermStructure (TS *)
 sets the term structure to be used for pricing More...
 
virtual Date earliestDate () const
 earliest relevant date More...
 
virtual Date maturityDate () const
 instrument's maturity date More...
 
virtual Date latestRelevantDate () const
 latest relevant date More...
 
virtual Date pillarDate () const
 pillar date More...
 
virtual Date latestDate () const
 latest date More...
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable ()=default
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

Visitability

Natural settlementDays_
 
Period tenor_
 
Date startDate_
 
Date endDate_
 
ext::shared_ptr< OvernightIndexovernightIndex_
 
ext::shared_ptr< OvernightIndexedSwapswap_
 
RelinkableHandle< YieldTermStructuretermStructureHandle_
 
Handle< YieldTermStructurediscountHandle_
 
bool telescopicValueDates_
 
RelinkableHandle< YieldTermStructurediscountRelinkableHandle_
 
Integer paymentLag_
 
BusinessDayConvention paymentConvention_
 
Frequency paymentFrequency_
 
Calendar paymentCalendar_
 
Period forwardStart_
 
Handle< QuoteovernightSpread_
 
Pillar::Choice pillarChoice_
 
RateAveraging::Type averagingMethod_
 
ext::optional< boolendOfMonth_
 
ext::optional< FrequencyfixedPaymentFrequency_
 
Calendar fixedCalendar_
 
Calendar overnightCalendar_
 
Natural lookbackDays_
 
Natural lockoutDays_
 
bool applyObservationShift_
 
ext::shared_ptr< FloatingRateCouponPricerpricer_
 
DateGeneration::Rule rule_ = DateGeneration::Backward
 
void accept (AcyclicVisitor &) override
 
void initialize (const ext::shared_ptr< OvernightIndex > &overnightIndex, Date customPillarDate)
 
void initializeDates () override
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from RelativeDateBootstrapHelper< TS >
- Protected Attributes inherited from RelativeDateBootstrapHelper< TS >
Date evaluationDate_
 
bool updateDates_
 
- Protected Attributes inherited from BootstrapHelper< TS >
Handle< Quotequote_
 
TS * termStructure_
 
Date earliestDate_
 
Date latestDate_
 
Date maturityDate_
 
Date latestRelevantDate_
 
Date pillarDate_
 

Detailed Description

Rate helper for bootstrapping over Overnight Indexed Swap rates.

Definition at line 38 of file oisratehelper.hpp.

Constructor & Destructor Documentation

◆ OISRateHelper() [1/2]

OISRateHelper ( Natural  settlementDays,
const Period tenor,
const Handle< Quote > &  fixedRate,
const ext::shared_ptr< OvernightIndex > &  overnightIndex,
Handle< YieldTermStructure discountingCurve = {},
bool  telescopicValueDates = false,
Integer  paymentLag = 0,
BusinessDayConvention  paymentConvention = Following,
Frequency  paymentFrequency = Annual,
Calendar  paymentCalendar = Calendar(),
const Period forwardStart = 0 * Days,
const std::variant< Spread, Handle< Quote > > &  overnightSpread = Spread(0.0),
Pillar::Choice  pillar = Pillar::LastRelevantDate,
Date  customPillarDate = Date(),
RateAveraging::Type  averagingMethod = RateAveraging::Compound,
ext::optional< bool endOfMonth = ext::nullopt,
ext::optional< Frequency fixedPaymentFrequency = ext::nullopt,
Calendar  fixedCalendar = Calendar(),
Natural  lookbackDays = Null<Natural>(),
Natural  lockoutDays = 0,
bool  applyObservationShift = false,
ext::shared_ptr< FloatingRateCouponPricer pricer = {},
DateGeneration::Rule  rule = DateGeneration::Backward,
Calendar  overnightCalendar = Calendar() 
)

Definition at line 31 of file oisratehelper.cpp.

+ Here is the call graph for this function:

◆ OISRateHelper() [2/2]

OISRateHelper ( const Date startDate,
const Date endDate,
const Handle< Quote > &  fixedRate,
const ext::shared_ptr< OvernightIndex > &  overnightIndex,
Handle< YieldTermStructure discountingCurve = {},
bool  telescopicValueDates = false,
Integer  paymentLag = 0,
BusinessDayConvention  paymentConvention = Following,
Frequency  paymentFrequency = Annual,
Calendar  paymentCalendar = Calendar(),
const std::variant< Spread, Handle< Quote > > &  overnightSpread = Spread(0.0),
Pillar::Choice  pillar = Pillar::LastRelevantDate,
Date  customPillarDate = Date(),
RateAveraging::Type  averagingMethod = RateAveraging::Compound,
ext::optional< bool endOfMonth = ext::nullopt,
ext::optional< Frequency fixedPaymentFrequency = ext::nullopt,
Calendar  fixedCalendar = Calendar(),
Natural  lookbackDays = Null<Natural>(),
Natural  lockoutDays = 0,
bool  applyObservationShift = false,
ext::shared_ptr< FloatingRateCouponPricer pricer = {},
DateGeneration::Rule  rule = DateGeneration::Backward,
Calendar  overnightCalendar = Calendar() 
)

Definition at line 67 of file oisratehelper.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ impliedQuote()

Real impliedQuote ( ) const
overridevirtual

Implements BootstrapHelper< TS >.

Definition at line 205 of file oisratehelper.cpp.

◆ setTermStructure()

void setTermStructure ( YieldTermStructure t)
override

Definition at line 189 of file oisratehelper.cpp.

+ Here is the call graph for this function:

◆ swap()

ext::shared_ptr< OvernightIndexedSwap > swap ( ) const

Definition at line 99 of file oisratehelper.hpp.

◆ accept()

void accept ( AcyclicVisitor v)
overridevirtual

Reimplemented from BootstrapHelper< TS >.

Definition at line 219 of file oisratehelper.cpp.

+ Here is the call graph for this function:

◆ initialize()

void initialize ( const ext::shared_ptr< OvernightIndex > &  overnightIndex,
Date  customPillarDate 
)
protected

Definition at line 102 of file oisratehelper.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initializeDates()

void initializeDates ( )
overrideprotectedvirtual

Implements RelativeDateBootstrapHelper< TS >.

Definition at line 119 of file oisratehelper.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ settlementDays_

Natural settlementDays_
protected

Definition at line 110 of file oisratehelper.hpp.

◆ tenor_

Period tenor_
protected

Definition at line 111 of file oisratehelper.hpp.

◆ startDate_

Date startDate_
protected

Definition at line 112 of file oisratehelper.hpp.

◆ endDate_

Date endDate_
protected

Definition at line 112 of file oisratehelper.hpp.

◆ overnightIndex_

ext::shared_ptr<OvernightIndex> overnightIndex_
protected

Definition at line 113 of file oisratehelper.hpp.

◆ swap_

ext::shared_ptr<OvernightIndexedSwap> swap_
protected

Definition at line 115 of file oisratehelper.hpp.

◆ termStructureHandle_

RelinkableHandle<YieldTermStructure> termStructureHandle_
protected

Definition at line 116 of file oisratehelper.hpp.

◆ discountHandle_

Handle<YieldTermStructure> discountHandle_
protected

Definition at line 118 of file oisratehelper.hpp.

◆ telescopicValueDates_

bool telescopicValueDates_
protected

Definition at line 119 of file oisratehelper.hpp.

◆ discountRelinkableHandle_

RelinkableHandle<YieldTermStructure> discountRelinkableHandle_
protected

Definition at line 120 of file oisratehelper.hpp.

◆ paymentLag_

Integer paymentLag_
protected

Definition at line 122 of file oisratehelper.hpp.

◆ paymentConvention_

BusinessDayConvention paymentConvention_
protected

Definition at line 123 of file oisratehelper.hpp.

◆ paymentFrequency_

Frequency paymentFrequency_
protected

Definition at line 124 of file oisratehelper.hpp.

◆ paymentCalendar_

Calendar paymentCalendar_
protected

Definition at line 125 of file oisratehelper.hpp.

◆ forwardStart_

Period forwardStart_
protected

Definition at line 126 of file oisratehelper.hpp.

◆ overnightSpread_

Handle<Quote> overnightSpread_
protected

Definition at line 127 of file oisratehelper.hpp.

◆ pillarChoice_

Pillar::Choice pillarChoice_
protected

Definition at line 128 of file oisratehelper.hpp.

◆ averagingMethod_

RateAveraging::Type averagingMethod_
protected

Definition at line 129 of file oisratehelper.hpp.

◆ endOfMonth_

ext::optional<bool> endOfMonth_
protected

Definition at line 130 of file oisratehelper.hpp.

◆ fixedPaymentFrequency_

ext::optional<Frequency> fixedPaymentFrequency_
protected

Definition at line 131 of file oisratehelper.hpp.

◆ fixedCalendar_

Calendar fixedCalendar_
protected

Definition at line 132 of file oisratehelper.hpp.

◆ overnightCalendar_

Calendar overnightCalendar_
protected

Definition at line 133 of file oisratehelper.hpp.

◆ lookbackDays_

Natural lookbackDays_
protected

Definition at line 134 of file oisratehelper.hpp.

◆ lockoutDays_

Natural lockoutDays_
protected

Definition at line 135 of file oisratehelper.hpp.

◆ applyObservationShift_

bool applyObservationShift_
protected

Definition at line 136 of file oisratehelper.hpp.

◆ pricer_

ext::shared_ptr<FloatingRateCouponPricer> pricer_
protected

Definition at line 137 of file oisratehelper.hpp.

◆ rule_

Definition at line 138 of file oisratehelper.hpp.