Interface Curve

All Superinterfaces:
Cloneable, ParameterObject
All Known Subinterfaces:
DiscountCurveInterface, ForwardCurveInterface
All Known Implementing Classes:
AbstractCurve, AbstractForwardCurve, CurveInterpolation, DiscountCurveFromForwardCurve, DiscountCurveInterpolation, ForwardCurveFromDiscountCurve, ForwardCurveInterpolation

public interface Curve extends ParameterObject, Cloneable
The interface which is implemented by a general curve.
Version:
1.0
Author:
Christian Fries
  • Method Details

    • getName

      String getName()
      Get the name of the curve.
      Returns:
      The name of this curve
    • getReferenceDate

      LocalDate getReferenceDate()
      Return the reference date of this curve, i.e. the date associated with t=0. May be null in case the curve is not associated with a fixed date (e.g. a time homogenous model).
      Returns:
      The date identified as t=0.
    • getValue

      RandomVariable getValue(double time)
      Returns the value for the time using the interpolation method associated with this curve.
      Parameters:
      time - Time for which the value should be returned.
      Returns:
      The value at the give time.
    • getValue

      RandomVariable getValue(AnalyticModel model, double time)
      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.
      Parameters:
      model - An analytic model providing a context.
      time - Time for which the value should be returned.
      Returns:
      The value at the give time.
    • clone

      Create a deep copied clone.
      Returns:
      A clone (deep copied).
      Throws:
      CloneNotSupportedException - Thrown, when the curve could not be cloned.
    • getCloneBuilder

      CurveBuilder getCloneBuilder() throws CloneNotSupportedException
      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.
      Returns:
      An object implementing the CurveBuilderInterface where the underlying curve is a clone of this curve.
      Throws:
      CloneNotSupportedException - Thrown, when this curve could not be cloned.
    • getCloneForParameter

      Curve getCloneForParameter(RandomVariable[] value) throws CloneNotSupportedException
      Description copied from interface: ParameterObject
      Create a clone with a modified parameter.
      Specified by:
      getCloneForParameter in interface ParameterObject
      Parameters:
      value - The new parameter.
      Returns:
      A clone with an otherwise modified parameter.
      Throws:
      CloneNotSupportedException - Thrown, when the curve could not be cloned.