public abstract class AbstractLIBORCovarianceModel extends Object implements Serializable, LIBORCovarianceModel
| Constructor and Description |
|---|
AbstractLIBORCovarianceModel(TimeDiscretization timeDiscretization,
TimeDiscretization liborPeriodDiscretization,
int numberOfFactors)
Constructor consuming time discretizations, which are handled by the super class.
|
| Modifier and Type | Method and Description |
|---|---|
abstract AbstractLIBORCovarianceModelParametric |
getCloneWithModifiedData(Map<String,Object> dataModified)
Returns a clone of this model where the specified properties have been modified.
|
RandomVariable |
getCovariance(double time,
int component1,
int component2,
RandomVariable[] realizationAtTimeIndex)
Returns the instantaneous covariance calculated from factor loadings.
|
RandomVariable |
getCovariance(int timeIndex,
int component1,
int component2,
RandomVariable[] realizationAtTimeIndex)
Returns the instantaneous covariance calculated from factor loadings.
|
RandomVariable[] |
getFactorLoading(double time,
double component,
RandomVariable[] realizationAtTimeIndex)
Return the factor loading for a given time and a given component.
|
RandomVariable[] |
getFactorLoading(double time,
int component,
RandomVariable[] realizationAtTimeIndex)
Return the factor loading for a given time and component index.
|
abstract RandomVariable[] |
getFactorLoading(int timeIndex,
int component,
RandomVariable[] realizationAtTimeIndex)
Return the factor loading for a given time index and component index.
|
abstract RandomVariable |
getFactorLoadingPseudoInverse(int timeIndex,
int component,
int factor,
RandomVariable[] realizationAtTimeIndex)
Returns the pseudo inverse of the factor matrix.
|
TimeDiscretization |
getLiborPeriodDiscretization()
The forward rate time discretization associated with this model (defines the components).
|
int |
getNumberOfFactors() |
TimeDiscretization |
getTimeDiscretization()
The simulation time discretization associated with this model.
|
public AbstractLIBORCovarianceModel(TimeDiscretization timeDiscretization, TimeDiscretization liborPeriodDiscretization, int numberOfFactors)
timeDiscretization - The vector of simulation time discretization points.liborPeriodDiscretization - The vector of tenor discretization points.numberOfFactors - The number of factors to use (a factor reduction is performed)public RandomVariable[] getFactorLoading(double time, double component, RandomVariable[] realizationAtTimeIndex)
LIBORCovarianceModelgetTimeDiscretization
such that t_i ≤ t .
The component here, it given via a double T which may be associated with the LIBOR fixing date.
With respect to component time T, this method uses a piece wise constant interpolation, i.e.,
it calculates T_j such that T_j is the largest point in getTimeDiscretization
such that T_j ≤ T .getFactorLoading in interface LIBORCovarianceModeltime - The time t at which factor loading is requested.component - The component time (as a double associated with the fixing of the forward rate) Ti.realizationAtTimeIndex - The realization of the stochastic process (may be used to implement local volatility/covariance/correlation models).public RandomVariable[] getFactorLoading(double time, int component, RandomVariable[] realizationAtTimeIndex)
LIBORCovarianceModelgetTimeDiscretization
such that t_i ≤ t .getFactorLoading in interface LIBORCovarianceModeltime - The time t at which factor loading is requested.component - The index of the component i. Note that this class may have its own LIBOR time discretization and that this index refers to this discretization.realizationAtTimeIndex - The realization of the stochastic process (may be used to implement local volatility/covariance/correlation models).public abstract RandomVariable[] getFactorLoading(int timeIndex, int component, RandomVariable[] realizationAtTimeIndex)
LIBORCovarianceModelgetFactorLoading in interface LIBORCovarianceModeltimeIndex - The time index at which factor loading is requested.component - The index of the component i.realizationAtTimeIndex - The realization of the stochastic process (may be used to implement local volatility/covariance/correlation models).public abstract RandomVariable getFactorLoadingPseudoInverse(int timeIndex, int component, int factor, RandomVariable[] realizationAtTimeIndex)
LIBORCovarianceModelgetFactorLoadingPseudoInverse in interface LIBORCovarianceModeltimeIndex - The time index at which factor loading inverse is requested.component - The index of the component i.factor - The index of the factor j.realizationAtTimeIndex - The realization of the stochastic process (may be used to implement local volatility/covariance/correlation models).public RandomVariable getCovariance(double time, int component1, int component2, RandomVariable[] realizationAtTimeIndex)
LIBORCovarianceModelgetCovariance in interface LIBORCovarianceModeltime - The time t at which covariance is requested.component1 - Index of component i.component2 - Index of component j.realizationAtTimeIndex - The realization of the stochastic process.public RandomVariable getCovariance(int timeIndex, int component1, int component2, RandomVariable[] realizationAtTimeIndex)
LIBORCovarianceModelgetCovariance in interface LIBORCovarianceModeltimeIndex - The time index at which covariance is requested.component1 - Index of component i.component2 - Index of component j.realizationAtTimeIndex - The realization of the stochastic process.public TimeDiscretization getTimeDiscretization()
LIBORCovarianceModelgetTimeDiscretization in interface LIBORCovarianceModelpublic TimeDiscretization getLiborPeriodDiscretization()
LIBORCovarianceModelgetLiborPeriodDiscretization in interface LIBORCovarianceModelpublic int getNumberOfFactors()
getNumberOfFactors in interface LIBORCovarianceModelpublic abstract AbstractLIBORCovarianceModelParametric getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationException
LIBORCovarianceModeldataModified. If data is provided which is ignored by the model
no exception may be thrown.
Furthermore the structure of the covariance 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 interface LIBORCovarianceModeldataModified - Key-value-map of parameters to modify.CalculationException - Thrown when the model could not be created.Copyright © 2019. All rights reserved.