ConvexMonotoneInterpolation< I1, I2 > Class Template Reference

Convex monotone yield-curve interpolation method. More...

`#include <ql/math/interpolations/convexmonotoneinterpolation.hpp>`

Inheritance diagram for ConvexMonotoneInterpolation< I1, I2 >:
[legend]

## Public Member Functions

| ConvexMonotoneInterpolation (const I1 &xBegin, const I1 &xEnd, const I2 &yBegin, Real quadraticity, Real monotonicity, bool forcePositive, bool flatFinalPeriod=false, const helper_map &preExistingHelpers=helper_map())
| ConvexMonotoneInterpolation (Interpolation &interp)
std::map< Real, boost::shared_ptr< detail::SectionHelper > > | getExistingHelpers ()
Public Member Functions inherited from Interpolation
bool | empty () const
Real | operator() (Real x, bool allowExtrapolation=false) const
Real | primitive (Real x, bool allowExtrapolation=false) const
Real | derivative (Real x, bool allowExtrapolation=false) const
Real | secondDerivative (Real x, bool allowExtrapolation=false) const
Real | xMin () const
Real | xMax () const
bool | isInRange (Real x) const
void | update ()
Public Member Functions inherited from Extrapolator
void | enableExtrapolation (bool b=true)
| enable extrapolation in subsequent calls
void | disableExtrapolation (bool b=true)
| disable extrapolation in subsequent calls
bool | allowsExtrapolation () const
| tells whether extrapolation is enabled

## Additional Inherited Members

Public Types inherited from Interpolation
typedef Real | argument_type
typedef Real | result_type
Protected Member Functions inherited from Interpolation
void | checkRange (Real x, bool extrapolate) const
Protected Attributes inherited from Interpolation
boost::shared_ptr< Impl > | impl_

## Detailed Description

### template<class I1, class I2>
class QuantLib::ConvexMonotoneInterpolation< I1, I2 >

Convex monotone yield-curve interpolation method.

Enhances implementation of the convex monotone method described in "Interpolation Methods for Curve Construction" by Hagan & West AMF Vol 13, No2 2006.

A setting of monotonicity = 1 and quadraticity = 0 will reproduce the basic Hagan/West method. However, this can produce excessive gradients which can mean P&L swings for some curves. Setting monotonicity < 1 and/or quadraticity > 0 produces smoother curves. Extra enhancement to avoid negative values (if required) is in place.