CodePlexProject Hosting for Open Source Software

CurveBuilder provides the functionality for highly customized discount, forward, credit, and FX curve construction, customized with wide variety of basis splines, calibration instrument types and measures.

CurveBuilder exposes the following functionality:

*Basis Spline Library Extensions*- Segment/Stretch/Span Partitioned Formulation (along with Latent State Quantification Metric extraction form the observed Manifest Measure)
- Segment Local Curvature + Length Penalty Setup (aka pseudo splines)
- Best-Fit Penalizing Splines with Custom Penalty Order and arbitrary (but “well-behaved”) basis spline set
- Penalty evaluated Regression Splines
- Local Hermite Smoothing Schemes – Akima, Bessel, Hagan-West, Harmonic, Huynh-Le Floch, Hyman, Kruger, and Preuss schemes.

*B Spline Functionality*:- Raw/Processed Basis Hat Functions Implementation
- Synthetic Monic Basis B Spline generation with shape control
- B Spline Sequence build-out using multic segment basis function aggregation
- Custom closed form cubic KLK Hyperbolic Tension
- Incorporation of the B Spline basis onto the segment/stretch/span schematic setup and usage

*Spline Based Discount Curve Build-Out*:- Shape Preserving Discount Curve Build with and without turn list adjustment
- Smoothing Discount Curve Build Pass with and without turn list adjustment
- Transition Spline Based Discount Curve Construction
- Estimation of the in-situ discount curve input quote Jacobian
- Implementation of the discount curve build-out using standard schemes such as DENSE, DUALDENSE, and CUSTOMDENSE

*Spline Based Forward Curve Build-Out*:- Shape Preserving Forward Curve Build
- Smoothing Forward Curve Build Pass
- Linearized Forward Basis Calibrator Constraint setup for fix-float and float-float
- Labeled correlated discount factor/forward rate merge sub-stretch setup
- Manifest Measure/Quantification metric tweaked latent state construction and the corresponding Jacobian

CurveBuilder library achieves its design goal by implementing its functionality over several packages:

*Latent State Representation Package*: The latent state representation package implements the latent state, the quantification metric/manifest measure, its labels, the merge stretch and its manager.*Latent State Estimator Package*: The latent state estimator package provides functionality to estimate the latent state, local/global state construction controls, constraint representation, and linear/non-linear calibrator routines.*Latent Curve State Package*: The latent curve state package provides implementations of latent state representations of discount curve, forward curve, zero curve, credit curve, FX Basis curve, and FX forward curve.*Latent State Creator Package*: The latent curve state package provides implementations of the constructor factories that create discount curve, forward curve, zero curve, credit curve, FX Basis curve, and FX forward curve.*Analytics Definition Package*: The analytics definition package provides definitions of the generic curve, discount curve, forward curve, zero curve, credit curve, FX Basis curve, and FX forward curve, turns list, and their construction inputs.*Rates Analytics Package*: The rates analytics package provides definitions of the discount curve, the forward curve, the zero curve, the discount factor and the forward rate estimators, the turns list, and their construction inputs.

Download CurveBuilder binary along with the complete DRIP source from the link here.

CurveBuilder is installed by simply placing the jar file it into the class-path.

CurveBuilder is part of DRIP – open suite analytics and trading/valuation system for fixed income products. Detailed documentation and downloads may be found here.

- HaganWestForwardInterpolator.java illustrates using the Hagan and West (2006) Estimator.
- ShapeDFZeroLocalSmooth.java demonstrates the usage of different local smoothing techniques involved in the discount curve creation.
- ShapePreservingDFZeroSmooth.java demonstrates the usage of different shape preserving and smoothing techniques involved in the discount curve creation.
- CustomDiscountCurveBuilder.java discount curve calibration and input instrument calibration quote recovery.
- CustomDiscountCurveReconciler.java demonstrates the multi-stretch transition custom discount curve construction, turns application, discount factor extraction, and calibration quote recovery.
- TemplatedDiscountCurveBuilder.java demonstrates the usage of the different pre-built Discount Curve Builders.
- DiscountCurveQuoteSensitivity.java demonstrates the calculation of the discount curve sensitivity to the calibration instrument quotes.
- CustomForwardCurveBuilder.java contains the sample demonstrating the full functionality behind creating highly customized spline based forward curves.
- More samples are available in the examples folder and in the Samples section.

Last edited Jan 24, 2014 at 3:24 AM by Lakshmik, version 6