-
- All Superinterfaces:
IndependentModelParameterProvider,ProcessModel,TermStructureModel
- All Known Subinterfaces:
LIBORMarketModel
- All Known Implementing Classes:
HullWhiteModel,HullWhiteModelWithConstantCoeff,HullWhiteModelWithDirectSimulation,HullWhiteModelWithShiftExtension,LIBORMarketModelFromCovarianceModel,LIBORMarketModelStandard
public interface LIBORModel extends TermStructureModel, IndependentModelParameterProvider
- Version:
- 1.0
- Author:
- Christian Fries
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description LIBORModelgetCloneWithModifiedData(Map<String,Object> dataModified)Create a new object implementing LIBORModel, using the new data.RandomVariablegetLIBOR(MonteCarloProcess process, int timeIndex, int liborIndex)Return the forward rate at a given timeIndex and for a given liborIndex.doublegetLiborPeriod(int timeIndex)The period start corresponding to a given forward rate discretization index.TimeDiscretizationgetLiborPeriodDiscretization()The tenor time discretization of the forward rate curve.intgetLiborPeriodIndex(double time)Same as java.util.Arrays.binarySearch(liborPeriodDiscretization,time).intgetNumberOfLibors()Get the number of LIBORs in the LIBOR discretization.-
Methods inherited from interface net.finmath.montecarlo.automaticdifferentiation.IndependentModelParameterProvider
getModelParameters
-
Methods inherited from interface net.finmath.montecarlo.model.ProcessModel
applyStateSpaceTransform, applyStateSpaceTransformInverse, getDrift, getFactorLoading, getInitialState, getNumberOfComponents, getNumberOfFactors, getNumeraire, getRandomVariableForConstant, getReferenceDate
-
Methods inherited from interface net.finmath.montecarlo.interestrate.TermStructureModel
getAnalyticModel, getDiscountCurve, getForwardDiscountBond, getForwardRate, getForwardRateCurve, getLIBOR
-
-
-
-
Method Detail
-
getLIBOR
RandomVariable getLIBOR(MonteCarloProcess process, int timeIndex, int liborIndex) throws CalculationException
Return the forward rate at a given timeIndex and for a given liborIndex.- Parameters:
process- The discretization process generating this model. The process provides call backs for TimeDiscretization and allows calls to getProcessValue for timeIndices less or equal the given one.timeIndex- The time index (associated withProcess.getTimeDiscretization().liborIndex- The forward rate index (associated withgetLiborPeriodDiscretization().- Returns:
- The forward rate.
- Throws:
CalculationException- Thrown if calculation failed.
-
getLiborPeriodDiscretization
TimeDiscretization getLiborPeriodDiscretization()
The tenor time discretization of the forward rate curve.- Returns:
- The tenor time discretization of the forward rate curve.
-
getNumberOfLibors
int getNumberOfLibors()
Get the number of LIBORs in the LIBOR discretization.- Returns:
- The number of LIBORs in the LIBOR discretization
-
getLiborPeriod
double getLiborPeriod(int timeIndex)
The period start corresponding to a given forward rate discretization index.- Parameters:
timeIndex- The index corresponding to a given time (interpretation is start of period)- Returns:
- The period start corresponding to a given forward rate discretization index.
-
getLiborPeriodIndex
int getLiborPeriodIndex(double time)
Same as java.util.Arrays.binarySearch(liborPeriodDiscretization,time). Will return a negative value if the time is not found, but then -index-1 corresponds to the index of the smallest time greater than the given one.- Parameters:
time- The period start.- Returns:
- The index corresponding to a given time (interpretation is start of period)
-
getCloneWithModifiedData
LIBORModel getCloneWithModifiedData(Map<String,Object> dataModified) throws CalculationException
Create a new object implementing LIBORModel, using the new data.- Specified by:
getCloneWithModifiedDatain interfaceProcessModel- Specified by:
getCloneWithModifiedDatain interfaceTermStructureModel- Parameters:
dataModified- A map with values to be used in constructions (keys are identical to parameter names of the constructors).- Returns:
- A new object implementing LIBORModel, using the new data.
- Throws:
CalculationException- Thrown if the valuation fails, specific cause may be available via thecause()method.
-
-