Interpolation__Interp_Method

Given a set of independent variable values

Available

The reference quantity is interpolated according to the QuantLib BackwardFlat method.

The value at a node is extended flatly back to the previous node.

The reference quantity is interpolated according to the QuantLib CompoundedCubicDS method, whereby the Interpolation::Interp Method::Cubic interpolation scheme is applied on the discretely compounded transform (as defined in Interpolation::Interp Method::Comp Linear) of the reference quantity.

The reference quantity

where

Simple compounding with

When

This is derived from the fact that the interest accrued by

Setting these two amounts equal to each other leads to the above definition of

The reference quantity is interpolated according to the QuantLib ConvexMonotone method.

This results in the reference quantity being both convex (positive second derivative) and monotone (non-vanishing fiorst derivative), both within the intervals and at the interpolating nodes. Web reference available here

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 less than 1 and/or quadraticity greater than 0 produces smoother curves.

Extra enhancement to avoid negative values (if required) is in place.

The reference quantity is interpolated according to the QuantLib Cubic method.

Cubic interpolation is fully defined when the function values

Different type of first derivative approximations are implemented, both local and non-local.

Local schemes (Fourth-order, Parabolic, Modified Parabolic, Fritsch-Butland, Akima, Kruger) use only function values near the given points to calculate each derivative value.

Non-local schemes (Spline with different boundary conditions) use all function values and obtain the derivative values

Local schemes produce interpolants with continuous first derivative function, while the spline schemes generate interpolants with continuous second derivative function.

Hyman's monotonicity constraint filter is also implemented:

It can be applied to all schemes to ensure that in the regions of local monotoniticity of the input (three successive increasing or decreasing values) the interpolating cubic remains monotonic.

If the interpolating cubic is already monotonic, the Hyman filter leaves it unchanged preserving all its original features.

In the case of interpolants with continuous second derivative function the Hyman filter ensures local monotonicity at the expense of the second derivative of the interpolant which will no longer be continuous in the points where the filter has been applied.

While some non-linear schemes (Modified Parabolic, Fritsch-Butland, Kruger) are guaranteed to be locally monotonic in their original approximation, all other schemes must be filtered according to the Hyman criteria at the expense of their linearity.

See R. L. Dougherty, A. Edelman, and J. M. Hyman, "Nonnegativity-, Monotonicity-, or Convexity-Preserving CubicSpline and Quintic Hermite Interpolation" Mathematics Of Computation, v. 52, n. 186, April 1989, pp. 471-494.

This is equivalent to a not necessarily monotonic Interpolation::Interp Method::Cubic, whereby the derivatives are approximated according to Interpolation::Deriv Approx::Spline and the second derivative at the start of the first segment as well as the first derivative at the end of the last segment equals zero.

More details at Web reference available here

This is equivalent to a not necessarily monotonic Interpolation::Interp Method::Log Cubic, whereby the derivatives are approximated according to Interpolation::Deriv Approx::Spline and the second derivative at the start of the first segment as well as the first derivative at the end of the last segment equals zero.

More details at Web reference available here

The reference quantity is interpolated according to the QuantLib ForwardFlat method.

The value at a node is extended flatly forward to the next node.

This is equivalent to a not necessarily monotonic Interpolation::Interp Method::Cubic, whereby the derivatives are approximated according to Interpolation::Deriv Approx::Kruger and the second derivative at the start of the first segment as well as the second derivative at the end of the last segment equals zero.

More details at Web reference available here

This is equivalent to a not necessarily monotonic Interpolation::Interp Method::Log Cubic, whereby the derivatives are approximated according to Interpolation::Deriv Approx::Kruger and the second derivative at the start of the first segment as well as the second derivative at the end of the last segment equals zero.

More details at Web reference available here

The reference quantity

Formally, given any two successive nodes

where the weights are given by

and

The reference quantity is interpolated according to the QuantLib LogCubic method, whereby the Interpolation::Interp Method::Cubic interpolation scheme is applied on the logarithm of the reference quantity.

The reference quantity

The reference quantity is interpolated according to the QuantLib MixedLinearCubic method.

For a user-supplied number N, the first N nodes are linearly interpolated, whereas the remaining nodes are interpolated according to the cubic method.

This is equivalent to a not necessarily monotonic Interpolation::Interp Method::Cubic, whereby the derivatives are approximated according to Interpolation::Deriv Approx::Spline and the second derivative at the start of the first segment as well as the second derivative at the end of the last segment equals zero.

More details at Web reference available here

This is equivalent to a not necessarily monotonic Interpolation::Interp Method::Log Cubic, whereby the derivatives are approximated according to Interpolation::Deriv Approx::Spline and the second derivative at the start of the first segment as well as the second derivative at the end of the last segment equals zero.

More details at Web reference available here