## Class LIBORCorrelationModelThreeParameterExponentialDecay

• All Implemented Interfaces:
Serializable

public class LIBORCorrelationModelThreeParameterExponentialDecay
extends LIBORCorrelationModel
Simple 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} = b + (1-b) * \exp(-a |T_{i} - T_{j}| - c \max(T_{i},T_{j}))
Version:
1.0
Author:
Christian Fries
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
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
• ### Methods inherited from class java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### 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 class LIBORCorrelationModel
• #### getCloneWithModifiedParameter

public LIBORCorrelationModelThreeParameterExponentialDecay getCloneWithModifiedParameter​(RandomVariable[] parameter)
Specified by:
getCloneWithModifiedParameter in class LIBORCorrelationModel

public double getFactorLoading​(int timeIndex,
int factor,
int component)
Specified by:
getFactorLoading in class LIBORCorrelationModel
• #### getCorrelation

public double getCorrelation​(int timeIndex,
int component1,
int component2)
Specified by:
getCorrelation in class LIBORCorrelationModel
• #### getNumberOfFactors

public int getNumberOfFactors()
Specified by:
getNumberOfFactors in class LIBORCorrelationModel
• #### clone

public Object clone()
Specified by:
clone in class LIBORCorrelationModel
• #### 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 map dataModified. 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 class LIBORCorrelationModel
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).