Class ExponentialCorrelationCurve

All Implemented Interfaces:
Serializable, Cloneable, ParameterObject, Curve

public class ExponentialCorrelationCurve extends AbstractCurve implements Cloneable
A curve, which models exponential decay of correlation from one point in time to another, according to \[ \max\{e^{c(t-T)}, 1\} \, . \] Any point after the given termination time will have correlation of one. Any point before will have decaying correlation according to the parameter.
Christian Fries, Roland Bachl
See Also:
  • Constructor Details

    • ExponentialCorrelationCurve

      public ExponentialCorrelationCurve(String name, LocalDate referenceDate, double termination, double correlationDecay)
      Create the curve.
      name - The name of the curve
      referenceDate - The reference date of the curve
      termination - The date as double, from which the correlation is measured
      correlationDecay - The rate at which the correlation decays
  • Method Details

    • 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
      model - An analytic model providing a context.
      time - Time for which the value should be returned.
      The value at the give time.
    • 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
      An object implementing the CurveBuilderInterface where the underlying curve is a clone of this curve.
    • 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
      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
      parameter - The parameter associated with the new state of the objects.