Class DiscountCurveFromProductOfCurves

java.lang.Object
net.finmath.marketdata.model.curves.AbstractCurve
net.finmath.marketdata.model.curves.DiscountCurveFromProductOfCurves
All Implemented Interfaces:
Serializable, Cloneable, ParameterObject, Curve, DiscountCurve

public class DiscountCurveFromProductOfCurves extends AbstractCurve implements Serializable, DiscountCurve
A discount curve derived from other discount curves by multiplying the discount factors.
Version:
1.1
Author:
Christian Fries
See Also:
  • Constructor Details

    • DiscountCurveFromProductOfCurves

      public DiscountCurveFromProductOfCurves(String name, LocalDate referenceDate, String... curveNames)
      Create a discount curve using one or more curves. The product curve is generated dynamically by looking up the given curveNames in the model passed to the method getDiscountFactor(AnalyticModel, double).
      Parameters:
      name - The name of this curve.
      referenceDate - The reference date of this curve.
      curveNames - Argument list or array of curve names.
    • DiscountCurveFromProductOfCurves

      public DiscountCurveFromProductOfCurves(String name, LocalDate referenceDate, DiscountCurve... curves)
      Create a discount curve using one or more given curves.
      Parameters:
      name - The name of this curve.
      referenceDate - The reference date of this curve.
      curves - Argument list or array of curves.
  • Method Details

    • getDiscountFactor

      public double getDiscountFactor(double maturity)
      Description copied from interface: DiscountCurve
      Returns the discount factor for the corresponding maturity. This getter is not optimized for performance.
      Specified by:
      getDiscountFactor in interface DiscountCurve
      Parameters:
      maturity - The maturity for which the discount factor is requested.
      Returns:
      The discount factor (i.e., price of the zero coupon bond with given maturity and notional 1.
    • getDiscountFactor

      public double getDiscountFactor(AnalyticModel model, double maturity)
      Description copied from interface: DiscountCurve
      Returns the discount factor for the corresponding maturity. This getter is not optimized for performance.
      Specified by:
      getDiscountFactor in interface DiscountCurve
      Parameters:
      model - An analytic model providing a context. Some curves do not need this (can be null).
      maturity - The maturity for which the discount factor is requested.
      Returns:
      The discount factor (i.e., price of the zero coupon bond with given maturity and notional 1.
    • getValue

      public double getValue(AnalyticModel model, double time)
      Description copied from interface: Curve
      Returns the value for the time using the interpolation method associated with this curve within a given context, i.e., a model. The model (context) is needed only if the curve relies on another curve. Examples are a forward curve which relies on a discount curve or a discount curve which is defined via a spread over another curve.
      Specified by:
      getValue in interface Curve
      Parameters:
      model - An analytic model providing a context.
      time - Time for which the value should be returned.
      Returns:
      The value at the give time.
    • getParameter

      public double[] getParameter()
      Description copied from interface: ParameterObject
      Get the current parameter associated with the state of the objects.
      Specified by:
      getParameter in interface ParameterObject
      Returns:
      The parameter.
    • setParameter

      public void setParameter(double[] parameter)
      Description copied from interface: ParameterObject
      Set the current parameter and change the state of the objects.
      Specified by:
      setParameter in interface ParameterObject
      Parameters:
      parameter - The parameter associated with the new state of the objects.
    • getCloneBuilder

      public CurveBuilder getCloneBuilder()
      Description copied from interface: Curve
      Returns a curve builder bases on a clone of this curve. Using that curve builder you may create a new curve from this curve by adding points or changing properties. Note: The clone has the same name than this one.
      Specified by:
      getCloneBuilder in interface Curve
      Returns:
      An object implementing the CurveBuilderInterface where the underlying curve is a clone of this curve.