-
- 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 Instance Methods Abstract 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 interfaceParameterObject
- Parameters:
value
- The new parameter.- Returns:
- A clone with an otherwise modified parameter.
- Throws:
CloneNotSupportedException
- Thrown, when the curve could not be cloned.
-
-