public abstract class AbstractLIBORCovarianceModel extends Object
| Constructor and Description |
|---|
AbstractLIBORCovarianceModel(TimeDiscretizationInterface timeDiscretization,
TimeDiscretizationInterface liborPeriodDiscretization,
int numberOfFactors)
Constructor consuming time discretizations, which are handled by the super class.
|
| Modifier and Type | Method and Description |
|---|---|
RandomVariableInterface |
getCovariance(double time,
int component1,
int component2,
RandomVariableInterface[] realizationAtTimeIndex)
Returns the instantaneous covariance calculated from factor loadings.
|
RandomVariableInterface |
getCovariance(int timeIndex,
int component1,
int component2,
RandomVariableInterface[] realizationAtTimeIndex)
Returns the instantaneous covariance calculated from factor loadings.
|
RandomVariableInterface[] |
getFactorLoading(double time,
double component,
RandomVariableInterface[] realizationAtTimeIndex)
Return the factor loading for a given time and a given component.
|
RandomVariableInterface[] |
getFactorLoading(double time,
int component,
RandomVariableInterface[] realizationAtTimeIndex)
Return the factor loading for a given time and component index.
|
abstract RandomVariableInterface[] |
getFactorLoading(int timeIndex,
int component,
RandomVariableInterface[] realizationAtTimeIndex)
Return the factor loading for a given time index and component index.
|
abstract RandomVariableInterface |
getFactorLoadingPseudoInverse(int timeIndex,
int component,
int factor,
RandomVariableInterface[] realizationAtTimeIndex)
Returns the pseudo inverse of the factor matrix.
|
TimeDiscretizationInterface |
getLiborPeriodDiscretization()
The forward rate time discretization associated with this model (defines the components).
|
int |
getNumberOfFactors() |
TimeDiscretizationInterface |
getTimeDiscretization()
The simulation time discretization associated with this model.
|
public AbstractLIBORCovarianceModel(TimeDiscretizationInterface timeDiscretization, TimeDiscretizationInterface 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 RandomVariableInterface[] getFactorLoading(double time, double component, RandomVariableInterface[] realizationAtTimeIndex)
getTimeDiscretization
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 .time - 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 RandomVariableInterface[] getFactorLoading(double time, int component, RandomVariableInterface[] realizationAtTimeIndex)
getTimeDiscretization
such that t_i ≤ t .time - 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 RandomVariableInterface[] getFactorLoading(int timeIndex, int component, RandomVariableInterface[] realizationAtTimeIndex)
timeIndex - 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 RandomVariableInterface getFactorLoadingPseudoInverse(int timeIndex, int component, int factor, RandomVariableInterface[] realizationAtTimeIndex)
timeIndex - The time index at which factor loading inverse is requested.factor - The index of the factor j.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 RandomVariableInterface getCovariance(double time, int component1, int component2, RandomVariableInterface[] realizationAtTimeIndex)
time - 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 RandomVariableInterface getCovariance(int timeIndex, int component1, int component2, RandomVariableInterface[] realizationAtTimeIndex)
timeIndex - 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 TimeDiscretizationInterface getTimeDiscretization()
public TimeDiscretizationInterface getLiborPeriodDiscretization()
public int getNumberOfFactors()
Copyright © 2015. All rights reserved.