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:
-
Constructor Summary
ConstructorDescriptionDiscountCurveFromProductOfCurves
(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
Modifier and TypeMethodDescriptionReturns 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[]
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 Details
-
DiscountCurveFromProductOfCurves
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 Details
-
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
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
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
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.
-