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 © 2017. All rights reserved.