- java.lang.Object
-
- net.finmath.marketdata.model.curves.AbstractCurve
-
- All Implemented Interfaces:
Serializable
,Cloneable
,ParameterObject
,Curve
- Direct Known Subclasses:
BondCurve
,CurveFromProductOfCurves
,CurveInterpolation
,DiscountCurveFromForwardCurve
,DiscountCurveFromProductOfCurves
,DiscountCurveNelsonSiegelSvensson
,ExponentialCorrelationCurve
,ForwardCurveNelsonSiegelSvensson
,IndexCurveFromDiscountCurve
,PiecewiseCurve
,SeasonalCurve
public abstract class AbstractCurve extends Object implements Curve, Serializable, Cloneable
Abstract base class for a curve. It stores the name of the curve and provides some convenient way of getting values.- Version:
- 1.0
- Author:
- Christian Fries
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractCurve(String name, LocalDate referenceDate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractCurve
clone()
Create a deep copied clone.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[]
getValues(double[] times)
Return a vector of values corresponding to a given vector of times.String
toString()
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.finmath.marketdata.model.curves.Curve
getCloneBuilder, getValue
-
Methods inherited from interface net.finmath.marketdata.calibration.ParameterObject
getParameter, setParameter
-
-
-
-
Method Detail
-
getReferenceDate
public LocalDate getReferenceDate()
Description copied from interface:Curve
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).- Specified by:
getReferenceDate
in interfaceCurve
- Returns:
- The date identified as t=0.
-
getValue
public double getValue(double time)
Description copied from interface:Curve
Returns the value for the time using the interpolation method associated with this curve.
-
getValues
public double[] getValues(double[] times)
Return a vector of values corresponding to a given vector of times.- Parameters:
times
- A given vector of times.- Returns:
- A vector of values corresponding to the given vector of times.
-
clone
public AbstractCurve clone() throws CloneNotSupportedException
Description copied from interface:Curve
Create a deep copied clone.- Specified by:
clone
in interfaceCurve
- Overrides:
clone
in classObject
- Returns:
- A clone (deep copied).
- Throws:
CloneNotSupportedException
- Thrown, when the curve could not be cloned.
-
getCloneForParameter
public Curve getCloneForParameter(double[] value) throws CloneNotSupportedException
Description copied from interface:ParameterObject
Create a clone with a modified parameter.- Specified by:
getCloneForParameter
in interfaceCurve
- 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.
-
-