Module net.finmath.lib
Class DiscountCurveFromProductOfCurves
- java.lang.Object
-
- net.finmath.marketdata.model.curves.AbstractCurve
-
- net.finmath.marketdata.model.curves.DiscountCurveFromProductOfCurves
-
- All Implemented Interfaces:
Serializable
,Cloneable
,ParameterObject
,Curve
,DiscountCurve
public class DiscountCurveFromProductOfCurves extends AbstractCurve implements Serializable, DiscountCurve
A discount curve derived from other discount curves by multiplying the discount factors.- Version:
- 1.1
- Author:
- Christian Fries
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DiscountCurveFromProductOfCurves(String name, LocalDate referenceDate, String... curveNames)
Create a discount curve using one or more curves.DiscountCurveFromProductOfCurves(String name, LocalDate referenceDate, DiscountCurve... curves)
Create a discount curve using one or more given curves.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CurveBuilder
getCloneBuilder()
Returns a curve builder bases on a clone of this curve.double
getDiscountFactor(double maturity)
Returns the discount factor for the corresponding maturity.double
getDiscountFactor(AnalyticModel model, double maturity)
Returns the discount factor for the corresponding maturity.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
-
Methods inherited from interface net.finmath.marketdata.model.curves.Curve
clone, getCloneForParameter, getName, getReferenceDate, getValue
-
-
-
-
Constructor Detail
-
DiscountCurveFromProductOfCurves
public DiscountCurveFromProductOfCurves(String name, LocalDate referenceDate, String... curveNames)
Create a discount curve using one or more curves. The product curve is generated dynamically by looking up the given curveNames in the model passed to the methodgetDiscountFactor(AnalyticModel, double)
.- Parameters:
name
- The name of this curve.referenceDate
- The reference date of this curve.curveNames
- Argument list or array of curve names.
-
DiscountCurveFromProductOfCurves
public DiscountCurveFromProductOfCurves(String name, LocalDate referenceDate, DiscountCurve... curves)
Create a discount curve using one or more given curves.- Parameters:
name
- The name of this curve.referenceDate
- The reference date of this curve.curves
- Argument list or array of curves.
-
-
Method Detail
-
getDiscountFactor
public double getDiscountFactor(double maturity)
Description copied from interface:DiscountCurve
Returns the discount factor for the corresponding maturity. This getter is not optimized for performance.- Specified by:
getDiscountFactor
in interfaceDiscountCurve
- Parameters:
maturity
- The maturity for which the discount factor is requested.- Returns:
- The discount factor (i.e., price of the zero coupon bond with given maturity and notional 1.
-
getDiscountFactor
public double getDiscountFactor(AnalyticModel model, double maturity)
Description copied from interface:DiscountCurve
Returns the discount factor for the corresponding maturity. This getter is not optimized for performance.- Specified by:
getDiscountFactor
in interfaceDiscountCurve
- Parameters:
model
- An analytic model providing a context. Some curves do not need this (can be null).maturity
- The maturity for which the discount factor is requested.- Returns:
- The discount factor (i.e., price of the zero coupon bond with given maturity and notional 1.
-
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.
-
getParameter
public double[] getParameter()
Description copied from interface:ParameterObject
Get the current parameter associated with the state of the objects.- Specified by:
getParameter
in interfaceParameterObject
- 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 interfaceParameterObject
- Parameters:
parameter
- The parameter associated with the new state of the objects.
-
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 interfaceCurve
- Returns:
- An object implementing the CurveBuilderInterface where the underlying curve is a clone of this curve.
-
-