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.
    Author:
    Christian Fries, Roland Bachl
    See Also:
    Serialized Form
    • Constructor Detail

      • ExponentialCorrelationCurve

        public ExponentialCorrelationCurve​(String name,
                                           LocalDate referenceDate,
                                           double termination,
                                           double correlationDecay)
        Create the curve.
        Parameters:
        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 Detail

      • 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.
      • 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.
      • 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.