Module net.finmath.lib
Class LIBORCorrelationModelExponentialDecay
java.lang.Object
net.finmath.montecarlo.interestrate.models.covariance.LIBORCorrelationModel
net.finmath.montecarlo.interestrate.models.covariance.LIBORCorrelationModelExponentialDecay
- All Implemented Interfaces:
Serializable
Simple 1-parametric correlation model given by R, where R is a factor reduced matrix
(see
LinearAlgebra.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} = \exp( -\max(a,0) | T_{i}-T_{j} | ) \]
For a more general model featuring three parameters see LIBORCorrelationModelThreeParameterExponentialDecay.- Version:
- 1.0
- Author:
- Christian Fries
- See Also:
LinearAlgebra.factorReduction(double[][], int),LIBORCorrelationModelThreeParameterExponentialDecay, Serialized Form
-
Constructor Summary
ConstructorsConstructorDescriptionLIBORCorrelationModelExponentialDecay(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors, double a)Create a correlation model with an exponentially decaying correlation structure and the given number of factors.LIBORCorrelationModelExponentialDecay(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors, double a, boolean isCalibrateable)Create a correlation model with an exponentially decaying correlation structure and the given number of factors. -
Method Summary
Modifier and TypeMethodDescriptionclone()getCloneWithModifiedData(Map<String,Object> dataModified)Returns a clone of this model where the specified properties have been modified.getCloneWithModifiedParameter(RandomVariable[] parameter)doublegetCorrelation(int timeIndex, int component1, int component2)doublegetFactorLoading(int timeIndex, int factor, int component)intMethods inherited from class net.finmath.montecarlo.interestrate.models.covariance.LIBORCorrelationModel
getLiborPeriodDiscretization, getParameterAsDouble, getTimeDiscretization
-
Constructor Details
-
LIBORCorrelationModelExponentialDecay
public LIBORCorrelationModelExponentialDecay(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors, double a, boolean isCalibrateable)Create a correlation model with an exponentially decaying correlation structure and the given number of factors.- Parameters:
timeDiscretization- Simulation time discretization. Not used in this model.liborPeriodDiscretization- Tenor time discretization, i.e., the \( T_{i} \)'s.numberOfFactors- Number \( m \) of factors to be used.a- Decay parameter. Should be positive. Negative values will be floored to 0.isCalibrateable- If true, the parameter will become a free parameter in a calibration (i.e., the parameter is available viagetParameter().
-
LIBORCorrelationModelExponentialDecay
public LIBORCorrelationModelExponentialDecay(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors, double a)Create a correlation model with an exponentially decaying correlation structure and the given number of factors. The parameter is fixed (not calibrateable).- Parameters:
timeDiscretization- Simulation time discretization. Not used in this model.liborPeriodDiscretization- Tenor time discretization, i.e., the \( T_{i} \)'s.numberOfFactors- Number \( m \) of factors to be used.a- Decay parameter. Should be positive. Negative values will be floored to 0.
-
-
Method Details
-
getCloneWithModifiedParameter
public LIBORCorrelationModelExponentialDecay getCloneWithModifiedParameter(RandomVariable[] parameter)- Specified by:
getCloneWithModifiedParameterin classLIBORCorrelationModel
-
clone
- Specified by:
clonein classLIBORCorrelationModel
-
getFactorLoading
public double getFactorLoading(int timeIndex, int factor, int component)- Specified by:
getFactorLoadingin classLIBORCorrelationModel
-
getCorrelation
public double getCorrelation(int timeIndex, int component1, int component2)- Specified by:
getCorrelationin classLIBORCorrelationModel
-
getNumberOfFactors
public int getNumberOfFactors()- Specified by:
getNumberOfFactorsin classLIBORCorrelationModel
-
getParameter
- Specified by:
getParameterin classLIBORCorrelationModel
-
getCloneWithModifiedData
Description copied from class:LIBORCorrelationModelReturns 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:
getCloneWithModifiedDatain 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).
-