Module net.finmath.lib
Class TermStructCovarianceModelFromLIBORCovarianceModelParametric
java.lang.Object
net.finmath.montecarlo.interestrate.models.covariance.TermStructureCovarianceModelParametric
net.finmath.montecarlo.interestrate.models.covariance.TermStructCovarianceModelFromLIBORCovarianceModelParametric
- All Implemented Interfaces:
TermStructureCovarianceModel
,TermStructureFactorLoadingsModel
,TermStructureFactorLoadingsModelParametric
,TermStructureTenorTimeScaling
public class TermStructCovarianceModelFromLIBORCovarianceModelParametric
extends TermStructureCovarianceModelParametric
- Version:
- 1.0
- Author:
- Christian Fries
-
Constructor Summary
ConstructorsConstructorDescriptionTermStructCovarianceModelFromLIBORCovarianceModelParametric(TermStructureTenorTimeScaling tenorTimeScalingModel, AbstractLIBORCovarianceModelParametric covarianceModel)
-
Method Summary
Modifier and TypeMethodDescriptionclone()
getCloneWithModifiedParameters(double[] parameters)
Return an instance of this model using a new set of parameters.getFactorLoading(double time, double periodStart, double periodEnd, TimeDiscretization periodDiscretization, RandomVariable[] realizationAtTimeIndex, TermStructureModel model)
Return the factor loading for a given time and a term structure period.int
double[]
Get the parameters of determining this parametric covariance model.double
getScaledTenorTime(double periodStart, double periodEnd)
Methods inherited from class net.finmath.montecarlo.interestrate.models.covariance.TermStructureCovarianceModelParametric
getCloneCalibrated
-
Constructor Details
-
TermStructCovarianceModelFromLIBORCovarianceModelParametric
public TermStructCovarianceModelFromLIBORCovarianceModelParametric(TermStructureTenorTimeScaling tenorTimeScalingModel, AbstractLIBORCovarianceModelParametric covarianceModel)- Parameters:
tenorTimeScalingModel
- The model used for the tenor time re-scaling (providing the scaling coefficients).covarianceModel
- The model implementing AbstractLIBORCovarianceModelParametric.
-
-
Method Details
-
getScaledTenorTime
public double getScaledTenorTime(double periodStart, double periodEnd) -
getFactorLoading
public RandomVariable[] getFactorLoading(double time, double periodStart, double periodEnd, TimeDiscretization periodDiscretization, RandomVariable[] realizationAtTimeIndex, TermStructureModel model)Description copied from interface:TermStructureFactorLoadingsModel
Return the factor loading for a given time and a term structure period. The factor loading is the vector fi such that the scalar product
fjfk = fj,1fk,1 + ... + fj,mfk,m
is the instantaneous covariance of the component j and k. With respect to simulation time t, this method uses a piece wise constant interpolation, i.e., it calculates t_i such that t_i is the largest point ingetTimeDiscretization
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 ingetTimeDiscretization
such that T_j ≤ T .- Parameters:
time
- The time t at which factor loading is requested.periodStart
- Period start of the component.periodEnd
- Period end of the component.periodDiscretization
- The period discretization associated with the realizationAtTimeIndexrealizationAtTimeIndex
- The realization of the stochastic process (may be used to implement local volatility/covariance/correlation models).model
- The term structure model.- Returns:
- The factor loading fi(t).
-
getNumberOfFactors
public int getNumberOfFactors()- Returns:
- the numberOfFactors
-
getParameter
public double[] getParameter()Description copied from class:TermStructureCovarianceModelParametric
Get the parameters of determining this parametric covariance model. The parameters are usually free parameters which may be used in calibration.- Specified by:
getParameter
in interfaceTermStructureFactorLoadingsModelParametric
- Specified by:
getParameter
in interfaceTermStructureTenorTimeScaling
- Specified by:
getParameter
in classTermStructureCovarianceModelParametric
- Returns:
- Parameter vector.
-
getCloneWithModifiedParameters
Description copied from class:TermStructureCovarianceModelParametric
Return an instance of this model using a new set of parameters. Note: To improve performance it is admissible to return the same instance of the object given that the parameters have not changed. Models should be immutable.- Specified by:
getCloneWithModifiedParameters
in interfaceTermStructureFactorLoadingsModelParametric
- Specified by:
getCloneWithModifiedParameters
in interfaceTermStructureTenorTimeScaling
- Specified by:
getCloneWithModifiedParameters
in classTermStructureCovarianceModelParametric
- Parameters:
parameters
- The new set of parameters.- Returns:
- An instance of AbstractLIBORCovarianceModelParametric with modified parameters.
-
clone
- Specified by:
clone
in interfaceTermStructureTenorTimeScaling
- Specified by:
clone
in classTermStructureCovarianceModelParametric
- Returns:
- A clone of this object.
-