Nelson-Siegel fitting method. More...
#include <ql/termstructures/yield/nonlinearfittingmethods.hpp>
 Inheritance diagram for NelsonSiegelFitting:
 Inheritance diagram for NelsonSiegelFitting:| Public Member Functions | |
| NelsonSiegelFitting (const Array &weights=Array(), boost::shared_ptr< OptimizationMethod > optimizationMethod=boost::shared_ptr< OptimizationMethod >(), const Array &l2=Array()) | |
| NelsonSiegelFitting (const Array &weights, const Array &l2) | |
| std::auto_ptr< FittedBondDiscountCurve::FittingMethod > | clone () const | 
| clone of the current object | |
|  Public Member Functions inherited from FittedBondDiscountCurve::FittingMethod | |
| 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 | |
| bool | constrainAtZero () const | 
| return whether there is a constraint at zero | |
| Array | weights () const | 
| return weights being used | |
| Array | l2 () const | 
| return l2 penalties being used | |
| boost::shared_ptr< OptimizationMethod > | optimizationMethod () const | 
| return optimization method being used | |
| DiscountFactor | discount (const Array &x, Time t) const | 
| open discountFunction to public | |
| Additional Inherited Members | |
|  Protected Member Functions inherited from FittedBondDiscountCurve::FittingMethod | |
| FittingMethod (bool constrainAtZero=true, const Array &weights=Array(), boost::shared_ptr< OptimizationMethod > optimizationMethod=boost::shared_ptr< OptimizationMethod >(), const Array &l2=Array()) | |
| constructors | |
| virtual void | init () | 
| rerun every time instruments/referenceDate changes | |
|  Protected Attributes inherited from FittedBondDiscountCurve::FittingMethod | |
| bool | constrainAtZero_ | 
| constrains discount function to unity at \( T=0 \), 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.  More... | |
| boost::shared_ptr< FittingCost > | costFunction_ | 
| base class sets this cost function used in the optimization routine | |
Nelson-Siegel fitting method.
Fits a discount function to the form \( d(t) = \exp^{-r t}, \) where the zero rate \(r\) is defined as
\[ r \equiv c_0 + (c_1 + c_2)*(1 - exp^{-\kappa*t})/(\kappa t) - c_2 exp^{ - \kappa t}. \]
See: Nelson, C. and A. Siegel (1985): "Parsimonious modeling of yield curves for US Treasury bills." NBER Working Paper Series, no 1594.