public class LIBORCorrelationModelExponentialDecay extends LIBORCorrelationModel
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.LinearAlgebra.factorReduction(double[][], int),
LIBORCorrelationModelThreeParameterExponentialDecay,
Serialized Form| Constructor and Description |
|---|
LIBORCorrelationModelExponentialDecay(TimeDiscretization timeDiscretization,
TimeDiscretization liborPeriodDiscretization,
int numberOfFactors,
double a) |
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.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone() |
LIBORCorrelationModel |
getCloneWithModifiedData(Map<String,Object> dataModified)
Returns a clone of this model where the specified properties have been modified.
|
LIBORCorrelationModelExponentialDecay |
getCloneWithModifiedParameter(RandomVariable[] parameter) |
double |
getCorrelation(int timeIndex,
int component1,
int component2) |
double |
getFactorLoading(int timeIndex,
int factor,
int component) |
int |
getNumberOfFactors() |
RandomVariable[] |
getParameter() |
getLiborPeriodDiscretization, getParameterAsDouble, getTimeDiscretizationpublic LIBORCorrelationModelExponentialDecay(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors, double a, boolean isCalibrateable)
timeDiscretization - Simulation time dicretization. Not used.liborPeriodDiscretization - TenorFromArray time discretization, i.e., the \( T_{i} \)'s.numberOfFactors - Number \( n \) 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.public LIBORCorrelationModelExponentialDecay(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors, double a)
public LIBORCorrelationModelExponentialDecay getCloneWithModifiedParameter(RandomVariable[] parameter)
getCloneWithModifiedParameter in class LIBORCorrelationModelpublic Object clone()
clone in class LIBORCorrelationModelpublic double getFactorLoading(int timeIndex,
int factor,
int component)
getFactorLoading in class LIBORCorrelationModelpublic double getCorrelation(int timeIndex,
int component1,
int component2)
getCorrelation in class LIBORCorrelationModelpublic int getNumberOfFactors()
getNumberOfFactors in class LIBORCorrelationModelpublic RandomVariable[] getParameter()
getParameter in class LIBORCorrelationModelpublic LIBORCorrelationModel getCloneWithModifiedData(Map<String,Object> dataModified)
LIBORCorrelationModeldataModified. 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.getCloneWithModifiedData in class LIBORCorrelationModeldataModified - Key-value-map of parameters to modify.Copyright © 2019. All rights reserved.