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:
TermStructureCovarianceModelInterface
,TermStructureFactorLoadingsModelInterface
,TermStructureFactorLoadingsModelParametricInterface
,TermStructureTenorTimeScalingInterface
public class TermStructCovarianceModelFromLIBORCovarianceModelParametric extends TermStructureCovarianceModelParametric
- Version:
- 1.0
- Author:
- Christian Fries
-
-
Constructor Summary
Constructors Constructor Description TermStructCovarianceModelFromLIBORCovarianceModelParametric(TermStructureTenorTimeScalingInterface tenorTimeScalingModel, AbstractLIBORCovarianceModelParametric covarianceModel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TermStructureCovarianceModelParametric
clone()
TermStructureCovarianceModelParametric
getCloneWithModifiedParameters(double[] parameters)
Return an instance of this model using a new set of parameters.RandomVariable[]
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
getNumberOfFactors()
double[]
getParameter()
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 Detail
-
TermStructCovarianceModelFromLIBORCovarianceModelParametric
public TermStructCovarianceModelFromLIBORCovarianceModelParametric(TermStructureTenorTimeScalingInterface tenorTimeScalingModel, AbstractLIBORCovarianceModelParametric covarianceModel)
- Parameters:
tenorTimeScalingModel
- The model used for the tenor time re-scaling (providing the scaling coefficients).covarianceModel
- The model implementing AbstractLIBORCovarianceModelParametric.
-
-
Method Detail
-
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:TermStructureFactorLoadingsModelInterface
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 interfaceTermStructureFactorLoadingsModelParametricInterface
- Specified by:
getParameter
in interfaceTermStructureTenorTimeScalingInterface
- Specified by:
getParameter
in classTermStructureCovarianceModelParametric
- Returns:
- Parameter vector.
-
getCloneWithModifiedParameters
public TermStructureCovarianceModelParametric getCloneWithModifiedParameters(double[] parameters)
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 interfaceTermStructureFactorLoadingsModelParametricInterface
- Specified by:
getCloneWithModifiedParameters
in interfaceTermStructureTenorTimeScalingInterface
- Specified by:
getCloneWithModifiedParameters
in classTermStructureCovarianceModelParametric
- Parameters:
parameters
- The new set of parameters.- Returns:
- An instance of AbstractLIBORCovarianceModelParametric with modified parameters.
-
clone
public TermStructureCovarianceModelParametric clone()
- Specified by:
clone
in interfaceTermStructureTenorTimeScalingInterface
- Specified by:
clone
in classTermStructureCovarianceModelParametric
- Returns:
- A clone of this object.
-
-