QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
OISRateHelper Class Reference

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

#include <ql/termstructures/yield/oisratehelper.hpp>

Inheritance diagram for OISRateHelper:

Public Member Functions

 OISRateHelper (Natural settlementDays, const Period &tenor, const std::variant< Rate, 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(), BusinessDayConvention convention=ModifiedFollowing)
 OISRateHelper (const Date &startDate, const Date &endDate, const std::variant< Rate, 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(), BusinessDayConvention convention=ModifiedFollowing)
RateHelper interface
Real impliedQuote () const override
void setTermStructure (YieldTermStructure *) override
 sets the term structure to be used for pricing
inspectors
ext::shared_ptr< OvernightIndexedSwapswap () const
Public Member Functions inherited from RelativeDateBootstrapHelper< YieldTermStructure >
 RelativeDateBootstrapHelper (const std::variant< Spread, Handle< Quote > > &quote, bool updateDates=true)
void update () override
Public Member Functions inherited from BootstrapHelper< YieldTermStructure >
 BootstrapHelper (const std::variant< Spread, Handle< Quote > > &quote)
const Handle< Quote > & quote () const
Real quoteError () const
virtual Date earliestDate () const
 earliest relevant date
virtual Date maturityDate () const
 instrument's maturity date
virtual Date latestRelevantDate () const
 latest relevant date
virtual Date pillarDate () const
 pillar date
virtual Date latestDate () const
 latest date
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (const Observer &)
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
void registerWithObservables (const ext::shared_ptr< Observer > &)
Size unregisterWith (const ext::shared_ptr< Observable > &)
void unregisterWithAll ()
virtual void deepUpdate ()
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()

Visitability

Natural settlementDays_
Period tenor_
Date startDate_
Date endDate_
ext::shared_ptr< OvernightIndex > overnightIndex_
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< bool > endOfMonth_
ext::optional< FrequencyfixedPaymentFrequency_
Calendar fixedCalendar_
Calendar overnightCalendar_
BusinessDayConvention convention_
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
Date evaluationDate_
bool updateDates_
Handle< Quotequote_
YieldTermStructuretermStructure_
Date earliestDate_
Date latestDate_
Date maturityDate_
Date latestRelevantDate_
Date pillarDate_

Detailed Description

Rate helper for bootstrapping over Overnight Indexed Swap rates.

Member Function Documentation

◆ impliedQuote()

Real impliedQuote ( ) const
overridevirtual

◆ setTermStructure()

void setTermStructure ( YieldTermStructure * )
overridevirtual

sets the term structure to be used for pricing

Warning
Being a pointer and not a shared_ptr, the term structure is not guaranteed to remain allocated for the whole life of the rate helper. It is responsibility of the programmer to ensure that the pointer remains valid. It is advised that this method is called only inside the term structure being bootstrapped, setting the pointer to this, i.e., the term structure itself.

Reimplemented from BootstrapHelper< YieldTermStructure >.

◆ accept()

void accept ( AcyclicVisitor & )
overridevirtual

◆ initializeDates()

void initializeDates ( )
overrideprotectedvirtual