Class FunctionSetBuilder

java.lang.Object
org.drip.spline.basis.FunctionSetBuilder

public class FunctionSetBuilder
extends java.lang.Object
FunctionSetBuilder implements the basis set and spline builder for the following types of splines:
  • Construct Exponential Tension Basis Function Set
  • Construct Hyperbolic Tension Basis Function Set
  • Construct Polynomial Basis Function Set
  • Construct Bernstein Polynomial Basis Function Set
  • Construct KaklisPandelis from the polynomial tension basis function set
  • Construct the Exponential Rational Basis Set
  • Construct the Exponential Mixture Basis Set
  • Construct the BSpline Basis Function Set
This elastic coefficients for the segment using Ck basis splines inside [0,...,1) - Globally [x_0,...,x_1) are extracted for: y = Estimator (Ck, x) * ShapeControl (x) where x is the normalized ordinate mapped as x becomes (x - x_i-1) / (x_i - x_i-1) The inverse quadratic/rational spline is a typical shape controller spline used.
Module Product Core Module
Library Fixed Income Analytics
Project Basis Splines and Linear Compounders across a Broad Family of Spline Basis Functions
Package Basis Spline Construction/Customization Parameters
Author:
Lakshmi Krishnamurthy
  • Constructor Details

    • FunctionSetBuilder

      public FunctionSetBuilder()
  • Method Details

    • ExponentialTensionBasisSet

      public static final FunctionSet ExponentialTensionBasisSet​(ExponentialTensionSetParams exponentialTensionSetParams)
      This function implements the elastic coefficients for the segment using tension exponential basis splines inside - [0,...,1) - Globally [x_0,...,x_1). The segment equation is y = A + B * x + C * exp (Tension * x / (x_i - x_i-1)) + D * exp (-Tension * x / (x_i - x_i-1)) where x is the normalized ordinate mapped as x .gte. (x - x_i-1) / (x_i - x_i-1)
      Parameters:
      exponentialTensionSetParams - Exponential Tension Basis set Builder Parameters
      Returns:
      Exponential Tension Basis Functions
    • HyperbolicTensionBasisSet

      public static final FunctionSet HyperbolicTensionBasisSet​(ExponentialTensionSetParams exponentialTensionSetParams)
      This function implements the elastic coefficients for the segment using tension hyperbolic basis splines inside - [0,...,1) - Globally [x_0,...,x_1). The segment equation is y = A + B * x + C * sinh (Tension * x / (x_i - x_i-1)) + D * cosh (Tension * x / (x_i - x_i-1)) where x is the normalized ordinate mapped as x .ge. (x - x_i-1) / (x_i - x_i-1)
      Parameters:
      exponentialTensionSetParams - Exponential Tension Basis set Builder Parameters
      Returns:
      Hyperbolic Tension Basis Set
    • PolynomialBasisSet

      public static final FunctionSet PolynomialBasisSet​(PolynomialFunctionSetParams polynomialFunctionSetParams)
      This function implements the elastic coefficients for the segment using polynomial basis splines inside [0,...,1) - Globally [x_0,...,x_1): y = Sum (A_i*x^i) i = 0,...,n (0 and n inclusive) where x is the normalized ordinate mapped as x .gte. (x - x_i-1) / (x_i - x_i-1)
      Parameters:
      polynomialFunctionSetParams - Polynomial Basis set Builder Parameters
      Returns:
      The Polynomial Basis Spline Set
    • BernsteinPolynomialBasisSet

      public static final FunctionSet BernsteinPolynomialBasisSet​(PolynomialFunctionSetParams polynomialFunctionSetParams)
      This function implements the elastic coefficients for the segment using Bernstein polynomial basis splines inside - [0,...,1) - Globally [x_0,...,x_1): y = Sum (A_i*B^i(x)) i = 0,...,n (0 and n inclusive) where x is the normalized ordinate mapped as x .gte. (x - x_i-1) / (x_i - x_i-1) and B^i(x) is the Bernstein basis polynomial of order i.
      Parameters:
      polynomialFunctionSetParams - Polynomial Basis Set Builder Parameters
      Returns:
      The Bernstein polynomial basis
    • KaklisPandelisBasisSet

      public static final FunctionSet KaklisPandelisBasisSet​(KaklisPandelisSetParams kaklisPandelisSetParams)
      Construct KaklisPandelis from the polynomial tension basis function set y = A * (1-x) + B * x + C * x * (1-x)^m + D * x^m * (1-x)
      Parameters:
      kaklisPandelisSetParams - Kaklis Pandelis Basis set Builder Parameters
      Returns:
      The KaklisPandelis Basis Set
    • ExponentialRationalBasisSet

      public static final FunctionSet ExponentialRationalBasisSet​(ExponentialRationalSetParams ersp)
      Construct the Exponential Rational Basis Set y = A + B / (1+x) + C * exp(-x) + D * exp(-x) / (1+x)
      Parameters:
      ersp - Exponential Rational Basis set Parameters
      Returns:
      The Exponential Rational Basis Set
    • ExponentialMixtureBasisSet

      public static final FunctionSet ExponentialMixtureBasisSet​(ExponentialMixtureSetParams emsp)
      Construct the Exponential Mixture Basis Set y = A + B * exp(-l_1 * x) + C * exp(-l_2 * x) + D * exp(-l_3 * x)
      Parameters:
      emsp - Exponential Mixture Basis set Parameters
      Returns:
      The Exponential Mixture Basis Set
    • BSplineBasisSet

      public static final FunctionSet BSplineBasisSet​(BSplineSequenceParams bssp)
      Construct the BSpline Basis Function Set
      Parameters:
      bssp - BSpline Basis Set Parameters
      Returns:
      The BSpline Basis Function Set