Module net.finmath.lib
Class LIBORCorrelationModelThreeParameterExponentialDecay
- java.lang.Object
-
- net.finmath.montecarlo.interestrate.models.covariance.LIBORCorrelationModel
-
- net.finmath.montecarlo.interestrate.models.covariance.LIBORCorrelationModelThreeParameterExponentialDecay
-
- All Implemented Interfaces:
Serializable
public class LIBORCorrelationModelThreeParameterExponentialDecay extends LIBORCorrelationModel
Simple correlation model given by R, where R is a factor reduced matrix (seeLinearAlgebra.factorReduction(double[][], int)
) created from the \( n \) Eigenvectors of \( \tilde{R} \) belonging to the \( n \) largest non-negative Eigenvalues, where \( \tilde{R} = \tilde{\rho}_{i,j} \) and \[ \tilde{\rho}_{i,j} = b + (1-b) * \exp(-a |T_{i} - T_{j}| - c \max(T_{i},T_{j}))- Version:
- 1.0
- Author:
- Christian Fries
- See Also:
LinearAlgebra.factorReduction(double[][], int)
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LIBORCorrelationModelThreeParameterExponentialDecay(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors, double a, double b, double c, boolean isCalibrateable)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
LIBORCorrelationModel
getCloneWithModifiedData(Map<String,Object> dataModified)
Returns a clone of this model where the specified properties have been modified.LIBORCorrelationModelThreeParameterExponentialDecay
getCloneWithModifiedParameter(RandomVariable[] parameter)
double
getCorrelation(int timeIndex, int component1, int component2)
double
getFactorLoading(int timeIndex, int factor, int component)
int
getNumberOfFactors()
RandomVariable[]
getParameter()
-
Methods inherited from class net.finmath.montecarlo.interestrate.models.covariance.LIBORCorrelationModel
getLiborPeriodDiscretization, getParameterAsDouble, getTimeDiscretization
-
-
-
-
Constructor Detail
-
LIBORCorrelationModelThreeParameterExponentialDecay
public LIBORCorrelationModelThreeParameterExponentialDecay(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors, double a, double b, double c, boolean isCalibrateable)
-
-
Method Detail
-
getParameter
public RandomVariable[] getParameter()
- Specified by:
getParameter
in classLIBORCorrelationModel
-
getCloneWithModifiedParameter
public LIBORCorrelationModelThreeParameterExponentialDecay getCloneWithModifiedParameter(RandomVariable[] parameter)
- Specified by:
getCloneWithModifiedParameter
in classLIBORCorrelationModel
-
getFactorLoading
public double getFactorLoading(int timeIndex, int factor, int component)
- Specified by:
getFactorLoading
in classLIBORCorrelationModel
-
getCorrelation
public double getCorrelation(int timeIndex, int component1, int component2)
- Specified by:
getCorrelation
in classLIBORCorrelationModel
-
getNumberOfFactors
public int getNumberOfFactors()
- Specified by:
getNumberOfFactors
in classLIBORCorrelationModel
-
clone
public Object clone()
- Specified by:
clone
in classLIBORCorrelationModel
-
getCloneWithModifiedData
public LIBORCorrelationModel getCloneWithModifiedData(Map<String,Object> dataModified)
Description copied from class:LIBORCorrelationModel
Returns a clone of this model where the specified properties have been modified. Note that there is no guarantee that a model reacts on a specification of a properties in the parameter mapdataModified
. If data is provided which is ignored by the model no exception may be thrown. Furthermore the structure of the correlation model has to match changed data. A change of the time discretizations may requires a change in the parameters but this function will just insert the new time discretization without changing the parameters. An exception may not be thrown.- Specified by:
getCloneWithModifiedData
in classLIBORCorrelationModel
- Parameters:
dataModified
- Key-value-map of parameters to modify.- Returns:
- A clone of this model (or a new instance of this model if no parameter was modified).
-
-