## Interface Curve

• All Superinterfaces:
Cloneable, ParameterObject, Serializable
All Known Subinterfaces:
DiscountCurve, ForwardCurve
All Known Implementing Classes:
AbstractCurve, AbstractForwardCurve, BondCurve, CurveFromProductOfCurves, CurveInterpolation, DiscountCurveFromForwardCurve, DiscountCurveFromProductOfCurves, DiscountCurveInterpolation, DiscountCurveNelsonSiegelSvensson, DiscountCurveRenormalized, ExponentialCorrelationCurve, ForwardCurveFromDiscountCurve, ForwardCurveInterpolation, ForwardCurveNelsonSiegelSvensson, ForwardCurveWithFixings, IndexCurveFromDiscountCurve, PiecewiseCurve, SeasonalCurve

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

All Methods
Modifier and Type Method Description
Object clone()
Create a deep copied clone.
CurveBuilder getCloneBuilder()
Returns a curve builder bases on a clone of this curve.
Curve getCloneForParameter​(double[] value)
Create a clone with a modified parameter.
String getName()
Get the name of the curve.
LocalDate getReferenceDate()
Return the reference date of this curve, i.e.
double getValue​(double time)
Returns the value for the time using the interpolation method associated with this curve.
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.
• ### Methods inherited from interface net.finmath.marketdata.calibration.ParameterObject

getParameter, setParameter
• ### Method Detail

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

double 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

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

Object clone()
throws CloneNotSupportedException
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​(double[] 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.