FittedBondDiscountCurve::FittingMethod — Base fitting method used to construct a fitted bond discount curve.  


#include <ql/termstructures/yield/fittedbonddiscountcurve.hpp>

Inherited by CubicBSplinesFitting, ExponentialSplinesFitting, NelsonSiegelFitting, SimplePolynomialFitting, SpreadFittingMethod, and SvenssonFitting.

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
bool constrainAtZero () const
return whether there is a constraint at zero
Array weights () const
return weights 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

Protected Member Functions

FittingMethod (bool constrainAtZero=true, const Array &weights=Array(), boost::shared_ptr< OptimizationMethod > optimizationMethod=boost::shared_ptr< OptimizationMethod >())
virtual void init ()
rerun every time instruments/referenceDate changes
virtual DiscountFactor discountFunction (const Array &x, Time t) const =0
discount function called by FittedBondDiscountCurve

Protected Attributes

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.
boost::shared_ptr< FittingCost > costFunction_
base class sets this cost function used in the optimization routine


class FittedBondDiscountCurve

Detailed Description

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.

Optional parameters for FittingMethod include an Array of weights, which will be used as weights to each bond. If not given or empty, then the bonds will be weighted by inverse duration


some parameters to the Simplex optimization method may need to be tweaked internally to the class, depending on the fitting method used, in order to get proper/reasonable/faster convergence.

Member Data Documentation

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.


Generated automatically by Doxygen for QuantLib from the source code.

Referenced By

The man pages constrainAtZero(3), constrainAtZero_(3), costFunction_(3), curve_(3), discountFunction(3), guessSolution_(3), init(3), minimumCostValue(3), numberOfIterations(3), optimizationMethod(3), solution(3), solution_(3) and weights(3) are aliases of QuantLib_FittedBondDiscountCurve_FittingMethod(3).

Wed Aug 2 2017 Version 1.10 QuantLib