Discount curve fitted to a set of fixed-coupon bonds. More...
#include <ql/termstructures/yield/fittedbonddiscountcurve.hpp>

Classes | |
| class | FittingMethod |
| Base fitting method used to construct a fitted bond discount curve. More... | |
Public Member Functions | |
Constructors | |
| FittedBondDiscountCurve (Natural settlementDays, const Calendar &calendar, const std::vector< boost::shared_ptr< BondHelper > > &bonds, const DayCounter &dayCounter, const FittingMethod &fittingMethod, Real accuracy=1.0e-10, Size maxEvaluations=10000, const Array &guess=Array(), Real simplexLambda=1.0) | |
| reference date based on current evaluation date | |
| FittedBondDiscountCurve (const Date &referenceDate, const std::vector< boost::shared_ptr< BondHelper > > &bonds, const DayCounter &dayCounter, const FittingMethod &fittingMethod, Real accuracy=1.0e-10, Size maxEvaluations=10000, const Array &guess=Array(), Real simplexLambda=1.0) | |
| curve reference date fixed for life of curve | |
| FittedBondDiscountCurve (Natural settlementDays, const Calendar &calendar, const std::vector< boost::shared_ptr< FixedRateBondHelper > > &bonds, const DayCounter &dayCounter, const FittingMethod &fittingMethod, Real accuracy=1.0e-10, Size maxEvaluations=10000, const Array &guess=Array(), Real simplexLambda=1.0) | |
| reference date based on current evaluation date | |
| FittedBondDiscountCurve (const Date &referenceDate, const std::vector< boost::shared_ptr< FixedRateBondHelper > > &bonds, const DayCounter &dayCounter, const FittingMethod &fittingMethod, Real accuracy=1.0e-10, Size maxEvaluations=10000, const Array &guess=Array(), Real simplexLambda=1.0) | |
| curve reference date fixed for life of curve | |
Inspectors | |
| Size | numberOfBonds () const |
| total number of bonds used to fit the yield curve | |
| Date | maxDate () const |
| the latest date for which the curve can return values | |
| const FittingMethod & | fitResults () const |
| class holding the results of the fit | |
Observer interface | |
| void | update () |
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 | |
| virtual DayCounter | dayCounter () const |
| the day counter used for date/time conversion | |
| Time | timeFromReference (const Date &date) const |
| date/time conversion | |
| virtual Time | maxTime () const |
| the latest time for which the curve can return values | |
| virtual const Date & | referenceDate () const |
| the date at which discount = 1.0 and/or variance = 0.0 | |
| virtual Calendar | calendar () const |
| the calendar used for reference and/or option date calculation | |
| virtual Natural | settlementDays () const |
| the settlementDays used for reference date calculation | |
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 > &) |
| 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 | |
Public Member Functions inherited from LazyObject | |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
Friends | |
| class | FittingMethod |
Additional Inherited Members | |
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 | |
Protected Member Functions inherited from LazyObject | |
| virtual void | calculate () const |
Protected Attributes inherited from TermStructure | |
| bool | moving_ |
| bool | updated_ |
| Calendar | calendar_ |
Protected Attributes inherited from LazyObject | |
| bool | calculated_ |
| bool | frozen_ |
Discount curve fitted to a set of fixed-coupon bonds.
This class fits a discount function
over a set of bonds, using a user defined fitting method. The discount function is fit in such a way so that all cashflows of all input bonds, when discounted using
, will reproduce the set of input bond prices in an optimized sense. Minimized price errors are weighted by the inverse of their respective bond duration.
The FittedBondDiscountCurve class acts as a generic wrapper, while its inner class FittingMethod provides the implementation details. Developers thus need only derive new fitting methods from the latter.
Example: compares various bond discount curve fitting methodologies