Class implements. More...
#include <constrainedSmoother.hpp>
Public Member Functions | |
ConstrainedSmoother (SmartPointer< SmootherCostFunction > cf, const std::vector< double > &lT, const std::vector< double > &uT, int number_of_iterations) | |
Constructor. More... | |
ConstrainedSmoother (SmartPointer< SmootherCostFunction > cf, double tolerance, int number_of_iterations) | |
Constructor. More... | |
virtual void | calculate (const std::vector< SmartPointer< BuildingBlock > > &instruments, const CurveSettings &settings, SmartPointer< ir::Curve > &discounting_curve, SmartPointer< ir::Curve > &projection_curve) |
Estimates the curve. More... | |
virtual std::vector< double > | getDF () const |
Returns estimated DF. More... | |
virtual std::vector< Date > | getDates () const |
Returns grid dates of the curve. More... | |
virtual ConstrainedSmoother * | clone () const |
Virtual Copy Constructor. More... | |
virtual std::string | info () const |
Returns estimator's name. More... | |
Public Member Functions inherited from julian::ir::Estimator | |
Estimator () | |
default constructor More... | |
virtual | ~Estimator () |
destructor More... | |
Private Member Functions | |
arma::mat | calculateJacobian (SmartPointer< ir::Curve >, SmartPointer< ir::Curve >, InterpolatedCurve, const std::vector< SmartPointer< BuildingBlock > > &) |
Method used by SQP algorithm to calculate Jacobian for constrains' approximation. More... | |
arma::mat | calculateParRates (const SmartPointer< ir::Curve > &, const SmartPointer< ir::Curve > &, const SmartPointer< ir::Curve > &, const std::vector< SmartPointer< BuildingBlock > > &) |
Calculates the vector of par rates for instruments. More... | |
Private Attributes | |
SmartPointer< SmootherCostFunction > | cost_function_ |
Cost Function. More... | |
std::vector< double > | lower_tolerance_ |
Lower tolerances for par rate generated by curve. More... | |
std::vector< double > | upper_tolerance_ |
Upper tolerances for par rate generated by curve. More... | |
int | number_of_iterations_ |
Number of iterations of Sequential Quadratic Programming. More... | |
double | tolerance_ |
Tolerance for par rate generated by curve. More... | |
std::vector< double > | DFs_ |
Vector holding the Discount Factors being result of estimation. More... | |
std::vector< Date > | dates_ |
Grid dates of resulting curve. More... | |
Detailed Description
Class implements.
The idea of this estimator is to find the minimum of function (see SmootherCostFunction)
with following constrains:
where:
- To document:
- Describe the algorithm more precisly
- Examples:
- constrainedBootstrapperExample.cpp.
Constructor & Destructor Documentation
julian::ir::ConstrainedSmoother::ConstrainedSmoother | ( | SmartPointer< SmootherCostFunction > | cf, |
const std::vector< double > & | lT, | ||
const std::vector< double > & | uT, | ||
int | number_of_iterations | ||
) |
Constructor.
- Parameters
-
cf Cost function lT lower tolerance vector uT upper tolerance vector number_of_iterations Number of iteration of Sequential Quadratic Programming algorithm
julian::ir::ConstrainedSmoother::ConstrainedSmoother | ( | SmartPointer< SmootherCostFunction > | cf, |
double | tolerance, | ||
int | number_of_iterations | ||
) |
Constructor.
- Parameters
-
cf Cost function tolerance Maximal deviation from market quote number_of_iterations Number of iteration of Sequential Quadratic Programming algorithm
Member Function Documentation
|
virtual |
Estimates the curve.
Algorithm uses the SQP algorithm to estimate the curve.
Implements julian::ir::Estimator.
|
private |
Method used by SQP algorithm to calculate Jacobian for constrains' approximation.
|
private |
Calculates the vector of par rates for instruments.
|
virtual |
Virtual Copy Constructor.
Implements julian::ir::Estimator.
|
virtual |
Returns grid dates of the curve.
Implements julian::ir::Estimator.
|
virtual |
Returns estimated DF.
Implements julian::ir::Estimator.
|
virtual |
Returns estimator's name.
Implements julian::ir::Estimator.
Member Data Documentation
|
private |
Cost Function.
|
private |
Grid dates of resulting curve.
|
private |
Vector holding the Discount Factors being result of estimation.
|
private |
Lower tolerances for par rate generated by curve.
The tolerances are set for each instrument separately. The n-th number in vector is applied to n-th instrument
|
private |
Number of iterations of Sequential Quadratic Programming.
|
private |
Tolerance for par rate generated by curve.
Applied to all instruments. The par rate implied from the curve will be in range (quote - tolerance, quote + tolerance)
|
private |
Upper tolerances for par rate generated by curve.
The documentation for this class was generated from the following files:
- C:/Unix/home/OEM/jULIAN/src/marketData/interestRateCurves/estimators/constrainedSmoother.hpp
- C:/Unix/home/OEM/jULIAN/src/marketData/interestRateCurves/estimators/constrainedSmoother.cpp