finMath lib documentation
net.finmath.singleswaprate.model.curves

## 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
Serialized Form
• ### Constructor Summary

Constructors
Constructor and Description
ExponentialCorrelationCurve(String name, LocalDate referenceDate, double termination, double correlationDecay)
Create the curve.
• ### Method Summary

All Methods
Modifier and Type Method and Description
CurveBuilder getCloneBuilder()
Returns a curve builder bases on a clone of this curve.
double[] getParameter()
Get the current parameter associated with the state of the objects.
double 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.
void setParameter(double[] parameter)
Set the current parameter and change the state of the objects.
• ### Methods inherited from class net.finmath.marketdata.model.curves.AbstractCurve

clone, getCloneForParameter, getName, getReferenceDate, getValue, getValues, toString
• ### Methods inherited from class java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
• ### 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.