Term structure with added spread on the instantaneous forward rate. More...
#include <ql/termstructures/yield/forwardspreadedtermstructure.hpp>
Inheritance diagram for ForwardSpreadedTermStructure: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 () |
Public Member Functions inherited from ForwardRateStructure | |
| 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 >()) | |
Public Member Functions inherited from YieldTermStructure | |
| 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 () |
Public Member Functions inherited from TermStructure | |
| 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 | |
Public Member Functions inherited from Observer | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| std::pair< std::set< boost::shared_ptr< Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &) |
| void | registerWithObservables (const boost::shared_ptr< Observer > &) |
| Size | unregisterWith (const boost::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
Public Member Functions inherited from Observable | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| void | notifyObservers () |
Public Member Functions inherited from Extrapolator | |
| 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 |
Protected Member Functions inherited from ForwardRateStructure | |
| 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. | |
Protected Member Functions inherited from TermStructure | |
| void | checkRange (const Date &d, bool extrapolate) const |
| date-range check | |
| void | checkRange (Time t, bool extrapolate) const |
| time-range check | |
Additional Inherited Members | |
Protected Attributes inherited from TermStructure | |
| 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.