- QuantLib
- FittedBondDiscountCurve
- FittingMethod
 
Base fitting method used to construct a fitted bond discount curve. More...
#include <ql/termstructures/yield/fittedbonddiscountcurve.hpp>

| Public Member Functions | |
| virtual Size | size () const =0 | 
| total number of coefficients to fit/solve for | |
| Array | solution () const | 
| output array of results of optimization problem | |
| Integer | numberOfIterations () const | 
| final number of iterations used in the optimization problem | |
| Real | minimumCostValue () const | 
| final value of cost function after optimization | |
| virtual std::auto_ptr < FittingMethod > | clone () const =0 | 
| clone of the current object | |
| Protected Member Functions | |
| FittingMethod (bool constrainAtZero=true) | |
| constructor | |
| void | init () | 
| rerun every time instruments/referenceDate changes | |
| virtual DiscountFactor | discountFunction (const Array &x, Time t) const =0 | 
| derived classes must set this | |
| Protected Attributes | |
| bool | constrainAtZero_ | 
| constrains discount function to unity at  , if true | |
| FittedBondDiscountCurve * | curve_ | 
| internal reference to the FittedBondDiscountCurve instance | |
| Array | solution_ | 
| solution array found from optimization, set in calculate() | |
| Array | guessSolution_ | 
| optional guess solution to be passed into constructor. | |
| boost::shared_ptr< FittingCost > | costFunction_ | 
| base class sets this cost function used in the optimization routine | |
| Friends | |
| class | FittedBondDiscountCurve | 
Base fitting method used to construct a fitted bond discount curve.
This base class provides the specific methodology/strategy used to construct a FittedBondDiscountCurve. Derived classes need only define the virtual function discountFunction() based on the particular fitting method to be implemented, as well as size(), the number of variables to be solved for/optimized. The generic fitting methodology implemented here can be termed nonlinear, in contrast to (typically faster, computationally) linear fitting method.
 is any fitting of the form
 is any fitting of the form 
![\[ d(t) = \sum_{i=0} c_i b_i(t) \]](form_391.png) 
 . Such a fitting can be reduced to a linear algebra problem
. Such a fitting can be reduced to a linear algebra problem  , and for large numbers of bonds, would typically be much faster computationally than the generic non-linear fitting method.
, and for large numbers of bonds, would typically be much faster computationally than the generic non-linear fitting method.| virtual DiscountFactor discountFunction | ( | const Array & | x, | 
| Time | t | ||
| ) | const  [protected, pure virtual] | 
derived classes must set this
user-defined discount curve, as a function of time and an array of unknown fitting coefficients  .
. 
| Array guessSolution_  [protected] | 
optional guess solution to be passed into constructor.
The idea is to use a previous solution as a guess solution to the discount curve, in an attempt to speed up calculations.