Term structure with added spread on the instantaneous forward rate. More...
#include <ql/termstructures/yield/forwardspreadedtermstructure.hpp>
Public Member Functions | |
ForwardSpreadedTermStructure (const Handle< YieldTermStructure > &, const Handle< Quote > &spread) | |
TermStructure interface | |
DayCounter | dayCounter () const |
the day counter used for date/time conversion | |
Date | maxDate () const |
the latest date for which the curve can return values | |
Time | maxTime () const |
the latest time for which the curve can return values | |
const Date & | referenceDate () const |
the date at which discount = 1.0 and/or variance = 0.0 | |
Calendar | calendar () const |
the calendar used for reference and/or option date calculation | |
Natural | settlementDays () const |
the settlementDays used for reference date calculation | |
Observer interface | |
void | update () |
![]() | |
ForwardRateStructure (const DayCounter &dayCounter=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >()) | |
ForwardRateStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dayCounter=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >()) | |
ForwardRateStructure (Natural settlementDays, const Calendar &cal, const DayCounter &dayCounter=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >()) | |
![]() | |
YieldTermStructure (const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >()) | |
YieldTermStructure (const Date &referenceDate, const Calendar &cal=Calendar(), const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >()) | |
YieldTermStructure (Natural settlementDays, const Calendar &cal, const DayCounter &dc=DayCounter(), const std::vector< Handle< Quote > > &jumps=std::vector< Handle< Quote > >(), const std::vector< Date > &jumpDates=std::vector< Date >()) | |
DiscountFactor | discount (const Date &d, bool extrapolate=false) const |
DiscountFactor | discount (Time t, bool extrapolate=false) const |
InterestRate | zeroRate (const Date &d, const DayCounter &resultDayCounter, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const |
InterestRate | zeroRate (Time t, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const |
InterestRate | forwardRate (const Date &d1, const Date &d2, const DayCounter &resultDayCounter, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const |
InterestRate | forwardRate (const Date &d, const Period &p, const DayCounter &resultDayCounter, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const |
InterestRate | forwardRate (Time t1, Time t2, Compounding comp, Frequency freq=Annual, bool extrapolate=false) const |
const std::vector< Date > & | jumpDates () const |
const std::vector< Time > & | jumpTimes () const |
void | update () |
![]() | |
TermStructure (const DayCounter &dc=DayCounter()) | |
default constructor More... | |
TermStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter()) | |
initialize with a fixed reference date | |
TermStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=DayCounter()) | |
calculate the reference date based on the global evaluation date | |
Time | timeFromReference (const Date &date) const |
date/time conversion | |
![]() | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
std::pair< std::set < boost::shared_ptr < Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
Size | unregisterWith (const boost::shared_ptr< Observable > &) |
void | unregisterWithAll () |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
void | enableExtrapolation (bool b=true) |
enable extrapolation in subsequent calls | |
void | disableExtrapolation (bool b=true) |
disable extrapolation in subsequent calls | |
bool | allowsExtrapolation () const |
tells whether extrapolation is enabled | |
Protected Member Functions | |
ForwardRateStructure implementation | |
Rate | forwardImpl (Time t) const |
instantaneous forward-rate calculation | |
Rate | zeroYieldImpl (Time t) const |
![]() | |
DiscountFactor | discountImpl (Time) const |
Calculations | |
This method must be implemented in derived classes to perform the actual calculations. When it is called, range check has already been performed; therefore, it must assume that extrapolation is required. | |
![]() | |
void | checkRange (const Date &d, bool extrapolate) const |
date-range check | |
void | checkRange (Time t, bool extrapolate) const |
time-range check | |
Additional Inherited Members | |
![]() | |
bool | moving_ |
bool | updated_ |
Calendar | calendar_ |
Term structure with added spread on the instantaneous forward rate.
|
virtual |
This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.
Reimplemented from TermStructure.
Returns the zero yield rate for the given date calculating it from the instantaneous forward rate \( f(t) \) as
\[ z(t) = \int_0^t f(\tau) d\tau \]
Reimplemented from ForwardRateStructure.