QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SimplePolynomialFitting Class Reference

Simple polynomial fitting method. More...

#include <nonlinearfittingmethods.hpp>

+ Inheritance diagram for SimplePolynomialFitting:
+ Collaboration diagram for SimplePolynomialFitting:

Public Member Functions

 SimplePolynomialFitting (Natural degree, bool constrainAtZero=true, const Array &weights=Array(), const ext::shared_ptr< OptimizationMethod > &optimizationMethod={}, const Array &l2=Array(), Real minCutoffTime=0.0, Real maxCutoffTime=QL_MAX_REAL, Constraint constraint=NoConstraint())
 
 SimplePolynomialFitting (Natural degree, bool constrainAtZero, const Array &weights, const Array &l2, Real minCutoffTime=0.0, Real maxCutoffTime=QL_MAX_REAL, Constraint constraint=NoConstraint())
 
std::unique_ptr< FittedBondDiscountCurve::FittingMethodclone () const override
 clone of the current object More...
 
- Public Member Functions inherited from FittedBondDiscountCurve::FittingMethod
virtual ~FittingMethod ()=default
 
virtual Size size () const =0
 total number of coefficients to fit/solve for More...
 
Array solution () const
 output array of results of optimization problem More...
 
Integer numberOfIterations () const
 final number of iterations used in the optimization problem More...
 
Real minimumCostValue () const
 final value of cost function after optimization More...
 
EndCriteria::Type errorCode () const
 error code of the optimization More...
 
virtual std::unique_ptr< FittingMethodclone () const =0
 clone of the current object More...
 
bool constrainAtZero () const
 return whether there is a constraint at zero More...
 
Array weights () const
 return weights being used More...
 
Array l2 () const
 return l2 penalties being used More...
 
ext::shared_ptr< OptimizationMethodoptimizationMethod () const
 return optimization method being used More...
 
const Constraintconstraint () const
 return optimization contraint More...
 
DiscountFactor discount (const Array &x, Time t) const
 open discountFunction to public More...
 

Private Member Functions

Size size () const override
 total number of coefficients to fit/solve for More...
 
DiscountFactor discountFunction (const Array &x, Time t) const override
 discount function called by FittedBondDiscountCurve More...
 

Private Attributes

Size size_
 

Additional Inherited Members

- Protected Member Functions inherited from FittedBondDiscountCurve::FittingMethod
 FittingMethod (bool constrainAtZero=true, const Array &weights=Array(), ext::shared_ptr< OptimizationMethod > optimizationMethod=ext::shared_ptr< OptimizationMethod >(), Array l2=Array(), Real minCutoffTime=0.0, Real maxCutoffTime=QL_MAX_REAL, Constraint constraint=NoConstraint())
 constructors More...
 
virtual void init ()
 rerun every time instruments/referenceDate changes More...
 
virtual DiscountFactor discountFunction (const Array &x, Time t) const =0
 discount function called by FittedBondDiscountCurve More...
 
- Protected Attributes inherited from FittedBondDiscountCurve::FittingMethod
bool constrainAtZero_
 constrains discount function to unity at \( T=0 \), if true More...
 
FittedBondDiscountCurvecurve_
 internal reference to the FittedBondDiscountCurve instance More...
 
Array solution_
 solution array found from optimization, set in calculate() More...
 
Array guessSolution_
 optional guess solution to be passed into constructor. More...
 
ext::shared_ptr< FittingCost > costFunction_
 base class sets this cost function used in the optimization routine More...
 

Detailed Description

Simple polynomial fitting method.

Fits a discount function to the simple polynomial form:

\[ d(t) = \sum_{i=0}^{degree} c_i t^{i} \]

where the constants \( c_i \) are to be determined.

This is a simple/crude, but fast and robust, means of fitting a yield curve.

Examples
FittedBondCurve.cpp.

Definition at line 209 of file nonlinearfittingmethods.hpp.

Constructor & Destructor Documentation

◆ SimplePolynomialFitting() [1/2]

SimplePolynomialFitting ( Natural  degree,
bool  constrainAtZero = true,
const Array weights = Array(),
const ext::shared_ptr< OptimizationMethod > &  optimizationMethod = {},
const Array l2 = Array(),
Real  minCutoffTime = 0.0,
Real  maxCutoffTime = QL_MAX_REAL,
Constraint  constraint = NoConstraint() 
)

Definition at line 269 of file nonlinearfittingmethods.cpp.

◆ SimplePolynomialFitting() [2/2]

SimplePolynomialFitting ( Natural  degree,
bool  constrainAtZero,
const Array weights,
const Array l2,
Real  minCutoffTime = 0.0,
Real  maxCutoffTime = QL_MAX_REAL,
Constraint  constraint = NoConstraint() 
)

Definition at line 282 of file nonlinearfittingmethods.cpp.

Member Function Documentation

◆ clone()

std::unique_ptr< FittedBondDiscountCurve::FittingMethod > clone ( ) const
overridevirtual

clone of the current object

Implements FittedBondDiscountCurve::FittingMethod.

Definition at line 294 of file nonlinearfittingmethods.cpp.

◆ size()

Size size ( ) const
overrideprivatevirtual

total number of coefficients to fit/solve for

Implements FittedBondDiscountCurve::FittingMethod.

Definition at line 298 of file nonlinearfittingmethods.cpp.

◆ discountFunction()

DiscountFactor discountFunction ( const Array x,
Time  t 
) const
overrideprivatevirtual

discount function called by FittedBondDiscountCurve

Implements FittedBondDiscountCurve::FittingMethod.

Definition at line 302 of file nonlinearfittingmethods.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ size_

Size size_
private

Definition at line 231 of file nonlinearfittingmethods.hpp.