julian::ir::InterpolationInput Class Referenceabstract

Class is an abstract class that represents the subject of interpolation performed in swap curve operations. More...

#include <interpolationInput.hpp>

Inheritance diagram for julian::ir::InterpolationInput:
julian::ir::InterpolateDF julian::ir::InterpolateInverseDF julian::ir::InterpolateLogarithmOfDF julian::ir::InterpolateZCRate

Public Member Functions

 InterpolationInput ()
 Constructor. More...
 
virtual double operator() (double DF1, double DF2, InterestRate rate, Date date0, Date date1, Date date2) const =0
 Calculates inputs form DF. More...
 
virtual double getDF (double x, InterestRate rate, Date date1, Date date2) const =0
 Calculate DF form result of interpolation. More...
 
virtual InterpolationInputclone () const =0
 Virtual copy constructor. More...
 
virtual std::string info () const =0
 Info about class. More...
 
virtual ~InterpolationInput ()
 Destructor. More...
 

Private Member Functions

template<class Archive >
void serialize (Archive &, const unsigned int)
 interface used by Boost serialization library More...
 

Friends

class boost::serialization::access
 

Detailed Description

Class is an abstract class that represents the subject of interpolation performed in swap curve operations.

This class is a interface of all interpolation inputs (compare ir::CompoundedInterpolator).

Examples:
algebraicBootstrapperExample.cpp, constrainedBootstrapperExample.cpp, rootFindingBootstrapperExample.cpp, and unconstrainedBootstrapperExample.cpp.

Constructor & Destructor Documentation

julian::ir::InterpolationInput::InterpolationInput ( )
inline

Constructor.

Default constructor.

virtual julian::ir::InterpolationInput::~InterpolationInput ( )
inlinevirtual

Destructor.

Default destructor.

Member Function Documentation

virtual InterpolationInput* julian::ir::InterpolationInput::clone ( ) const
pure virtual

Virtual copy constructor.

Method is an implementation of virtual copy constructor.

Implemented in julian::ir::InterpolateDF, julian::ir::InterpolateLogarithmOfDF, julian::ir::InterpolateInverseDF, and julian::ir::InterpolateZCRate.

virtual double julian::ir::InterpolationInput::getDF ( double  x,
InterestRate  rate,
Date  date1,
Date  date2 
) const
pure virtual

Calculate DF form result of interpolation.

Method recalculates DF from interpolation inputs.

Parameters
xresult of interpolation
rateInput gives the convention of interest rate (compounding and year fraction)
date1middle date
date2end date

Implemented in julian::ir::InterpolateDF, julian::ir::InterpolateLogarithmOfDF, julian::ir::InterpolateInverseDF, and julian::ir::InterpolateZCRate.

virtual std::string julian::ir::InterpolationInput::info ( ) const
pure virtual

Info about class.

Method returns string that containing information about class.

Implemented in julian::ir::InterpolateLogarithmOfDF, julian::ir::InterpolateDF, julian::ir::InterpolateInverseDF, and julian::ir::InterpolateZCRate.

virtual double julian::ir::InterpolationInput::operator() ( double  DF1,
double  DF2,
InterestRate  rate,
Date  date0,
Date  date1,
Date  date2 
) const
pure virtual

Calculates inputs form DF.

Swap curve maintains interest rate term structure as vector of default factors. To perform an interpolation according to given convention (interpolation of zcr, fwd rates etc) one must transform DF to appropriate inputs. This method performs those calculations.

Parameters
DF1Discount factor for date1
DF2Discount factor for date2
rateInput gives the convention of interest rate (compounding and year fraction)
date0today date
date1middle date
date2end date

Implemented in julian::ir::InterpolateDF, julian::ir::InterpolateLogarithmOfDF, julian::ir::InterpolateInverseDF, and julian::ir::InterpolateZCRate.

template<class Archive >
void julian::ir::InterpolationInput::serialize ( Archive &  ,
const unsigned  int 
)
inlineprivate

interface used by Boost serialization library


The documentation for this class was generated from the following file: